Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-3580

Kudu servers and tests crash after linking RocksDB library

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • None
    • None
    • master, test, tserver
    • None

    Description

      After this commit [1] is merged, it's reported that the binaries (both test binaries, kudukudu-tserverkudu-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

      Attachments

        Activity

          People

            Unassigned Unassigned
            laiyingchun Yingchun Lai
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: