Closed Bug 1627683 Opened 4 years ago Closed 4 years ago

Intermittent GECKO(3580) | SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/js/src/gc/Cell.h:736:19 in unsafeSetPtr

Categories

(Core :: JavaScript: GC, defect, P5)

defect

Tracking

()

RESOLVED FIXED
mozilla77
Tracking Status
firefox77 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: jonco)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: intermittent-failure, regression)

Attachments

(2 files)

Filed by: nbeleuzu [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=296417576&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/OYJUebJIS32MZX4owr_yGw/runs/0/artifacts/public/logs/live_backing.log


[task 2020-04-06T13:07:28.158Z] 13:07:28     INFO - GECKO(3580) |     #4 UpdateArenaPointersTyped<js::Scope> /builds/worker/checkouts/gecko/js/src/gc/GC.cpp:2184:5 (libxul.so+0x6bb286c)
[task 2020-04-06T13:07:28.159Z] 13:07:28     INFO - GECKO(3580) |     #5 UpdateArenaPointers /builds/worker/checkouts/gecko/js/src/gc/GC.cpp:2213:5 (libxul.so+0x6bb286c)
[task 2020-04-06T13:07:28.159Z] 13:07:28     INFO - GECKO(3580) |     #6 UpdateArenaListSegmentPointers(js::gc::GCRuntime*, ArenaListSegment const&) /builds/worker/checkouts/gecko/js/src/gc/GC.cpp:2237:5 (libxul.so+0x6bb286c)
[task 2020-04-06T13:07:28.160Z] 13:07:28     INFO - GECKO(3580) |     #7 js::gc::ParallelWorker<ArenaListSegment, ArenasToUpdate>::run() /builds/worker/checkouts/gecko/js/src/gc/ParallelWork.h:52:22 (libxul.so+0x6be45e4)
[task 2020-04-06T13:07:28.161Z] 13:07:28     INFO - GECKO(3580) |     #8 js::GCParallelTask::runTask() /builds/worker/checkouts/gecko/js/src/gc/GCParallelTask.cpp:146:3 (libxul.so+0x6bd83af)
[task 2020-04-06T13:07:28.162Z] 13:07:28     INFO - GECKO(3580) |     #9 js::GCParallelTask::runFromHelperThread(js::AutoLockHelperThreadState&) /builds/worker/checkouts/gecko/js/src/gc/GCParallelTask.cpp:131:5 (libxul.so+0x6bd823e)
[task 2020-04-06T13:07:28.162Z] 13:07:28     INFO - GECKO(3580) |     #10 js::HelperThread::handleGCParallelWorkload(js::AutoLockHelperThreadState&) /builds/worker/checkouts/gecko/js/src/vm/HelperThreads.cpp:1712:21 (libxul.so+0x6687042)
[task 2020-04-06T13:07:28.163Z] 13:07:28     INFO - GECKO(3580) |     #11 js::HelperThread::threadLoop() /builds/worker/checkouts/gecko/js/src/vm/HelperThreads.cpp:2526:5 (libxul.so+0x6688dd7)
[task 2020-04-06T13:07:28.164Z] 13:07:28     INFO - GECKO(3580) |     #12 js::HelperThread::ThreadMain(void*) /builds/worker/checkouts/gecko/js/src/vm/HelperThreads.cpp:2048:11 (libxul.so+0x668527d)
[task 2020-04-06T13:07:28.164Z] 13:07:28     INFO - GECKO(3580) |     #13 callMain<0> /builds/worker/checkouts/gecko/js/src/threading/Thread.h:217:5 (libxul.so+0x66c6390)
[task 2020-04-06T13:07:28.165Z] 13:07:28     INFO - GECKO(3580) |     #14 js::detail::ThreadTrampoline<void (&)(void*), js::HelperThread*>::Start(void*) /builds/worker/checkouts/gecko/js/src/threading/Thread.h:206:11 (libxul.so+0x66c6390)
[task 2020-04-06T13:07:28.165Z] 13:07:28     INFO - GECKO(3580) |   Previous read of size 8 at 0x7f3f16998fe0 by thread T13:
[task 2020-04-06T13:07:28.166Z] 13:07:28     INFO - GECKO(3580) |     [failed to restore the stack]
------------------------------
[task 2020-04-06T13:07:28.190Z] 13:07:28     INFO - GECKO(3580) |     #16 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0x634ad42)
[task 2020-04-06T13:07:28.190Z] 13:07:28     INFO - GECKO(3580) |     #17 do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:217:22 (firefox+0xc8b63)
[task 2020-04-06T13:07:28.190Z] 13:07:28     INFO - GECKO(3580) |     #18 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:331:16 (firefox+0xc8b63)
[task 2020-04-06T13:07:28.191Z] 13:07:28     INFO - GECKO(3580) | SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/js/src/gc/Cell.h:736:19 in unsafeSetPtr
[task 2020-04-06T13:07:28.192Z] 13:07:28     INFO - GECKO(3580) | ==================
[task 2020-04-06T13:07:28.233Z] 13:07:28     INFO - GECKO(3580) | Exiting due to channel error.
[task 2020-04-06T13:07:28.233Z] 13:07:28     INFO - GECKO(3580) | Exiting due to channel error.
[task 2020-04-06T13:07:28.235Z] 13:07:28     INFO - GECKO(3580) | Exiting due to channel error.
[task 2020-04-06T13:07:28.235Z] 13:07:28     INFO - GECKO(3580) | Exiting due to channel error.
[task 2020-04-06T13:07:28.235Z] 13:07:28     INFO - GECKO(3580) | Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=102.765) Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=96.7329) Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=120.068) [GFX1-]: Receive IPC close with reason=AbnormalShutdown
[task 2020-04-06T13:07:28.236Z] 13:07:28     INFO - GECKO(3580) | Exiting due to channel error.
[task 2020-04-06T13:07:29.348Z] 13:07:29     INFO - GECKO(3580) | Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=118.451)
[task 2020-04-06T13:07:29.370Z] 13:07:29     INFO - TEST-INFO | Main app process: killed by SIGIOT
Blocks: tsan
This is an automated crash issue comment:

Summary: ThreadSanitizer: data race [@ unsafeSetPtr] vs. [@ pthread_create]
Build version: autoland revision 13083ce124100a8fa4d97f3a2ecb73ae512cdce8

For detailed crash information, see attachment.


This is again a race where the second stack is missing, suggesting that it matches one of the entries in our suppression list. It's unfortunately really hard to tell which of the JS/GC related entries might be involved here and this is yet again a reminder why fixing these issues instead of suppressing them is important.
Flags: needinfo?(jcoppeard)
Assignee: nobody → jcoppeard
Flags: needinfo?(jcoppeard)
Regressed by: 1625212
Has Regression Range: --- → yes
Keywords: regression

Similarly to changeset cfa64a6b5a87, a scope's enclosing scope is no longer updated by MovingTracer::onScopeEdge following the changes in bug 1625212. Update the suppression list accordingly.

Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/16877324e2b3
Update TSAN suppression list following changes to give GC cells headers r=decoder
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla77
See Also: → 1645710
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: