Open Valinwolf opened 5 years ago
Wed 2019-07-31 06:39:10 CDT 13404 0 0 6 present /usr/local/bin/construct
[root@srv1 ~]# coredumpctl info 13404
PID: 13404 (construct)
UID: 0 (root)
GID: 0 (root)
Signal: 6 (ABRT)
Timestamp: Wed 2019-07-31 06:39:09 CDT (32s ago)
Command Line: construct w0lfr.net
Executable: /usr/local/bin/construct
Control Group: /user.slice/user-0.slice/session-29.scope
Unit: session-29.scope
Slice: user-0.slice
Session: 29
Owner UID: 0 (root)
Boot ID: 4c58a31cc6f143c88b55b92d56eeb259
Machine ID: 5d0dba73f4cb422aadaddf07d43e6f79
Hostname: REDACTED
Storage: /var/lib/systemd/coredump/core.construct.0.4c58a31cc6f143c88b55b92d56eeb259.13404.1564573149000000.lz4
Message: Process 13404 (construct) of user 0 dumped core.
Stack trace of thread 13404:
#0 0x00007f2ad25c857f __GI_raise (libc.so.6)
#1 0x00007f2ad25b295e __GI_abort (libc.so.6)
#2 0x00007f2accb56274 MagickPanicSignalHandler (libGraphicsMagick-Q16.so.3)
#3 0x00007f2ad25c8600 .annobin_sigaction.c (libc.so.6)
perhaps this will help?
I also have the core dump generated by gdb after the crash available here.
After reverting the changes and updating the repository to the latest commit, it has become much worse. The segfault occurs before any output.
Things I've tried:
I don't know if this will help, but I checked it with Valgrind. The output was too long for a comment apparently, so I had to create a gist.
And here's the new GDB output:
Reading symbols from construct...done.
(gdb) set args w0lfr.net
(gdb) run
Starting program: /usr/local/bin/construct w0lfr.net
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff7d25200 in ircd::m::_hook_make_feature (members=...)
at m.cc:4109
#2 0x00007ffff7d30750 in ircd::m::hook::base::base (
this=0x7ffff7fcb5a0 <ircd::m::vm::conform_check_origin>, members=...)
at m.cc:3804
#3 0x00007ffff7d49521 in ircd::m::hook::hook<ircd::m::vm::eval&>::hook(std::initializer_list<ircd::json::member const> const&, std::function<void (ircd::m::event const&, ircd::m::vm::eval&)>) (
this=0x7ffff7fcb5a0 <ircd::m::vm::conform_check_origin>, feature=...,
function=...) at m/hook.h:115
#4 0x00007ffff7b67b30 in __static_initialization_and_destruction_0 (
__priority=65535, __initialize_p=1) at /usr/include/c++/8/new:169
#5 0x00007ffff7fe1dea in call_init (l=<optimized out>, argc=argc@entry=2,
argv=argv@entry=0x7fffffffe308, env=env@entry=0x7fffffffe320)
at dl-init.c:72
#6 0x00007ffff7fe1eea in call_init (env=0x7fffffffe320, argv=0x7fffffffe308,
argc=2, l=<optimized out>) at dl-init.c:30
#7 _dl_init (main_map=0x7ffff7ffe150, argc=2, argv=0x7fffffffe308,
env=0x7fffffffe320) at dl-init.c:119
#8 0x00007ffff7fd314a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#9 0x0000000000000002 in ?? ()
#10 0x00007fffffffe572 in ?? ()
--Type <RET> for more, q to quit, c to continue without paging--c
#11 0x00007fffffffe58b in ?? ()
#12 0x0000000000000000 in ?? ()
(gdb) frame 1
#1 0x00007ffff7d25200 in ircd::m::_hook_make_feature (members=...)
at m.cc:4109
4109 const ctx::critical_assertion ca;
(gdb) print buf
$1 = 0x0
(gdb) print m
Attempt to use a type name as an expression
(gdb) print iov
No symbol "iov" in current context.
(gdb) print ca
$2 = {theirs = false}
After updating to the other repo, here's the new GDB:
Reading symbols from construct...done.
(gdb) set args w0lfr.net
(gdb) run
Starting program: /usr/local/bin/construct w0lfr.net
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
warning: Loadable section ".note.gnu.property" outside of ELF segments
Program received signal SIGSEGV, Segmentation fault.
0x0000000000000000 in ?? ()
(gdb) bt
#0 0x0000000000000000 in ?? ()
#1 0x00007ffff7d2a170 in ircd::m::_hook_make_feature (members=...)
at m.cc:4109
#2 0x00007ffff7d356c0 in ircd::m::hook::base::base (
this=0x7ffff7fcb660 <ircd::m::vm::conform_check_origin>, members=...)
at m.cc:3804
#3 0x00007ffff7d4e491 in ircd::m::hook::hook<ircd::m::vm::eval&>::hook(std::initializer_list<ircd::json::member const> const&, std::function<void (ircd::m::event const&, ircd::m::vm::eval&)>) (
this=0x7ffff7fcb660 <ircd::m::vm::conform_check_origin>, feature=...,
function=...) at m/hook.h:115
#4 0x00007ffff7b60370 in __static_initialization_and_destruction_0 (
__priority=65535, __initialize_p=1) at /usr/include/c++/8/new:169
#5 0x00007ffff7fe1dea in call_init (l=<optimized out>, argc=argc@entry=2,
argv=argv@entry=0x7fffffffe308, env=env@entry=0x7fffffffe320)
at dl-init.c:72
#6 0x00007ffff7fe1eea in call_init (env=0x7fffffffe320, argv=0x7fffffffe308,
argc=2, l=<optimized out>) at dl-init.c:30
#7 _dl_init (main_map=0x7ffff7ffe150, argc=2, argv=0x7fffffffe308,
env=0x7fffffffe320) at dl-init.c:119
#8 0x00007ffff7fd314a in _dl_start_user () from /lib64/ld-linux-x86-64.so.2
#9 0x0000000000000002 in ?? ()
#10 0x00007fffffffe572 in ?? ()
#11 0x00007fffffffe58b in ?? ()
#12 0x0000000000000000 in ?? ()
(gdb) frame 1
#1 0x00007ffff7d2a170 in ircd::m::_hook_make_feature (members=...)
at m.cc:4109
4109 const ctx::critical_assertion ca;
(gdb) print buf
$1 = 0x0
(gdb) print m
Attempt to use a type name as an expression
(gdb) print iov
No symbol "iov" in current context.
(gdb) print ca
$2 = {theirs = false}
Hey, thanks for all the information to track down the issue. This it appears to be occurring at static initialization time. I have a feeling everything here is a build issue specific to the redhat/fedora platform and its toolchain, specifically the linker. Does your system have the ld.gold
linker? If so, is link-time optimization disabled? Link time optimization fails in a similar fashion to what is described here (#5)
Otherwise, this information is good, but additional details about the compiler and linker and any additional flags that may be included into the build would be most useful. If you're not sure, the best information to include here is a full output recording starting all the way back from ./autogen.sh
, through your ./configure
, the compilation, and linking, up to your attempt at execution (which you've already included). All of this is ideal to shed light on what is going on with this environment. (Example: from a CI log: https://ci.appveyor.com/project/jevolk/charybdis-x72h8?fullLog=true)
After reverting the changes and updating the repository to the latest commit, it has become much worse. The segfault occurs before any output.
Try pulling from my repository at https://github.com/jevolk/charybdis so you can get the latest. After pulling significant changes, to be sure of untainted results, I would advise cleaning your repository with either a simple make clean
; or if re-running ./configure
after a harder git clean -f -x -d
I have no idea about the ld.gold linker and don't even know how I would find out.
After running make uninstall && cd .. && rm -fr construct && git clone https://github.com/jevolk/charybdis.git construct && cd construct
and commenting the line containing key_query
like we talked about in the chat, here is the output you asked for:
[root@srv1 construct]# ./autogen.sh
*** Generating Charybdis build...
aclocal -I tools/m4 ... OK
libtoolize --force --copy ... libtoolize: putting auxiliary files in '.'.
libtoolize: copying file './ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'tools/m4'.
libtoolize: copying file 'tools/m4/libtool.m4'
libtoolize: copying file 'tools/m4/ltoptions.m4'
libtoolize: copying file 'tools/m4/ltsugar.m4'
libtoolize: copying file 'tools/m4/ltversion.m4'
libtoolize: copying file 'tools/m4/lt~obsolete.m4'
OK
autoheader ... OK
autoconf ... OK
automake --add-missing --copy ... configure.ac:5: installing './compile'
configure.ac:20: installing './config.guess'
configure.ac:20: installing './config.sub'
configure.ac:49: installing './install-sh'
configure.ac:49: installing './missing'
construct/Makefile.am: installing './depcomp'
OK
* 33482 ./configure
* Ready to configure Charybdis.
* Now run ./configure
[root@srv1 construct]# ./configure --prefix=/usr/local --with-included-rocksdb --enable-debug --with-assert=
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for automake... /usr/bin/automake
checking for aclocal... /usr/bin/aclocal
checking for autoheader... /usr/bin/autoheader
checking for as... /usr/bin/as
checking for rm... /usr/bin/rm
checking for cp... /usr/bin/cp
checking for mv... /usr/bin/mv
checking for ln... /usr/bin/ln
checking for touch... /usr/bin/touch
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking for gawk... gawk
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for mt... no
checking if : is a manifest tool... no
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... /usr/bin/rm: cannot remove 'conftest*': No such file or directory
yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... /usr/bin/rm: cannot remove 'conftest*': No such file or directory
no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... yes
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/bin/ld -m elf_x86_64
checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... /usr/bin/rm: cannot remove 'conftest*': No such file or directory
yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking whether g++ understands -c and -o together... yes
checking whether make sets $(MAKE)... yes
checking whether g++ supports C++17 features by default... no
checking whether g++ supports C++17 features with -std=gnu++17... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking whether make supports the include directive... yes (GNU style)
checking whether make supports nested variables... yes
checking dependency style of gcc... gcc3
checking dependency style of g++ -std=gnu++17... gcc3
checking whether to enable debugging... yes
checking Optimize for size; strip symbols; force no debugging... no
checking whether to explicitly enable assertions... no, but assertions are enabled anyway
checking whether to change the behavior of assertions... yes
checking whether to explicitly enable optimized build... no
checking whether to enable link-time optimization... no
checking whether to explicitly set the optimization level... no, but --enable-debug has implied level -Og
checking whether to explicitly set the logging level ceiling... no, but debug mode enables all log levels through DEBUG
checking whether to do a profile build... checking whether to disable precompiled headers... yes
checking whether to enable generic mode or tune for this host... no
checking whether to enable fully untuned mode... no
checking whether to prevent available third-party allocator libraries from being used... no
checking whether to disable warnings... checking GCC flag(s) -Wall... ok
checking GCC flag(s) -Wextra... ok
checking GCC flag(s) -Wpointer-arith... ok
checking GCC flag(s) -Wcast-align... ok
checking GCC flag(s) -Wcast-qual... ok
checking GCC flag(s) -Wfloat-equal... ok
checking GCC flag(s) -Wwrite-strings... ok
checking GCC flag(s) -Wparentheses... ok
checking GCC flag(s) -Wmissing-noreturn... ok
checking GCC flag(s) -Wundef... ok
checking GCC flag(s) -Wpacked... ok
checking GCC flag(s) -Wformat -Wformat-y2k -Wformat-nonliteral... ok
checking GCC flag(s) -Wstrict-aliasing=2 -Wstrict-overflow=5... ok
checking GCC flag(s) -Wdisabled-optimization... ok
checking GCC flag(s) -Winvalid-pch... ok
checking GCC flag(s) -Winit-self... ok
checking GCC flag(s) -Wuninitialized... ok
checking GCC flag(s) -Wunreachable-code... ok
checking GCC flag(s) -Wno-overloaded-virtual... ok
checking GCC flag(s) -Wnon-virtual-dtor... ok
checking GCC flag(s) -Wnoexcept... ok
checking GCC flag(s) -Wsized-deallocation... ok
checking GCC flag(s) -Wctor-dtor-privacy... ok
checking GCC flag(s) -Wsign-promo... ok
checking GCC flag(s) -Wsuggest-final-types... ok
checking GCC flag(s) -Wsuggest-final-methods... ok
checking GCC flag(s) -Wsuggest-override... ok
checking GCC flag(s) -Wtrampolines... ok
checking GCC flag(s) -Wduplicate-cond... no
checking GCC flag(s) -Wduplicate-branches... no
checking GCC flag(s) -Wrestrict... ok
checking GCC flag(s) -Wnull-dereference... ok
checking GCC flag(s) -Wplacement-new=2... ok
checking GCC flag(s) -Wundef... (cached) ok
checking GCC flag(s) -Wodr... ok
checking GCC flag(s) -Werror=return-type... ok
checking GCC flag(s) -Wno-missing-field-initializers... ok
checking GCC flag(s) -Wno-unused... ok
checking GCC flag(s) -Wno-unused-function... ok
checking GCC flag(s) -Wno-unused-label... ok
checking GCC flag(s) -Wno-unused-value... ok
checking GCC flag(s) -Wno-unused-variable... ok
checking GCC flag(s) -Wno-unused-parameter... ok
checking GCC flag(s) -Wno-terminate... ok
checking GCC flag(s) -Wno-endif-labels... ok
checking GCC flag(s) -Wlogical-op... ok
checking GCC flag(s) -Wformat-security... ok
checking GCC flag(s) -Wsuggest-attribute=format... ok
checking GCC flag(s) -Wstack-usage=16384... ok
checking GCC flag(s) -Wframe-larger-than=8192... ok
checking for library containing strerror... none required
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for pid_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for uid_t in sys/types.h... yes
checking for pid_t... (cached) yes
checking for intptr_t... yes
checking for uintptr_t... yes
checking for int128_t... no
checking for uint128_t... no
checking for __int128... yes
checking for __int128_t... yes
checking for __uint128_t... yes
checking for long double... yes
checking size of char... 1
checking size of short... 2
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of float... 4
checking size of double... 8
checking size of long double... 16
checking size of int128_t... 0
checking size of uint128_t... 0
checking size of __int128... 16
checking size of __int128_t... 16
checking size of __uint128_t... 16
checking for stdbool.h that conforms to C99... no
checking for _Bool... no
checking assert.h usability... yes
checking assert.h presence... yes
checking for assert.h... yes
checking stdarg.h usability... yes
checking stdarg.h presence... yes
checking for stdarg.h... yes
checking cstddef usability... yes
checking cstddef presence... yes
checking for cstddef... yes
checking cstdint usability... yes
checking cstdint presence... yes
checking for cstdint... yes
checking cstdlib usability... yes
checking cstdlib presence... yes
checking for cstdlib... yes
checking limits usability... yes
checking limits presence... yes
checking for limits... yes
checking type_traits usability... yes
checking type_traits presence... yes
checking for type_traits... yes
checking typeindex usability... yes
checking typeindex presence... yes
checking for typeindex... yes
checking variant usability... yes
checking variant presence... yes
checking for variant... yes
checking utility usability... yes
checking utility presence... yes
checking for utility... yes
checking functional usability... yes
checking functional presence... yes
checking for functional... yes
checking algorithm usability... yes
checking algorithm presence... yes
checking for algorithm... yes
checking numeric usability... yes
checking numeric presence... yes
checking for numeric... yes
checking cmath usability... yes
checking cmath presence... yes
checking for cmath... yes
checking cfenv usability... yes
checking cfenv presence... yes
checking for cfenv... yes
checking memory usability... yes
checking memory presence... yes
checking for memory... yes
checking exception usability... yes
checking exception presence... yes
checking for exception... yes
checking cerrno usability... yes
checking cerrno presence... yes
checking for cerrno... yes
checking system_error usability... yes
checking system_error presence... yes
checking for system_error... yes
checking map usability... yes
checking map presence... yes
checking for map... yes
checking set usability... yes
checking set presence... yes
checking for set... yes
checking list usability... yes
checking list presence... yes
checking for list... yes
checking stack usability... yes
checking stack presence... yes
checking for stack... yes
checking queue usability... yes
checking queue presence... yes
checking for queue... yes
checking deque usability... yes
checking deque presence... yes
checking for deque... yes
checking array usability... yes
checking array presence... yes
checking for array... yes
checking vector usability... yes
checking vector presence... yes
checking for vector... yes
checking forward_list usability... yes
checking forward_list presence... yes
checking for forward_list... yes
checking unordered_map usability... yes
checking unordered_map presence... yes
checking for unordered_map... yes
checking string usability... yes
checking string presence... yes
checking for string... yes
checking cstring usability... yes
checking cstring presence... yes
checking for cstring... yes
checking locale usability... yes
checking locale presence... yes
checking for locale... yes
checking codecvt usability... yes
checking codecvt presence... yes
checking for codecvt... yes
checking sstream usability... yes
checking sstream presence... yes
checking for sstream... yes
checking fstream usability... yes
checking fstream presence... yes
checking for fstream... yes
checking iostream usability... yes
checking iostream presence... yes
checking for iostream... yes
checking iosfwd usability... yes
checking iosfwd presence... yes
checking for iosfwd... yes
checking iomanip usability... yes
checking iomanip presence... yes
checking for iomanip... yes
checking cstdio usability... yes
checking cstdio presence... yes
checking for cstdio... yes
checking chrono usability... yes
checking chrono presence... yes
checking for chrono... yes
checking ctime usability... yes
checking ctime presence... yes
checking for ctime... yes
checking atomic usability... yes
checking atomic presence... yes
checking for atomic... yes
checking thread usability... yes
checking thread presence... yes
checking for thread... yes
checking mutex usability... yes
checking mutex presence... yes
checking for mutex... yes
checking shared_mutex usability... yes
checking shared_mutex presence... yes
checking for shared_mutex... yes
checking condition_variable usability... yes
checking condition_variable presence... yes
checking for condition_variable... yes
checking random usability... yes
checking random presence... yes
checking for random... yes
checking bitset usability... yes
checking bitset presence... yes
checking for bitset... yes
checking string_view usability... yes
checking string_view presence... yes
checking for string_view... yes
checking optional usability... yes
checking optional presence... yes
checking for optional... yes
checking new usability... yes
checking new presence... yes
checking for new... yes
checking regex usability... yes
checking regex presence... yes
checking for regex... yes
checking memory_resource usability... no
checking memory_resource presence... no
checking for memory_resource... no
checking filesystem usability... yes
checking filesystem presence... yes
checking for filesystem... yes
checking cxxabi.h usability... yes
checking cxxabi.h presence... yes
checking for cxxabi.h... yes
checking for unistd.h... (cached) yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking ifaddrs.h usability... yes
checking ifaddrs.h presence... yes
checking for ifaddrs.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking elf.h usability... yes
checking elf.h presence... yes
checking for elf.h... yes
checking link.h usability... yes
checking link.h presence... yes
checking for link.h... yes
checking for dlfcn.h... (cached) yes
checking for sys/types.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for sys/stat.h... (cached) yes
checking sys/statfs.h usability... yes
checking sys/statfs.h presence... yes
checking for sys/statfs.h... yes
checking sys/statvfs.h usability... yes
checking sys/statvfs.h presence... yes
checking for sys/statvfs.h... yes
checking sys/resource.h usability... yes
checking sys/resource.h presence... yes
checking for sys/resource.h... yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/mman.h usability... yes
checking sys/mman.h presence... yes
checking for sys/mman.h... yes
checking gnu/libc-version.h usability... yes
checking gnu/libc-version.h presence... yes
checking for gnu/libc-version.h... yes
checking sys/auxv.h usability... yes
checking sys/auxv.h presence... yes
checking for sys/auxv.h... yes
checking sys/eventfd.h usability... yes
checking sys/eventfd.h presence... yes
checking for sys/eventfd.h... yes
checking sys/inotify.h usability... yes
checking sys/inotify.h presence... yes
checking for sys/inotify.h... yes
checking sys/sysmacros.h usability... yes
checking sys/sysmacros.h presence... yes
checking for sys/sysmacros.h... yes
checking linux/aio_abi.h usability... yes
checking linux/aio_abi.h presence... yes
checking for linux/aio_abi.h... yes
checking linux/magic.h usability... yes
checking linux/magic.h presence... yes
checking for linux/magic.h... yes
checking linux/perf_event.h usability... yes
checking linux/perf_event.h presence... yes
checking for linux/perf_event.h... yes
checking linux/hw_breakpoint.h usability... yes
checking linux/hw_breakpoint.h presence... yes
checking for linux/hw_breakpoint.h... yes
checking windows.h usability... no
checking windows.h presence... no
checking for windows.h... no
checking winsock2.h usability... no
checking winsock2.h presence... no
checking for winsock2.h... no
checking ws2tcpip.h usability... no
checking ws2tcpip.h presence... no
checking for ws2tcpip.h... no
checking iphlpapi.h usability... no
checking iphlpapi.h presence... no
checking for iphlpapi.h... no
checking x86intrin.h usability... yes
checking x86intrin.h presence... yes
checking for x86intrin.h... yes
checking cpuid.h usability... yes
checking cpuid.h presence... yes
checking for cpuid.h... yes
checking malloc.h usability... yes
checking malloc.h presence... yes
checking for malloc.h... yes
checking valgrind/valgrind.h usability... no
checking valgrind/valgrind.h presence... no
checking for valgrind/valgrind.h... no
checking valgrind/memcheck.h usability... no
checking valgrind/memcheck.h presence... no
checking for valgrind/memcheck.h... no
checking valgrind/callgrind.h usability... no
checking valgrind/callgrind.h presence... no
checking for valgrind/callgrind.h... no
checking experimental/string_view usability... yes
checking experimental/string_view presence... yes
checking for experimental/string_view... yes
checking experimental/optional usability... yes
checking experimental/optional presence... yes
checking for experimental/optional... yes
checking experimental/memory_resource usability... yes
checking experimental/memory_resource presence... yes
checking for experimental/memory_resource... yes
checking for strlcpy... no
checking for strlcat... no
checking for strnlen... yes
checking for snprintf... yes
checking for vsnprintf... yes
checking for posix_fadvise... yes
checking for pwritev2... yes
checking for preadv2... yes
checking for library containing dlinfo... -ldl
checking for library containing nanosleep... none required
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking whether to modify database directory... no
checking whether to modify logdir... no
checking whether to modify moduledir... no
checking whether to modify webappdir... no
checking for SODIUM... yes
checking openssl/err.h usability... yes
checking openssl/err.h presence... yes
checking for openssl/err.h... yes
checking openssl/asn1.h usability... yes
checking openssl/asn1.h presence... yes
checking for openssl/asn1.h... yes
checking openssl/sha.h usability... yes
checking openssl/sha.h presence... yes
checking for openssl/sha.h... yes
checking openssl/hmac.h usability... yes
checking openssl/hmac.h presence... yes
checking for openssl/hmac.h... yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking openssl/ec.h usability... yes
checking openssl/ec.h presence... yes
checking for openssl/ec.h... yes
checking openssl/rsa.h usability... yes
checking openssl/rsa.h presence... yes
checking for openssl/rsa.h... yes
checking openssl/x509.h usability... yes
checking openssl/x509.h presence... yes
checking for openssl/x509.h... yes
checking openssl/evp.h usability... yes
checking openssl/evp.h presence... yes
checking for openssl/evp.h... yes
checking openssl/ripemd.h usability... yes
checking openssl/ripemd.h presence... yes
checking for openssl/ripemd.h... yes
checking openssl/dh.h usability... yes
checking openssl/dh.h presence... yes
checking for openssl/dh.h... yes
checking openssl/tls1.h usability... yes
checking openssl/tls1.h presence... yes
checking for openssl/tls1.h... yes
checking for SSL_version in -lssl... yes
checking for OPENSSL_init in -lcrypto... yes
checking magic.h usability... yes
checking magic.h presence... yes
checking for magic.h... yes
checking for magic_version in -lmagic... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for zlibVersion in -lz... yes
checking lz4.h usability... no
checking lz4.h presence... no
checking for lz4.h... no
checking for LZ4_versionNumber in -llz4... no
checking snappy.h usability... no
checking snappy.h presence... no
checking for snappy.h... no
checking for snappy_compress in -lsnappy... no
checking for GMP... no
checking Magick++.h usability... no
checking Magick++.h presence... no
checking for Magick++.h... no
checking for GraphicsMagickPP... no
checking wand/wand_api.h usability... yes
checking wand/wand_api.h presence... yes
checking for wand/wand_api.h... yes
checking for GraphicsMagickWand... yes
checking magick/api.h usability... yes
checking magick/api.h presence... yes
checking for magick/api.h... yes
checking for GraphicsMagick... yes
checking whether you asked to use boost sources included here... no
checking for boostlib >= 1.66... yes
checking whether the Boost::ASIO library is available... yes
checking for main in -lboost_system... yes
checking whether the Boost::System library is available... yes
checking for exit in -lboost_system... yes
checking whether the Boost::Filesystem library is available... yes
checking for exit in -lboost_filesystem... yes
checking whether the Boost::Coroutine library is available... yes
checking for exit in -lboost_coroutine... yes
checking whether the Boost::Context library is available... yes
checking for exit in -lboost_context... yes
checking whether the Boost::Chrono library is available... yes
checking for exit in -lboost_chrono... yes
checking whether you asked to use the RocksDB included here... yes
checking whether to use shared RocksDB... yes
configure: Shared RocksDB linkage requires running charybdis with an intact build directory
*** Building RocksDB...
git submodule update --init deps/rocksdb ... Submodule 'rocksdb' (https://github.com/facebook/rocksdb.git) registered for path 'deps/rocksdb'
Cloning into '/root/construct/deps/rocksdb'...
Submodule path 'deps/rocksdb': checked out 'cfdea78fdeb9332cb7688da7f23790e36254d4e3'
yes
cd deps/rocksdb ... yes
git fetch --tags ... yes
git checkout v5.16.6 ... HEAD is now at cfdea78fd Update history and version for 5.16.6 release.
yes
make -j2 shared_lib ... GEN util/build_version.cc
GEN util/build_version.cc
CC shared-objects/cache/clock_cache.o
CC shared-objects/cache/lru_cache.o
CC shared-objects/cache/sharded_cache.o
CC shared-objects/db/builder.o
CC shared-objects/db/c.o
CC shared-objects/db/column_family.o
CC shared-objects/db/compacted_db_impl.o
CC shared-objects/db/compaction.o
CC shared-objects/db/compaction_iterator.o
CC shared-objects/db/compaction_job.o
CC shared-objects/db/compaction_picker.o
CC shared-objects/db/compaction_picker_universal.o
CC shared-objects/db/convenience.o
CC shared-objects/db/db_filesnapshot.o
CC shared-objects/db/db_impl.o
CC shared-objects/db/db_impl_compaction_flush.o
CC shared-objects/db/db_impl_debug.o
CC shared-objects/db/db_impl_experimental.o
CC shared-objects/db/db_impl_files.o
CC shared-objects/db/db_impl_open.o
CC shared-objects/db/db_impl_readonly.o
CC shared-objects/db/db_impl_write.o
CC shared-objects/db/db_info_dumper.o
CC shared-objects/db/db_iter.o
CC shared-objects/db/dbformat.o
CC shared-objects/db/error_handler.o
CC shared-objects/db/event_helpers.o
CC shared-objects/db/experimental.o
CC shared-objects/db/external_sst_file_ingestion_job.o
CC shared-objects/db/file_indexer.o
CC shared-objects/db/flush_job.o
CC shared-objects/db/flush_scheduler.o
CC shared-objects/db/forward_iterator.o
CC shared-objects/db/internal_stats.o
CC shared-objects/db/logs_with_prep_tracker.o
CC shared-objects/db/log_reader.o
CC shared-objects/db/log_writer.o
CC shared-objects/db/malloc_stats.o
CC shared-objects/db/memtable.o
CC shared-objects/db/memtable_list.o
CC shared-objects/db/merge_helper.o
CC shared-objects/db/merge_operator.o
CC shared-objects/db/range_del_aggregator.o
CC shared-objects/db/repair.o
CC shared-objects/db/snapshot_impl.o
CC shared-objects/db/table_cache.o
CC shared-objects/db/table_properties_collector.o
CC shared-objects/db/transaction_log_impl.o
CC shared-objects/db/version_builder.o
CC shared-objects/db/version_edit.o
CC shared-objects/db/version_set.o
CC shared-objects/db/wal_manager.o
CC shared-objects/db/write_batch.o
CC shared-objects/db/write_batch_base.o
CC shared-objects/db/write_controller.o
CC shared-objects/db/write_thread.o
CC shared-objects/env/env.o
CC shared-objects/env/env_chroot.o
CC shared-objects/env/env_encryption.o
CC shared-objects/env/env_hdfs.o
CC shared-objects/env/env_posix.o
CC shared-objects/env/io_posix.o
CC shared-objects/env/mock_env.o
CC shared-objects/memtable/alloc_tracker.o
CC shared-objects/memtable/hash_cuckoo_rep.o
CC shared-objects/memtable/hash_linklist_rep.o
CC shared-objects/memtable/hash_skiplist_rep.o
CC shared-objects/memtable/skiplistrep.o
CC shared-objects/memtable/vectorrep.o
CC shared-objects/memtable/write_buffer_manager.o
CC shared-objects/monitoring/histogram.o
CC shared-objects/monitoring/histogram_windowing.o
CC shared-objects/monitoring/instrumented_mutex.o
CC shared-objects/monitoring/iostats_context.o
CC shared-objects/monitoring/perf_context.o
CC shared-objects/monitoring/perf_level.o
CC shared-objects/monitoring/statistics.o
CC shared-objects/monitoring/thread_status_impl.o
CC shared-objects/monitoring/thread_status_updater.o
CC shared-objects/monitoring/thread_status_updater_debug.o
CC shared-objects/monitoring/thread_status_util.o
CC shared-objects/monitoring/thread_status_util_debug.o
CC shared-objects/options/cf_options.o
CC shared-objects/options/db_options.o
CC shared-objects/options/options.o
CC shared-objects/options/options_helper.o
CC shared-objects/options/options_parser.o
CC shared-objects/options/options_sanity_check.o
CC shared-objects/port/port_posix.o
CC shared-objects/port/stack_trace.o
CC shared-objects/table/adaptive_table_factory.o
CC shared-objects/table/block.o
CC shared-objects/table/block_based_filter_block.o
CC shared-objects/table/block_based_table_builder.o
CC shared-objects/table/block_based_table_factory.o
CC shared-objects/table/block_based_table_reader.o
CC shared-objects/table/block_builder.o
CC shared-objects/table/block_fetcher.o
CC shared-objects/table/block_prefix_index.o
CC shared-objects/table/bloom_block.o
CC shared-objects/table/cuckoo_table_builder.o
CC shared-objects/table/cuckoo_table_factory.o
CC shared-objects/table/cuckoo_table_reader.o
CC shared-objects/table/data_block_hash_index.o
CC shared-objects/table/data_block_footer.o
CC shared-objects/table/flush_block_policy.o
CC shared-objects/table/format.o
CC shared-objects/table/full_filter_block.o
CC shared-objects/table/get_context.o
CC shared-objects/table/index_builder.o
CC shared-objects/table/iterator.o
CC shared-objects/table/merging_iterator.o
CC shared-objects/table/meta_blocks.o
CC shared-objects/table/partitioned_filter_block.o
CC shared-objects/table/persistent_cache_helper.o
CC shared-objects/table/plain_table_builder.o
CC shared-objects/table/plain_table_factory.o
CC shared-objects/table/plain_table_index.o
CC shared-objects/table/plain_table_key_coding.o
CC shared-objects/table/plain_table_reader.o
CC shared-objects/table/sst_file_writer.o
CC shared-objects/table/table_properties.o
CC shared-objects/tools/trace_analyzer_tool.o
CC shared-objects/table/two_level_iterator.o
CC shared-objects/tools/dump/db_dump_tool.o
CC shared-objects/util/arena.o
CC shared-objects/util/auto_roll_logger.o
CC shared-objects/util/bloom.o
CC shared-objects/util/build_version.o
CC shared-objects/util/coding.o
CC shared-objects/util/compaction_job_stats_impl.o
CC shared-objects/util/comparator.o
CC shared-objects/util/compression_context_cache.o
CC shared-objects/util/concurrent_arena.o
CC shared-objects/util/crc32c.o
CC shared-objects/util/delete_scheduler.o
CC shared-objects/util/dynamic_bloom.o
CC shared-objects/util/event_logger.o
CC shared-objects/util/file_reader_writer.o
CC shared-objects/util/file_util.o
CC shared-objects/util/filename.o
CC shared-objects/util/filter_policy.o
CC shared-objects/util/hash.o
CC shared-objects/util/log_buffer.o
CC shared-objects/util/murmurhash.o
CC shared-objects/util/random.o
CC shared-objects/util/rate_limiter.o
CC shared-objects/util/slice.o
CC shared-objects/util/sst_file_manager_impl.o
CC shared-objects/util/status.o
CC shared-objects/util/string_util.o
CC shared-objects/util/sync_point.o
CC shared-objects/util/sync_point_impl.o
CC shared-objects/util/thread_local.o
CC shared-objects/util/threadpool_imp.o
CC shared-objects/util/trace_replay.o
CC shared-objects/util/transaction_test_util.o
CC shared-objects/util/xxhash.o
CC shared-objects/utilities/backupable/backupable_db.o
CC shared-objects/utilities/blob_db/blob_compaction_filter.o
CC shared-objects/utilities/blob_db/blob_db.o
CC shared-objects/utilities/blob_db/blob_db_impl.o
CC shared-objects/utilities/blob_db/blob_db_impl_filesnapshot.o
CC shared-objects/utilities/blob_db/blob_file.o
CC shared-objects/utilities/blob_db/blob_log_format.o
CC shared-objects/utilities/blob_db/blob_log_reader.o
CC shared-objects/utilities/blob_db/blob_log_writer.o
CC shared-objects/utilities/cassandra/cassandra_compaction_filter.o
CC shared-objects/utilities/cassandra/format.o
CC shared-objects/utilities/cassandra/merge_operator.o
CC shared-objects/utilities/checkpoint/checkpoint_impl.o
CC shared-objects/utilities/compaction_filters/remove_emptyvalue_compactionfilter.o
CC shared-objects/utilities/convenience/info_log_finder.o
CC shared-objects/utilities/date_tiered/date_tiered_db_impl.o
CC shared-objects/utilities/debug.o
CC shared-objects/utilities/document/document_db.o
CC shared-objects/utilities/document/json_document.o
CC shared-objects/utilities/document/json_document_builder.o
CC shared-objects/utilities/env_mirror.o
CC shared-objects/utilities/env_timed.o
CC shared-objects/utilities/geodb/geodb_impl.o
CC shared-objects/utilities/leveldb_options/leveldb_options.o
CC shared-objects/utilities/lua/rocks_lua_compaction_filter.o
CC shared-objects/utilities/memory/memory_util.o
CC shared-objects/utilities/merge_operators/max.o
CC shared-objects/utilities/merge_operators/put.o
CC shared-objects/utilities/merge_operators/string_append/stringappend.o
CC shared-objects/utilities/merge_operators/string_append/stringappend2.o
CC shared-objects/utilities/merge_operators/uint64add.o
CC shared-objects/utilities/merge_operators/bytesxor.o
CC shared-objects/utilities/option_change_migration/option_change_migration.o
CC shared-objects/utilities/options/options_util.o
CC shared-objects/utilities/persistent_cache/block_cache_tier.o
CC shared-objects/utilities/persistent_cache/block_cache_tier_file.o
CC shared-objects/utilities/persistent_cache/block_cache_tier_metadata.o
CC shared-objects/utilities/persistent_cache/persistent_cache_tier.o
CC shared-objects/utilities/persistent_cache/volatile_tier_impl.o
CC shared-objects/utilities/redis/redis_lists.o
CC shared-objects/utilities/simulator_cache/sim_cache.o
CC shared-objects/utilities/spatialdb/spatial_db.o
CC shared-objects/utilities/table_properties_collectors/compact_on_deletion_collector.o
CC shared-objects/utilities/trace/file_trace_reader_writer.o
CC shared-objects/utilities/transactions/optimistic_transaction.o
CC shared-objects/utilities/transactions/optimistic_transaction_db_impl.o
CC shared-objects/utilities/transactions/pessimistic_transaction.o
CC shared-objects/utilities/transactions/pessimistic_transaction_db.o
CC shared-objects/utilities/transactions/snapshot_checker.o
CC shared-objects/utilities/transactions/transaction_base.o
CC shared-objects/utilities/transactions/transaction_db_mutex_impl.o
CC shared-objects/utilities/transactions/transaction_lock_mgr.o
CC shared-objects/utilities/transactions/transaction_util.o
CC shared-objects/utilities/transactions/write_prepared_txn.o
CC shared-objects/utilities/transactions/write_prepared_txn_db.o
CC shared-objects/utilities/transactions/write_unprepared_txn.o
CC shared-objects/utilities/transactions/write_unprepared_txn_db.o
CC shared-objects/utilities/ttl/db_ttl_impl.o
CC shared-objects/utilities/write_batch_with_index/write_batch_with_index.o
CC shared-objects/utilities/write_batch_with_index/write_batch_with_index_internal.o
CC shared-objects/tools/ldb_cmd.o
CC shared-objects/tools/ldb_tool.o
CC shared-objects/tools/sst_dump_tool.o
CC shared-objects/utilities/blob_db/blob_dump_tool.o
g++ -Wl,--no-as-needed -shared -Wl,-soname -Wl,librocksdb.so.5.16 -faligned-new -DHAVE_ALIGNED_NEW -fno-rtti -g -W -Wextra -Wall -Wsign-compare -Wshadow -Wunused-parameter -Werror -I. -I./include -std=c++11 -DROCKSDB_PLATFORM_POSIX -DROCKSDB_LIB_IO_POSIX -fPIC -ftls-model=initial-exec -Wno-error -DOS_LINUX -fno-builtin-memcmp -DROCKSDB_FALLOCATE_PRESENT -DZLIB -DROCKSDB_MALLOC_USABLE_SIZE -DROCKSDB_PTHREAD_ADAPTIVE_MUTEX -DROCKSDB_BACKTRACE -DROCKSDB_RANGESYNC_PRESENT -DROCKSDB_SCHED_GETCPU_PRESENT -march=native -DHAVE_SSE42 -DHAVE_PCLMUL -DROCKSDB_SUPPORT_THREAD_LOCAL -isystem ./third-party/gtest-1.7.0/fused-src -O2 -fno-omit-frame-pointer -momit-leaf-frame-pointer -DNDEBUG -Woverloaded-virtual -Wnon-virtual-dtor -Wno-missing-field-initializers -fPIC shared-objects/cache/clock_cache.o shared-objects/cache/lru_cache.o shared-objects/cache/sharded_cache.o shared-objects/db/builder.o shared-objects/db/c.o shared-objects/db/column_family.o shared-objects/db/compacted_db_impl.o shared-objects/db/compaction.o shared-objects/db/compaction_iterator.o shared-objects/db/compaction_job.o shared-objects/db/compaction_picker.o shared-objects/db/compaction_picker_universal.o shared-objects/db/convenience.o shared-objects/db/db_filesnapshot.o shared-objects/db/db_impl.o shared-objects/db/db_impl_compaction_flush.o shared-objects/db/db_impl_debug.o shared-objects/db/db_impl_experimental.o shared-objects/db/db_impl_files.o shared-objects/db/db_impl_open.o shared-objects/db/db_impl_readonly.o shared-objects/db/db_impl_write.o shared-objects/db/db_info_dumper.o shared-objects/db/db_iter.o shared-objects/db/dbformat.o shared-objects/db/error_handler.o shared-objects/db/event_helpers.o shared-objects/db/experimental.o shared-objects/db/external_sst_file_ingestion_job.o shared-objects/db/file_indexer.o shared-objects/db/flush_job.o shared-objects/db/flush_scheduler.o shared-objects/db/forward_iterator.o shared-objects/db/internal_stats.o shared-objects/db/logs_with_prep_tracker.o shared-objects/db/log_reader.o shared-objects/db/log_writer.o shared-objects/db/malloc_stats.o shared-objects/db/memtable.o shared-objects/db/memtable_list.o shared-objects/db/merge_helper.o shared-objects/db/merge_operator.o shared-objects/db/range_del_aggregator.o shared-objects/db/repair.o shared-objects/db/snapshot_impl.o shared-objects/db/table_cache.o shared-objects/db/table_properties_collector.o shared-objects/db/transaction_log_impl.o shared-objects/db/version_builder.o shared-objects/db/version_edit.o shared-objects/db/version_set.o shared-objects/db/wal_manager.o shared-objects/db/write_batch.o shared-objects/db/write_batch_base.o shared-objects/db/write_controller.o shared-objects/db/write_thread.o shared-objects/env/env.o shared-objects/env/env_chroot.o shared-objects/env/env_encryption.o shared-objects/env/env_hdfs.o shared-objects/env/env_posix.o shared-objects/env/io_posix.o shared-objects/env/mock_env.o shared-objects/memtable/alloc_tracker.o shared-objects/memtable/hash_cuckoo_rep.o shared-objects/memtable/hash_linklist_rep.o shared-objects/memtable/hash_skiplist_rep.o shared-objects/memtable/skiplistrep.o shared-objects/memtable/vectorrep.o shared-objects/memtable/write_buffer_manager.o shared-objects/monitoring/histogram.o shared-objects/monitoring/histogram_windowing.o shared-objects/monitoring/instrumented_mutex.o shared-objects/monitoring/iostats_context.o shared-objects/monitoring/perf_context.o shared-objects/monitoring/perf_level.o shared-objects/monitoring/statistics.o shared-objects/monitoring/thread_status_impl.o shared-objects/monitoring/thread_status_updater.o shared-objects/monitoring/thread_status_updater_debug.o shared-objects/monitoring/thread_status_util.o shared-objects/monitoring/thread_status_util_debug.o shared-objects/options/cf_options.o shared-objects/options/db_options.o shared-objects/options/options.o shared-objects/options/options_helper.o shared-objects/options/options_parser.o shared-objects/options/options_sanity_check.o shared-objects/port/port_posix.o shared-objects/port/stack_trace.o shared-objects/table/adaptive_table_factory.o shared-objects/table/block.o shared-objects/table/block_based_filter_block.o shared-objects/table/block_based_table_builder.o shared-objects/table/block_based_table_factory.o shared-objects/table/block_based_table_reader.o shared-objects/table/block_builder.o shared-objects/table/block_fetcher.o shared-objects/table/block_prefix_index.o shared-objects/table/bloom_block.o shared-objects/table/cuckoo_table_builder.o shared-objects/table/cuckoo_table_factory.o shared-objects/table/cuckoo_table_reader.o shared-objects/table/data_block_hash_index.o shared-objects/table/data_block_footer.o shared-objects/table/flush_block_policy.o shared-objects/table/format.o shared-objects/table/full_filter_block.o shared-objects/table/get_context.o shared-objects/table/index_builder.o shared-objects/table/iterator.o shared-objects/table/merging_iterator.o shared-objects/table/meta_blocks.o shared-objects/table/partitioned_filter_block.o shared-objects/table/persistent_cache_helper.o shared-objects/table/plain_table_builder.o shared-objects/table/plain_table_factory.o shared-objects/table/plain_table_index.o shared-objects/table/plain_table_key_coding.o shared-objects/table/plain_table_reader.o shared-objects/table/sst_file_writer.o shared-objects/table/table_properties.o shared-objects/tools/trace_analyzer_tool.o shared-objects/table/two_level_iterator.o shared-objects/tools/dump/db_dump_tool.o shared-objects/util/arena.o shared-objects/util/auto_roll_logger.o shared-objects/util/bloom.o shared-objects/util/build_version.o shared-objects/util/coding.o shared-objects/util/compaction_job_stats_impl.o shared-objects/util/comparator.o shared-objects/util/compression_context_cache.o shared-objects/util/concurrent_arena.o shared-objects/util/crc32c.o shared-objects/util/delete_scheduler.o shared-objects/util/dynamic_bloom.o shared-objects/util/event_logger.o shared-objects/util/file_reader_writer.o shared-objects/util/file_util.o shared-objects/util/filename.o shared-objects/util/filter_policy.o shared-objects/util/hash.o shared-objects/util/log_buffer.o shared-objects/util/murmurhash.o shared-objects/util/random.o shared-objects/util/rate_limiter.o shared-objects/util/slice.o shared-objects/util/sst_file_manager_impl.o shared-objects/util/status.o shared-objects/util/string_util.o shared-objects/util/sync_point.o shared-objects/util/sync_point_impl.o shared-objects/util/thread_local.o shared-objects/util/threadpool_imp.o shared-objects/util/trace_replay.o shared-objects/util/transaction_test_util.o shared-objects/util/xxhash.o shared-objects/utilities/backupable/backupable_db.o shared-objects/utilities/blob_db/blob_compaction_filter.o shared-objects/utilities/blob_db/blob_db.o shared-objects/utilities/blob_db/blob_db_impl.o shared-objects/utilities/blob_db/blob_db_impl_filesnapshot.o shared-objects/utilities/blob_db/blob_file.o shared-objects/utilities/blob_db/blob_log_format.o shared-objects/utilities/blob_db/blob_log_reader.o shared-objects/utilities/blob_db/blob_log_writer.o shared-objects/utilities/cassandra/cassandra_compaction_filter.o shared-objects/utilities/cassandra/format.o shared-objects/utilities/cassandra/merge_operator.o shared-objects/utilities/checkpoint/checkpoint_impl.o shared-objects/utilities/compaction_filters/remove_emptyvalue_compactionfilter.o shared-objects/utilities/convenience/info_log_finder.o shared-objects/utilities/date_tiered/date_tiered_db_impl.o shared-objects/utilities/debug.o shared-objects/utilities/document/document_db.o shared-objects/utilities/document/json_document.o shared-objects/utilities/document/json_document_builder.o shared-objects/utilities/env_mirror.o shared-objects/utilities/env_timed.o shared-objects/utilities/geodb/geodb_impl.o shared-objects/utilities/leveldb_options/leveldb_options.o shared-objects/utilities/lua/rocks_lua_compaction_filter.o shared-objects/utilities/memory/memory_util.o shared-objects/utilities/merge_operators/max.o shared-objects/utilities/merge_operators/put.o shared-objects/utilities/merge_operators/string_append/stringappend.o shared-objects/utilities/merge_operators/string_append/stringappend2.o shared-objects/utilities/merge_operators/uint64add.o shared-objects/utilities/merge_operators/bytesxor.o shared-objects/utilities/option_change_migration/option_change_migration.o shared-objects/utilities/options/options_util.o shared-objects/utilities/persistent_cache/block_cache_tier.o shared-objects/utilities/persistent_cache/block_cache_tier_file.o shared-objects/utilities/persistent_cache/block_cache_tier_metadata.o shared-objects/utilities/persistent_cache/persistent_cache_tier.o shared-objects/utilities/persistent_cache/volatile_tier_impl.o shared-objects/utilities/redis/redis_lists.o shared-objects/utilities/simulator_cache/sim_cache.o shared-objects/utilities/spatialdb/spatial_db.o shared-objects/utilities/table_properties_collectors/compact_on_deletion_collector.o shared-objects/utilities/trace/file_trace_reader_writer.o shared-objects/utilities/transactions/optimistic_transaction.o shared-objects/utilities/transactions/optimistic_transaction_db_impl.o shared-objects/utilities/transactions/pessimistic_transaction.o shared-objects/utilities/transactions/pessimistic_transaction_db.o shared-objects/utilities/transactions/snapshot_checker.o shared-objects/utilities/transactions/transaction_base.o shared-objects/utilities/transactions/transaction_db_mutex_impl.o shared-objects/utilities/transactions/transaction_lock_mgr.o shared-objects/utilities/transactions/transaction_util.o shared-objects/utilities/transactions/write_prepared_txn.o shared-objects/utilities/transactions/write_prepared_txn_db.o shared-objects/utilities/transactions/write_unprepared_txn.o shared-objects/utilities/transactions/write_unprepared_txn_db.o shared-objects/utilities/ttl/db_ttl_impl.o shared-objects/utilities/write_batch_with_index/write_batch_with_index.o shared-objects/utilities/write_batch_with_index/write_batch_with_index_internal.o shared-objects/tools/ldb_cmd.o shared-objects/tools/ldb_tool.o shared-objects/tools/sst_dump_tool.o shared-objects/utilities/blob_db/blob_dump_tool.o -lpthread -lrt -lz -o librocksdb.so.5.16.6
ln -fs librocksdb.so.5.16.6 librocksdb.so
ln -fs librocksdb.so.5.16.6 librocksdb.so.5
ln -fs librocksdb.so.5.16.6 librocksdb.so.5.16
yes
cd /root/construct ... yes
checking whether you asked to use the JS engine included here... no
checking for _Z11JS_ShutDownv in -lmozjs-52... no
configure: WARNING: Unable to find JS engine (SpiderMonkey 52) package. Try apt-get install libmozjs-dev
checking jemalloc/jemalloc.h usability... yes
checking jemalloc/jemalloc.h presence... yes
checking for jemalloc/jemalloc.h... yes
checking for malloc in -ljemalloc... yes
checking whether to enable use of jemalloc... no
checking whether custom branding is requested... no
checking whether a custom version is requested... no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating include/ircd/Makefile
config.status: creating construct/Makefile
config.status: creating ircd/Makefile
config.status: creating modules/Makefile
config.status: creating share/Makefile
config.status: creating include/ircd/config.h
config.status: executing libtool commands
/usr/bin/rm: cannot remove 'libtoolT': No such file or directory
config.status: executing depfiles commands
Configured ........................ construct 1.0-dev
Version ........................... 7364a4d9b
Configuration time ................ Wed Jul 31 17:49:56 CDT 2019
Host OS ........................... linux-gnu
Compiler .......................... g++ -std=gnu++17
Compiler flags (CXXFLAGS) ......... -pipe -march=native -Og -falign-functions -g -ggdb -fvar-tracking -fvar-tracking-assignments -frecord-gcc-switches -fstack-protector-explicit -fvisibility-inlines-hidden -fnothrow-opt -fno-threadsafe-statics -fsigned-char
Building boost .................... no
Building RocksDB .................. yes
Building JS (SpiderMonkey) ........ no
Ziplinks (libz) support ........... yes
LZ4 support ....................... no
Snappy support .................... no
GNU MP support .................... no
Sodium support .................... yes
SSL support ....................... yes
Crypto support .................... yes
Magic support ..................... yes
ImageMagick support ............... yes
Linux AIO support ................. yes
IPv6 support ...................... yes
Precompiled headers ............... yes
Developer debug ................... yes
Developer assert .................. yes ()
Optimized build ................... no
Link-time optimized ............... no
Optimization level ................ g
Generic binary .................... no
Untuned binary .................... no
Memory allocator .................. standard
Logging level ..................... 7
Installing into ................... /usr/local
* Ready to build construct
* Now run 'make'
I have the build output, but it was too long for a comment so I have created a gist for it.
This time it's randomly working... finally. No idea what changed.
Possibly related to #84
Possibly related to #84
You're probably right, even though my local copy of the repo was not that old it sounds like the shoe fits. Probably needs further investigation, but hard to do that since it's working now...
The whole initial bootstrap process on first execution is not very robust to failures or partial completion. If the initial bootstrap doesn't fully complete (crash), the next execution won't know to continue/try again.
While I don't think it's feasible to track down the specific issue exactly as reported here as it appears to be related to #84, I think this issue can be salvaged rather than closed to fix the fact that bootstrap needs some more resiliency without requiring the user to rm -rf
their database directory when problems do occur; otherwise very very bad things happen.
Fair enough.
OS:
Fedora 29 64-bit (Linux REDACTED 5.1.18-200.fc29.x86_64 #1 SMP Mon Jul 15 16:09:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux)
GCC:GDB
Per Jason's request I tried the following:
ircd/ircd.cc on line 127, change 256_KiB to 8_MiB
after that modification: