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

codegen test fails on SLES with higher libgcc version

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • codegen
    • None

    Description

      On a SLES 15 withlibgcc_s1-13.2.1+git7813-150000.1.6.1.x86_64 version, codegen-test fails with following crash:

      *** SIGABRT (@0x3162e) received by PID 202286 (TID 0x7f71d1bfe700) from PID 202286; stack trace: ***
          @     0x7f71d41f5910 (unknown)
          @     0x7f71d2725d2b __GI_raise
          @     0x7f71d27273e5 __GI_abort
          @     0x7f71d28d78d7 (unknown)
          @     0x7f71d28f1009 __deregister_frame
          @     0x7f71d4d6c9e0 llvm::RTDyldMemoryManager::deregisterEHFrames()
          @     0x7f71d4976b02 llvm::MCJIT::~MCJIT()
          @     0x7f71d4977241 llvm::MCJIT::~MCJIT()
          @     0x7f71d481c222 std::default_delete<>::operator()()
          @     0x7f71d481c12d std::unique_ptr<>::~unique_ptr()
          @     0x7f71d481bfaf kudu::codegen::JITWrapper::~JITWrapper()
          @     0x7f71d4835f34 kudu::codegen::RowProjectorFunctions::~RowProjectorFunctions()
          @     0x7f71d4835f50 kudu::codegen::RowProjectorFunctions::~RowProjectorFunctions()
          @           0x46297c kudu::RefCountedThreadSafe<>::DeleteInternal()
          @           0x45f3d1 kudu::DefaultRefCountedThreadSafeTraits<>::Destruct()
          @           0x45acb0 kudu::RefCountedThreadSafe<>::Release()
          @     0x7f71d480c191 kudu::codegen::CodeCache::EvictionCallback::EvictedEntry()
          @     0x7f71d3c5e4bb kudu::(anonymous namespace)::CacheShard<>::FreeEntry()
          @     0x7f71d3c60b31 kudu::(anonymous namespace)::CacheShard<>::Insert()
          @     0x7f71d3c5fb73 kudu::(anonymous namespace)::ShardedCache<>::Insert()
          @     0x7f71d480bab6 kudu::codegen::CodeCache::AddEntry()
          @     0x7f71d4811fea kudu::codegen::(anonymous namespace)::CompilationTask::RunWithStatus()
          @     0x7f71d4811a64 kudu::codegen::(anonymous namespace)::CompilationTask::Run()
          @     0x7f71d481288a _ZZN4kudu7codegen18CompilationManager19RequestRowProjectorEPKNS_6SchemaES4_PSt10unique_ptrINS0_12RowProjectorESt14default_deleteIS6_EEENKUlvE_clEv
          @     0x7f71d4813e72 _ZNSt17_Function_handlerIFvvEZN4kudu7codegen18CompilationManager19RequestRowProjectorEPKNS1_6SchemaES6_PSt10unique_ptrINS2_12RowProjectorESt14default_deleteIS8_EEEUlvE_E9_M_invokeERKSt9_Any_data
          @           0x452430 std::function<>::operator()()
          @     0x7f71d3d98648 kudu::ThreadPool::DispatchThread()
          @     0x7f71d3d98ee9 _ZZN4kudu10ThreadPool12CreateThreadEvENKUlvE_clEv
          @     0x7f71d3d9a6a0 _ZNSt17_Function_handlerIFvvEZN4kudu10ThreadPool12CreateThreadEvEUlvE_E9_M_invokeERKSt9_Any_data
          @           0x452430 std::function<>::operator()()
          @     0x7f71d3d89482 kudu::Thread::SuperviseThread()
          @     0x7f71d41e96ea start_thread
      

      From the stack frame, it seems that __deregister_frame is probably being fed some invalid input that is already de-initialised before calling the __deregister_frame.
      We seem to be hitting this assert:

      https://github.com/gcc-mirror/gcc/blob/65e2c932019b4e36d7c1d49952dc006fa7419a3d/libgcc/unwind-dw2-fde.c#L291C11-L291C11

      gcc_assert (in_shutdown || ob);

      Attachments

        Issue Links

          Activity

            People

              araina Ashwani Raina
              araina Ashwani Raina
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated: