Description
After this commit [1] is merged, it's reported that the binaries (both test binaries, kudu, kudu-tserver, kudu-master results in SIGILL with coredumps).
GDB shows the following stack:
(gdb) run Starting program: /home/aserbin/tmp/kudu [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Program received signal SIGILL, Illegal instruction. std::function<rocksdb::Status (rocksdb::ConfigOptions const&, std::string const&, std::string const&, void*)>::swap(std::function<rocksdb::Status (rocksdb::ConfigOptions const&, std::string const&, std::string const&, void*)>&) (__x=..., this=0x7fffffffe0e0) at /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/std_function.h:548 548 /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/std_function.h: No such file or directory. (gdb) bt #0 std::function<rocksdb::Status (rocksdb::ConfigOptions const&, std::string const&, std::string const&, void*)>::swap(std::function<rocksdb::Status (rocksdb::ConfigOptions const&, std::string const&, std::string const&, void*)>&) ( __x=..., this=0x7fffffffe0e0) at /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/std_function.h:548 #1 std::function<rocksdb::Status (rocksdb::ConfigOptions const&, std::string const&, std::string const&, void*)>::operator=(std::function<rocksdb::Status (rocksdb::ConfigOptions const&, std::string const&, std::string const&, void*)> const&) (__x=..., this=0x7fffffffe108) at /opt/rh/devtoolset-8/root/usr/include/c++/8/bits/std_function.h:463 #2 rocksdb::OptionTypeInfo::SetParseFunc(std::function<rocksdb::Status (rocksdb::ConfigOptions const&, std::string const&, std::string const&, void*)> const&) (f=..., this=0x7fffffffe100) at /root/Projects/kudu/thirdparty/src/rocksdb-7.7.3/include/rocksdb/utilities/options_type.h:591 #3 rocksdb::OptionTypeInfo::AsCustomSharedPtr<rocksdb::SystemClock> ( offset=offset@entry=0, ovt=ovt@entry=rocksdb::OptionVerificationType::kByName, flags=flags@entry=rocksdb::OptionTypeFlags::kDontSerialize) at /root/Projects/kudu/thirdparty/src/rocksdb-7.7.3/include/rocksdb/utilities/options_type.h:497 #4 0x0000000000ee8c5e in __static_initialization_and_destruction_0(int, int) [clone .constprop.449] () at /root/Projects/kudu/thirdparty/src/rocksdb-7.7.3/env/env.cc:1267 #5 0x0000000003ca23cd in __libc_csu_init () #6 0x00007ffff5a69c18 in __libc_start_main (main=0xed8de0 <main>, argc=1, argv=0x7fffffffe4f8, init=0x3ca2380 <__libc_csu_init>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe4e8) at ../csu/libc-start.c:266 #7 0x0000000000f8f4c4 in _start () at /root/Projects/kudu/src/kudu/tools/tool_main.cc:306 (gdb)
And an example of results where SIGILL is observed (just built the binaries with the top of the master branch at 634d967a0c620db2b3932c09b1fe13be1dc70f44): http://dist-test.cloudera.org/job?job_id=root.1712768932.261750
1. https://github.com/apache/kudu/commit/4da8b20070a7c0070a1829dfd50fdc78cad88b6a