staticanalysis / data-race-test

Automatically exported from code.google.com/p/data-race-test
0 stars 0 forks source link

Add support for FLS (Fiber-local-storage) on Windows #55

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
http://chromegw.corp.google.com/i/client.tsan/builders/buildbot-win7/builds/7/st
eps/test_5/logs/stdio
[ RUN      ] PrintfTests.Simple
WARNING: Possible data race during write of size 4 at 1D3D3670: {{{
   T2692 (L{}):
    #0  free f:/dd/vctools/crt_bld/self_x86/crt/src/free.c:42
    #1  _freefls f:/dd/vctools/crt_bld/self_x86/crt/src/tidtable.c:737
    #2  _freefls f:/dd/vctools/crt_bld/self_x86/crt/src/tidtable.c:674
    #3  RtlIsCurrentThreadAttachExempt C:\Windows\SysWOW64\ntdll.dll
    #4  LdrShutdownThread C:\Windows\SysWOW64\ntdll.dll
  Concurrent read(s) happened at (OR AFTER) these points:
   T2693 (L{L19}):
  Location 1D3D3670 is 40 bytes inside a block starting at 1D3D3648 of size 127 allocated by T2675 from heap:
    #0  realloc f:/dd/vctools/crt_bld/self_x86/crt/src/realloc.c:64
    #1  MemoryTypes::ReallocThread e:/b/build/slave/full_win7/build/unittest/racecheck_unittest.cc:6413
  Locks involved in this report (reporting last lock sites): {L19}
   L19 (0C55FBB8)
    #0  RtlEnterCriticalSection C:\Windows\SysWOW64\ntdll.dll
    #1  _lock f:/dd/vctools/crt_bld/self_x86/crt/src/mlock.c:348
    #2  _lock_file f:/dd/vctools/crt_bld/self_x86/crt/src/_file.c:231
    #3  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:63
    #4  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:49
    #5  PrintfTests_Simple::Worker1 e:/b/build/slave/full_win7/build/unittest/racecheck_unittest.cc:7456
   Race verifier data: 00441A89,00000000
}}}

Another variant, seen earlier:
WARNING: Possible data race during write of size 4 at 1D703008: {{{
   T2693 (L{}):
    #0  free f:/dd/vctools/crt_bld/self_x86/crt/src/free.c:42
    #1  _freefls f:/dd/vctools/crt_bld/self_x86/crt/src/tidtable.c:737
    #2  _freefls f:/dd/vctools/crt_bld/self_x86/crt/src/tidtable.c:674
    #3  RtlProcessFlsData C:\Windows\SysWOW64\ntdll.dll
    #4  RtlAllocateHeap C:\Windows\SysWOW64\ntdll.dll
    #5  LdrShutdownThread C:\Windows\SysWOW64\ntdll.dll
    #6  RtlExitUserThread C:\Windows\SysWOW64\ntdll.dll
    #7  BaseThreadInitThunk C:\Windows\syswow64\kernel32.dll
  Concurrent write(s) happened at (OR AFTER) these points:
   T2694 (L{L20}):
    #0  _getptd_noexit f:/dd/vctools/crt_bld/self_x86/crt/src/tidtable.c:602
    #1  _getptd f:/dd/vctools/crt_bld/self_x86/crt/src/tidtable.c:641
    #2  _LocaleUpdate::_LocaleUpdate f:/dd/vctools/crt_bld/self_x86/crt/src/setlocal.h:264
    #3  _output_l f:/dd/vctools/crt_bld/self_x86/crt/src/output.c:2155
    #4  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:70
    #5  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:49
    #6  PrintfTests_Simple::Worker1 e:/b/build/slave/full_vista/build/unittest/racecheck_unittest.cc:7410
    #7  MyThread::ThreadBody e:/b/build/slave/full_vista/build/unittest/thread_wrappers_win.h:223
    #8  BaseThreadInitThunk C:\Windows\syswow64\kernel32.dll
   Note: these locks were recently released by T2694 and later acquired by T2693: {L19, L20}
   See http://code.google.com/p/data-race-test/wiki/PureHappensBeforeVsHybrid
  Location 1D703008 is 16 bytes inside a block starting at 1D702FF8 of size 255 allocated by T2677 from heap:
    #0  realloc f:/dd/vctools/crt_bld/self_x86/crt/src/realloc.c:64
    #1  MemoryTypes::ReallocThread e:/b/build/slave/full_vista/build/unittest/racecheck_unittest.cc:6409
    #2  MyThread::ThreadBody e:/b/build/slave/full_vista/build/unittest/thread_wrappers_win.h:223
    #3  BaseThreadInitThunk C:\Windows\syswow64\kernel32.dll
  Locks involved in this report (reporting last lock sites): {L19, L20}
   L19 (0C55FBB8)
    #0  RtlEnterCriticalSection C:\Windows\SysWOW64\ntdll.dll
    #1  _lock f:/dd/vctools/crt_bld/self_x86/crt/src/mlock.c:348
    #2  _lock_file f:/dd/vctools/crt_bld/self_x86/crt/src/_file.c:231
    #3  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:63
    #4  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:49
    #5  PrintfTests_Simple::Worker1 e:/b/build/slave/full_vista/build/unittest/racecheck_unittest.cc:7414
    #6  MyThread::ThreadBody e:/b/build/slave/full_vista/build/unittest/thread_wrappers_win.h:223
    #7  BaseThreadInitThunk C:\Windows\syswow64\kernel32.dll
   L20 (0C55FBD0)
    #0  RtlEnterCriticalSection C:\Windows\SysWOW64\ntdll.dll
    #1  _lock f:/dd/vctools/crt_bld/self_x86/crt/src/mlock.c:348
    #2  _lock_file f:/dd/vctools/crt_bld/self_x86/crt/src/_file.c:231
    #3  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:63
    #4  fprintf f:/dd/vctools/crt_bld/self_x86/crt/src/fprintf.c:49
    #5  PrintfTests_Simple::Worker1 e:/b/build/slave/full_vista/build/unittest/racecheck_unittest.cc:7412
    #6  MyThread::ThreadBody e:/b/build/slave/full_vista/build/unittest/thread_wrappers_win.h:223
    #7  BaseThreadInitThunk C:\Windows\syswow64\kernel32.dll
   Race verifier data: 00441A79,0044B13F
}}}

FlsAlloc/FlsFree
http://msdn.microsoft.com/en-us/library/ms682664.aspx
http://msdn.microsoft.com/en-us/library/ms682667.aspx

Original issue reported on code.google.com by timurrrr on 22 Nov 2010 at 2:35