http://bugs.llvm.org/show_bug.cgi?id=32459

            Bug ID: 32459
           Summary: apparent thread race condition crash in lld 4.0.0
           Product: lld
           Version: unspecified
          Hardware: PC
                OS: FreeBSD
            Status: NEW
          Severity: normal
          Priority: P
         Component: ELF
          Assignee: unassignedb...@nondot.org
          Reporter: ema...@freebsd.org
                CC: llvm-bugs@lists.llvm.org

Sadly I do not have more details -- this happened while building FreeBSD world
with LLD 4.0.0, which is now included in the base system, and the LLD used by
the build does not have debug enabled. I'm submitting this bug in case we see
additional cases of this; I'll try to test with tsan, and presume this will be
closed as "not reproducible" after sufficient time if we don't see it again.

I restarted the build and it completed successfully, including the link that
crashed on the first attempt -- so one crash out of thousands of invocations.

Version:

% ld.lld --version
LLD 4.0.0 (FreeBSD 297347) (compatible with GNU linkers)

Crash location:

(lldb) bt
* thread #1, name = 'ld.lld', stop reason = signal SIGSEGV
  * frame #0: 0x00000000019b2cb9 ld`_pthread_setspecific + 121
    frame #1: 0x000000000040dcf4
ld`_ZNSt3__114__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEZZN3lld8internal18ThreadPoolExecutorC1EjENKUlvE_clEvEUlvE_EEEEEPvSD_
+ 52
    frame #2: 0x00000000019b8d35 ld`thread_start + 325

(lldb) thread list
Process 0 stopped
* thread #1: tid = 102025, 0x00000000019b2cb9 ld`_pthread_setspecific + 121,
name = 'ld.lld', stop reason = signal SIGSEGV
  thread #2: tid = 101771, 0x0000000001a549ea ld`__sys_openat + 10, name =
'ld.lld', stop reason = signal SIGSEGV
  thread #3: tid = 101438, 0x00000000019bb15c ld`_umtx_op_err + 12, name =
'ld.lld', stop reason = signal SIGSEGV
  thread #4: tid = 101635, 0x00000000019bb15c ld`_umtx_op_err + 12, name =
'ld.lld', stop reason = signal SIGSEGV
  thread #5: tid = 101642, 0x00000000019b8bf0 ld`thread_start, name = 'ld.lld',
stop reason = signal SIGSEGV
  thread #6: tid = 101644, 0x00000000019b8bf0 ld`thread_start, name = 'ld.lld',
stop reason = signal SIGSEGV
  thread #7: tid = 101667, 0x00000000019bb15c ld`_umtx_op_err + 12, name =
'ld.lld', stop reason = signal SIGSEGV
  thread #8: tid = 102024, 0x00000000019bb15c ld`_umtx_op_err + 12, name =
'ld.lld', stop reason = signal SIGSEGV
  thread #9: tid = 102070, 0x00000000019b8bf0 ld`thread_start, name = 'ld.lld',
stop reason = signal SIGSEGV
  thread #10: tid = 102071, 0x00000000019b8bf0 ld`thread_start, name =
'ld.lld', stop reason = signal SIGSEGV

% /usr/local/bin/c++filt
_ZNSt3__114__thread_proxyINS_5tupleIJNS_10unique_ptrINS_15__thread_structENS_14default_deleteIS3_EEEEZZN3lld8internal18ThreadPoolExecutorC1EjENKUlvE_clEvEUlvE_EEEEEPvSD_
void*
std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct> >,
lld::internal::ThreadPoolExecutor::ThreadPoolExecutor(unsigned
int)::{lambda()#1}::operator()() const::{lambda()#1}>
>(lld::internal::ThreadPoolExecutor::ThreadPoolExecutor(unsigned
int)::{lambda()#1}::operator()() const::{lambda()#1})

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
llvm-bugs@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to