Open Bug 848129 Opened 11 years ago Updated 2 years ago

Helgrind warning about race in GetThreadLog()

Categories

(Core :: General, defect)

defect

Tracking

()

People

(Reporter: bent.mozilla, Unassigned)

References

Details

Attachments

(1 file)

Attached patch Patch, v1Splinter Review
Bug 806618 added GetThreadLog() which races reliably:

==8453== Possible data race during read of size 8 at 0x812C770 by thread #1
==8453== Locks held: none
==8453==    at 0x660E495: GetThreadLog() (nsThread.cpp:48)
==8453==    by 0x660F72C: nsThread::Dispatch(nsIRunnable*, unsigned int) (nsThread.cpp:388)
==8453==    by 0x65CA3BC: NS_NewThread_P(nsIThread**, nsIRunnable*, unsigned int) (nsThreadUtils.cpp:79)
==8453==    by 0x6621F08: nsCycleCollector_startup() (nsCycleCollector.cpp:2833)
==8453==    by 0x65D04EB: NS_InitXPCOM2_P (nsXPComInit.cpp:443)
==8453==    by 0x4084BE: main (xpcshell.cpp:1798)
==8453== 
==8453== This conflicts with a previous write of size 8 by thread #3
==8453== Locks held: none
==8453==    at 0x660E4AF: GetThreadLog() (nsThread.cpp:49)
==8453==    by 0x660F08E: nsThread::ProcessNextEvent(bool, bool*) (nsThread.cpp:572)
==8453==    by 0x65CA004: NS_ProcessNextEvent_P(nsIThread*, bool) (nsThreadUtils.cpp:238)
==8453==    by 0x660EEF3: nsThread::ThreadFunc(void*) (nsThread.cpp:265)
==8453==    by 0x408D323: _pt_root (ptthread.c:192)
==8453==    by 0x403032F: mythread_wrapper (hg_intercepts.c:219)
==8453==    by 0x4A2CE99: start_thread (pthread_create.c:308)
==8453==    by 0x8992CBC: clone (clone.S:112)

Patch attached fixes the race.
Attachment #721460 - Flags: review?(benjamin)
Assignee: nobody → bent.mozilla
Attachment #721460 - Flags: review?(benjamin) → review+

The bug assignee is inactive on Bugzilla, so the assignee is being reset.

Assignee: bent.mozilla → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: