[LLVMbugs] [Bug 20959] New: Firefox ASAN builds with clang-cl hang during startup

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Sep 16 06:20:43 PDT 2014


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

            Bug ID: 20959
           Summary: Firefox ASAN builds with clang-cl hang during startup
           Product: compiler-rt
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: compiler-rt
          Assignee: unassignedbugs at nondot.org
          Reporter: ehsan at mozilla.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

We try to grab the same lock recursively, so the second time we hang with a
stack like this:

     KernelBase.dll!__SEH_prolog4()    Unknown
     KernelBase.dll!_Sleep at 4()    Unknown
     clang_rt.asan_dynamic-i386.dll!__sanitizer::internal_sched_yield() Line
363    C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::StaticSpinMutex::LockSlow()
Line 57    C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::Symbolizer::GetOrInit() Line
21    C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::StackTrace::PrintStack(const
unsigned long * addr, unsigned long size) Line 39    C++
     clang_rt.asan_dynamic-i386.dll!__asan::AsanCheckFailed(const char * file,
int line, const char * cond, unsigned __int64 v1, unsigned __int64 v2) Line 70 
  C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::CheckFailed(const char * file,
int line, const char * cond, unsigned __int64 v1, unsigned __int64 v2) Line 74 
  C++
     clang_rt.asan_dynamic-i386.dll!__asan::PoisonShadow(unsigned long addr,
unsigned long size, unsigned char value) Line 29    C++
     clang_rt.asan_dynamic-i386.dll!__asan::OnLowLevelAllocate(unsigned long
ptr, unsigned long size) Line 357    C++
    
clang_rt.asan_dynamic-i386.dll!__sanitizer::LowLevelAllocator::Allocate(unsigned
long size) Line 124    C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::Symbolizer::PlatformInit()
Line 122    C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::Symbolizer::GetOrInit() Line
23    C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::StackTrace::PrintStack(const
unsigned long * addr, unsigned long size) Line 39    C++
     clang_rt.asan_dynamic-i386.dll!__asan::AsanCheckFailed(const char * file,
int line, const char * cond, unsigned __int64 v1, unsigned __int64 v2) Line 70 
  C++
     clang_rt.asan_dynamic-i386.dll!__sanitizer::CheckFailed(const char * file,
int line, const char * cond, unsigned __int64 v1, unsigned __int64 v2) Line 74 
  C++
     clang_rt.asan_dynamic-i386.dll!__asan::PoisonShadow(unsigned long addr,
unsigned long size, unsigned char value) Line 29    C++
     clang_rt.asan_dynamic-i386.dll!__asan::OnLowLevelAllocate(unsigned long
ptr, unsigned long size) Line 357    C++
    
clang_rt.asan_dynamic-i386.dll!__sanitizer::LowLevelAllocator::Allocate(unsigned
long size) Line 124    C++
     clang_rt.asan_dynamic-i386.dll!__asan::GetAsanThreadContext(unsigned int
tid) Line 52    C++
>	clang_rt.asan_dynamic-i386.dll!__sanitizer::ThreadRegistry::CreateThread(unsigned long user_id, bool detached, unsigned int parent_tid, void * arg) Line 132	C++
     clang_rt.asan_dynamic-i386.dll!__asan::AsanInitInternal() Line 672    C++
     clang_rt.asan_dynamic-i386.dll!__asan::Allocate(unsigned long size,
unsigned long alignment, __sanitizer::StackTrace * stack, __asan::AllocType
alloc_type, bool can_fill) Line 271    C++
     clang_rt.asan_dynamic-i386.dll!__asan::asan_calloc(unsigned long nmemb,
unsigned long size, __sanitizer::StackTrace * stack) Line 601    C++
     clang_rt.asan_dynamic-i386.dll!calloc(unsigned int nmemb, unsigned int
size) Line 70    C++
     clang_rt.asan_dynamic-i386.dll!_calloc_impl(unsigned int nmemb, unsigned
int size, int * errno_tmp) Line 80    C++
     clang_rt.asan_dynamic-i386.dll!_calloc_crt(unsigned int count, unsigned
int size) Line 61    C
     clang_rt.asan_dynamic-i386.dll!_mtinit() Line 115    C
     clang_rt.asan_dynamic-i386.dll!_CRT_INIT(void * hDllHandle, unsigned long
dwReason, void * lpreserved) Line 102    C
     clang_rt.asan_dynamic-i386.dll!__DllMainCRTStartup(void * hDllHandle,
unsigned long dwReason, void * lpreserved) Line 362    C
     clang_rt.asan_dynamic-i386.dll!_DllMainCRTStartup(void * hDllHandle,
unsigned long dwReason, void * lpreserved) Line 331    C
     ntdll.dll!_LdrpCallInitRoutine at 16()    Unknown
     ntdll.dll!_LdrpRunInitializeRoutines at 4()    Unknown
     ntdll.dll!_LdrpInitializeProcess at 8()    Unknown
     ntdll.dll!__LdrpInitialize at 8()    Unknown
     ntdll.dll!_LdrInitializeThunk at 8()    Unknown

This is very similar to bug 20931.  This is with MSVC2013, and ninja check-asan
passes on the clang-cl build from this revision.

-- 
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/20140916/2acf10dd/attachment.html>


More information about the llvm-bugs mailing list