Uploaded image for project: 'IMPALA'
  1. IMPALA
  2. IMPALA-4929

Unsafe concurrent access to LlvmCodeGen::fn_refs_map_ can lead to unresolved symbols in LLVM

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Blocker
    • Resolution: Fixed
    • Impala 2.8.0
    • Impala 2.8.0
    • Backend

    Description

      (gdb) bt
      #0 0x0000003aa7c32635 in raise () from /lib64/libc.so.6
      #1 0x0000003aa7c33e15 in abort () from /lib64/libc.so.6
      #2 0x00007fb2c22fa8f4 in google::DumpStackTraceAndExit () at src/utilities.cc:147
      #3 0x00007fb2c22f33fd in google::LogMessage::Fail () at src/logging.cc:1315
      #4 0x00007fb2c22f514d in google::LogMessage::SendToLog (this=<optimized out>) at src/logging.cc:1269
      #5 0x00007fb2c22f2f0a in google::LogMessage::Flush (this=this@entry=0x7fad53e7c6a0) at src/logging.cc:1138
      #6 0x00007fb2c22f5c0e in google::LogMessageFatal::~LogMessageFatal (this=0x7fad53e7c6a0, __in_chrg=<optimized out>) at src/logging.cc:1836
      #7 0x0000000000e7bbf8 in impala::LlvmCodegenHandleError (user_data=<optimized out>, reason=..., gen_crash_diag=<optimized out>) at /export/ldb/online/impala_gitlab/be/src/codegen/llvm-codegen.cc:109
      #8 0x0000000001d6b983 in llvm::report_fatal_error(llvm::Twine const&, bool) ()
      #9 0x0000000001afc0ef in llvm::RuntimeDyldImpl::resolveExternalSymbols() ()
      #10 0x0000000001afc114 in llvm::RuntimeDyldImpl::resolveRelocations() ()
      #11 0x00000000019a1b2f in llvm::MCJIT::finalizeLoadedModules() ()
      #12 0x00000000019a1eb1 in llvm::MCJIT::finalizeObject() ()
      #13 0x0000000000e83e65 in impala::LlvmCodeGen::FinalizeModule (this=0x7faa32e8cd00) at /export/ldb/online/impala_gitlab/be/src/codegen/llvm-codegen.cc:931
      #14 0x0000000001076daf in impala::PlanFragmentExecutor::OptimizeLlvmModule (this=this@entry=0x2b3465b8) at /export/ldb/online/impala_gitlab/be/src/runtime/plan-fragment-executor.cc:268
      #15 0x000000000107823a in impala::PlanFragmentExecutor::OpenInternal (this=this@entry=0x2b3465b8) at /export/ldb/online/impala_gitlab/be/src/runtime/plan-fragment-executor.cc:320
      #16 0x0000000001079a88 in impala::PlanFragmentExecutor::Open (this=this@entry=0x2b3465b8) at /export/ldb/online/impala_gitlab/be/src/runtime/plan-fragment-executor.cc:296
      #17 0x0000000001073330 in impala::FragmentInstanceState::Exec (this=this@entry=0x2b346300) at /export/ldb/online/impala_gitlab/be/src/runtime/fragment-instance-state.cc:65
      #18 0x000000000107be1f in impala::QueryExecMgr::ExecFInstance (this=0x930f660, fis=0x2b346300) at /export/ldb/online/impala_gitlab/be/src/runtime/query-exec-mgr.cc:109
      #19 0x0000000000e25e20 in boost::function0<void>::operator() (this=0x7fad53e7da60) at /usr/local/include/boost/function/function_template.hpp:767
      #20 impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*) (name=..., category=..., functor=..., thread_started=0x7fb26cd33f20)
      at /export/ldb/online/impala_gitlab/be/src/util/thread.cc:317
      #21 0x0000000000e26784 in boost::_bi::list4<boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::_bi::value<boost::function<void()> >, boost::_bi::value<impala::Promise<long int>> >::operator()<void (const std::basic_string<char>&, const std::basic_string<char>&, boost::function<void()>, impala::Promise<long int>), boost::_bi::list0> (
      f=@0x7fa1162dd1b8: 0xe25c00 <impala::Thread::SuperviseThread(std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>*)>, a=<synthetic pointer>, this=0x7fa1162dd1c0)
      at /usr/local/include/boost/bind/bind.hpp:457
      #22 boost::_bi::bind_t<void, void (std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>), boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>> > >::operator()() (this=0x7fa1162dd1b8) at /usr/local/include/boost/bind/bind_template.hpp:20
      #23 boost::detail::thread_data<boost::_bi::bind_t<void, void (std::string const&, std::string const&, boost::function<void ()>, impala::Promise<long>), boost::_bi::list4<boost::_bi::value<std::string>, boost::_bi::value<std::string>, boost::_bi::value<boost::function<void ()> >, boost::_bi::value<impala::Promise<long>> > > >::run() (this=0x7fa1162dd000) at /usr/local/include/boost/thread/detail/thread.hpp:116
      #24 0x00007fb2c516b0f5 in thread_proxy () from /export/ldb/servers/impala-snapshot/lib_C/libboost_thread.so.1.57.0
      #25 0x0000003aa84079d1 in start_thread () from /lib64/libpthread.so.0
      #26 0x0000003aa7ce886d in clone () from /lib64/libc.so.6
      (gdb)

      Attachments

        1. error_query.sql
          17 kB
          fishing

        Activity

          People

            kwho Michael Ho
            fish0515_impala_49b1 fishing
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: