[LLVMbugs] [Bug 20931] New: ASAN check failed (__interception::real_memset is null) with clang-cl and -MD

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Sep 12 15:48:04 PDT 2014


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

            Bug ID: 20931
           Summary: ASAN check failed (__interception::real_memset is
                    null) with clang-cl and -MD
           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

$ cat test.c
int main() { return 0; }

$ clang-cl -MD -fsanitize=address test.c clang_rt.asan_dynamic-i386.lib
clang_rt.asan_dynamic_runtime_thunk-i386.lib

$ ./test
==4644==AddressSanitizer CHECK failed:
C:\moz\llvm\projects\compiler-rt\lib\asan\asan_poisoning.cc:29
"((__interception::real_memset)) != (0)" (0x0, 0x0)
==4644==AddressSanitizer CHECK failed:
C:\moz\llvm\projects\compiler-rt\lib\asan\asan_poisoning.cc:29
"((__interception::real_memset)) != (0)" (0x0, 0x0)

And then the executable hangs, apparently retrying to grab a lock...  Stack
trace:

>	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

-- 
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/20140912/6bc486ed/attachment.html>


More information about the llvm-bugs mailing list