[llvm-bugs] [Bug 32459] New: apparent thread race condition crash in lld 4.0.0

via llvm-bugs llvm-bugs at lists.llvm.org
Wed Mar 29 11:13:05 PDT 2017


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: unassignedbugs at nondot.org
          Reporter: emaste at freebsd.org
                CC: llvm-bugs at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20170329/9f20a6da/attachment.html>


More information about the llvm-bugs mailing list