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

Richard Smith <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
                 CC|                            |[email protected]
         Resolution|---                         |INVALID

--- Comment #1 from Richard Smith <[email protected]> ---
Your code has a data race. Building with -fsanitize=thread gives this:


WARNING: ThreadSanitizer: data race (pid=24036)
  Read of size 8 at 0x7d080000efc0 by main thread:
    #0 printMatrix <null>:0 (a.out+0x00000009f486)
    #1 main <null>:0 (a.out+0x0000000a056d)

  Previous write of size 8 at 0x7d080000efc0 by thread T1:
    #0 multMatrix <null>:0 (a.out+0x00000009e499)
    #1 multMatrixThread <null>:0 (a.out+0x00000009e881)

  As if synchronized via sleep:
    #0 sleep
/usr/local/google/home/richardsmith/build/llvm-3/src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:243
(a.out+0x000000035d20)
    #1 main <null>:0 (a.out+0x0000000a0366)

  Location is heap block of size 32 at 0x7d080000efc0 allocated by main thread:
    #0 malloc
/usr/local/google/home/richardsmith/build/llvm-3/src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:460
(a.out+0x0000000370ad)
    #1 allocMatrix <null>:0 (a.out+0x00000009dcf1)
    #2 main <null>:0 (a.out+0x00000009fac7)

  Thread T1 (tid=24039, finished) created by main thread at:
    #0 pthread_create
/usr/local/google/home/richardsmith/build/llvm-3/src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:842
(a.out+0x00000003ac6f)
    #1 main <null>:0 (a.out+0x0000000a02fa)

SUMMARY: ThreadSanitizer: data race ??:0 printMatrix


Note that you increment 'i' at the wrong place in your loop, so you never
actually join the thread you created. Fixing that bug removes the data race and
makes your code work.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to