[PATCH] D70447: [Support] ThreadPoolExecutor fixes for Windows/MinGW

Stella Stamenova via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 2 11:27:14 PDT 2021


stella.stamenova added subscribers: int3, stella.stamenova.
stella.stamenova added a comment.
Herald added a subscriber: dexonsmith.

@thakis @int3 I spent some more time trying to diagnose the recent issues with lld and macho and I am starting to think that the problem is the race condition that this change was meant to fix. I am not sure why this is no longer "fixed", but the callstack and intermittent failure on Windows in debug seem to match the issue:

  2021-09-02T10:02:23.0425691Z # command stderr:
  2021-09-02T10:02:23.0426059Z PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace.
  2021-09-02T10:02:23.0426250Z 
  2021-09-02T10:02:23.0426749Z  #0 0x00007ff7b76e2b50 std::_Iterator_base12::_Orphan_me_unlocked(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xmemory:1202:0
  2021-09-02T10:02:23.0427127Z 
  2021-09-02T10:02:23.0427617Z  #1 0x00007ff7b76e2afa std::_Iterator_base12::_Orphan_me_locked(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xmemory:1215:0
  2021-09-02T10:02:23.0427973Z 
  2021-09-02T10:02:23.0428466Z  #2 0x00007ff7b76e2c7f std::_Iterator_base12::_Orphan_me_v2(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xmemory:1163:0
  2021-09-02T10:02:23.0428826Z 
  2021-09-02T10:02:23.0429346Z  #3 0x00007ff7b76e0484 std::_Iterator_base12::~_Iterator_base12(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xmemory:1132:0
  2021-09-02T10:02:23.0429687Z 
  2021-09-02T10:02:23.0430356Z  #4 0x00007ff7b7fd6884 std::_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class lld::macho::LinkEditSection *>>>::~_Vector_const_iterator<class std::_Vector_val<struct std::_Simple_types<class lld::macho::LinkEditSection *>>>(void) (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0xb96884)
  2021-09-02T10:02:23.0430896Z 
  2021-09-02T10:02:23.0431547Z  #5 0x00007ff7b7fd68e4 std::_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class lld::macho::LinkEditSection *>>>::~_Vector_iterator<class std::_Vector_val<struct std::_Simple_types<class lld::macho::LinkEditSection *>>>(void) (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0xb968e4)
  2021-09-02T10:02:23.0432069Z 
  2021-09-02T10:02:23.0432514Z  #6 0x00007ff7b7fbc19b <lambda_c567cf7a7ebd717fdb2c0648998ac190>::~<lambda_c567cf7a7ebd717fdb2c0648998ac190> (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0xb7c19b)
  2021-09-02T10:02:23.0432837Z 
  2021-09-02T10:02:23.0433372Z  #7 0x00007ff7b7fc0c5b std::_Func_impl_no_alloc<<lambda_c567cf7a7ebd717fdb2c0648998ac190>,void>::~_Func_impl_no_alloc<<lambda_c567cf7a7ebd717fdb2c0648998ac190>,void> (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0xb80c5b)
  2021-09-02T10:02:23.0433797Z 
  2021-09-02T10:02:23.0434285Z  #8 0x00007ff7b7fc0c88 std::_Func_impl_no_alloc<<lambda_c567cf7a7ebd717fdb2c0648998ac190>,void>::`scalar deleting destructor' (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0xb80c88)
  2021-09-02T10:02:23.0434602Z 
  2021-09-02T10:02:23.0435172Z  #9 0x00007ff7b7fc0c1a std::_Func_impl_no_alloc<<lambda_c567cf7a7ebd717fdb2c0648998ac190>,void>::_Delete_this C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional:937:0
  2021-09-02T10:02:23.0435580Z 
  2021-09-02T10:02:23.0436062Z #10 0x00007ff7b76e33dc std::_Func_class<void>::_Tidy(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional:1047:0
  2021-09-02T10:02:23.0436411Z 
  2021-09-02T10:02:23.0436906Z #11 0x00007ff7b76dff84 std::_Func_class<void>::~_Func_class<void>(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional:973:0
  2021-09-02T10:02:23.0437251Z 
  2021-09-02T10:02:23.0437656Z #12 0x00007ff7b76e01b4 std::function<(void)>::~function<(void)>(void) (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0x2a01b4)
  2021-09-02T10:02:23.0437895Z 
  2021-09-02T10:02:23.0438626Z #13 0x00007ff7bc4bfc57 <lambda_723fb941fa194635c9894a04ff313f20>::~<lambda_723fb941fa194635c9894a04ff313f20> (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0x507fc57)
  2021-09-02T10:02:23.0438947Z 
  2021-09-02T10:02:23.0439491Z #14 0x00007ff7bc4bfeeb std::_Func_impl_no_alloc<<lambda_723fb941fa194635c9894a04ff313f20>,void>::~_Func_impl_no_alloc<<lambda_723fb941fa194635c9894a04ff313f20>,void> (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0x507feeb)
  2021-09-02T10:02:23.0439895Z 
  2021-09-02T10:02:23.0440372Z #15 0x00007ff7bc4bff18 std::_Func_impl_no_alloc<<lambda_723fb941fa194635c9894a04ff313f20>,void>::`scalar deleting destructor' (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0x507ff18)
  2021-09-02T10:02:23.0440692Z 
  2021-09-02T10:02:23.0441276Z #16 0x00007ff7bc4bfeaa std::_Func_impl_no_alloc<<lambda_723fb941fa194635c9894a04ff313f20>,void>::_Delete_this C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional:937:0
  2021-09-02T10:02:23.0441677Z 
  2021-09-02T10:02:23.0442156Z #17 0x00007ff7b76e33dc std::_Func_class<void>::_Tidy(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional:1047:0
  2021-09-02T10:02:23.0442511Z 
  2021-09-02T10:02:23.0443008Z #18 0x00007ff7b76dff84 std::_Func_class<void>::~_Func_class<void>(void) C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional:973:0
  2021-09-02T10:02:23.0443354Z 
  2021-09-02T10:02:23.0443755Z #19 0x00007ff7b76e01b4 std::function<(void)>::~function<(void)>(void) (d:\a\_work\1\b\llvm\debug\bin\ld64.lld.exe+0x2a01b4)
  2021-09-02T10:02:23.0443993Z 
  2021-09-02T10:02:23.0444469Z #20 0x00007ff7bc4bf6c5 llvm::parallel::detail::`anonymous namespace'::ThreadPoolExecutor::work D:\a\_work\1\s\llvm-project\llvm\lib\Support\Parallel.cpp:109:0
  2021-09-02T10:02:23.0444779Z 
  2021-09-02T10:02:23.0445211Z #21 0x00007ff7bc4bf8c9 <lambda_c9242529638530c2607074b83d50e781>::operator() D:\a\_work\1\s\llvm-project\llvm\lib\Support\Parallel.cpp:52:0
  2021-09-02T10:02:23.0445508Z 
  2021-09-02T10:02:23.0446030Z #22 0x00007ff7bc4c2bd4 std::invoke<<lambda_c9242529638530c2607074b83d50e781> > C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\type_traits:1586:0
  2021-09-02T10:02:23.0446394Z 
  2021-09-02T10:02:23.0446941Z #23 0x00007ff7bc4c1a78 std::thread::_Invoke<std::tuple<<lambda_c9242529638530c2607074b83d50e781> >,0> C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\thread:56:0
  2021-09-02T10:02:23.0447320Z 
  2021-09-02T10:02:23.0447640Z #24 0x00007ffa4e434c7c (C:\Windows\SYSTEM32\ucrtbased.dll+0x74c7c)
  2021-09-02T10:02:23.0447794Z 
  2021-09-02T10:02:23.0448087Z #25 0x00007ffa610e7974 (C:\Windows\System32\KERNEL32.DLL+0x17974)
  2021-09-02T10:02:23.0448290Z 
  2021-09-02T10:02:23.0448628Z #26 0x00007ffa61a2a2f1 (C:\Windows\SYSTEM32\ntdll.dll+0x5a2f1)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70447/new/

https://reviews.llvm.org/D70447



More information about the llvm-commits mailing list