[ https://issues.apache.org/jira/browse/KUDU-3580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17849554#comment-17849554 ]
Yingchun Lai commented on KUDU-3580: ------------------------------------ As one of the failed test stderr shown: {code:java} /tmp/dist-test-taskmkjf08/build-support/run-test.sh: line 133: 1893 Illegal instruction (core dumped) $test_command "$@" --test_timeout_after $KUDU_TEST_TIMEOUT 2>&1 1894 Done | $addr2line_filter 1895 Done | $pipe_cmd > $LOGFILE {code} The error is "Illegal instruction", It was caused the Kudu binaries and their linked libraries are built on the machine which supports some new CPU instruction set (e.g. AVX512) and the CPU instruction set is enabled when build them, but deploy the binaries to some old machine which doesn't support the CPU instruction set, then this error is threw. > Kudu servers and tests crash after linking RocksDB library > ---------------------------------------------------------- > > Key: KUDU-3580 > URL: https://issues.apache.org/jira/browse/KUDU-3580 > Project: Kudu > Issue Type: Bug > Components: master, test, tserver > Reporter: Yingchun Lai > Priority: Critical > > 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: > {code:java} > (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) {code} > 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] -- This message was sent by Atlassian Jira (v8.20.10#820010)