Closed Bug 1514520 Opened 5 years ago Closed 5 years ago

Intermittent PID 19845 | Assertion failure: !zone->isGCMarkingBlackAndGray(), at /builds/worker/workspace/build/src/js/src/gc/Marking.cpp:3560

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox-esr60 --- unaffected
firefox64 --- unaffected
firefox65 --- unaffected
firefox66 --- fixed

People

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

References

Details

(Keywords: assertion, intermittent-failure)

Attachments

(1 file)

Filed by: cbrindusan [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=217219071&repo=autoland

https://queue.taskcluster.net/v1/task/JTXAy0H1THSagI-_Tv7MLg/runs/0/artifacts/public/logs/live_backing.log

[task 2018-12-15T19:28:56.608Z] 19:28:56     INFO - TEST-START | /service-workers/service-worker/update-registration-with-type.https.html
[task 2018-12-15T19:28:56.636Z] 19:28:56     INFO - Closing window 4294968703
[task 2018-12-15T19:28:56.753Z] 19:28:56     INFO - PID 19845 | ++DOCSHELL 0xd8d46400 == 5 [pid = 19934] [id = {bb372df5-c0b5-4758-b5bc-bdc153cd7de1}]
[task 2018-12-15T19:28:56.754Z] 19:28:56     INFO - PID 19845 | ++DOMWINDOW == 18 (0xd8dea1c0) [pid = 19934] [serial = 1415] [outer = (nil)]
[task 2018-12-15T19:28:56.791Z] 19:28:56     INFO - PID 19845 | ++DOMWINDOW == 19 (0xd8d49400) [pid = 19934] [serial = 1416] [outer = 0xd8dea1c0]
[task 2018-12-15T19:28:56.798Z] 19:28:56     INFO - PID 19845 | [Child 19934, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/workspace/build/src/dom/base/nsContentUtils.cpp, line 8213
[task 2018-12-15T19:28:56.920Z] 19:28:56     INFO - PID 19845 | ++DOMWINDOW == 20 (0xd8d50000) [pid = 19934] [serial = 1417] [outer = 0xd8dea1c0]
[task 2018-12-15T19:28:56.920Z] 19:28:56     INFO - PID 19845 | [Child 19934, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/workspace/build/src/dom/base/nsContentUtils.cpp, line 8213
[task 2018-12-15T19:28:56.941Z] 19:28:56     INFO - PID 19845 | Assertion failure: !zone->isGCMarkingBlackAndGray(), at /builds/worker/workspace/build/src/js/src/gc/Marking.cpp:3560
Likely caused by bug 1463462.
Blocks: 1463462
The problem here is that gray unmarking can happen from within the GC, where Zone::needsIncrementalBarrier will return false.  This should check the zone state instead.
Assignee: nobody → jcoppeard
Attachment #9031837 - Flags: review?(sphink)
Comment on attachment 9031837 [details] [diff] [review]
bug1514520-unmark-gray-assertion

Review of attachment 9031837 [details] [diff] [review]:
-----------------------------------------------------------------

I keep wondering if there's some alternative scheme we could use for this sort of state management, eg have assertion RAII classes like

  AssertStateIsOneOf state(MarkingBlack, Sweeping, Barriering);

and then merge families of functions like IsAboutToBeFinalized* and IsGCMarking* to single entries that take a 'state' parameter and behave according to that. Though we'd probably want the possible states to be determined and switched on statically, so perhaps it'd be more like

  AssertStateIsOneOf<MarkingBlack, Sweeping, Barriering> state;

and then either

  IsAboutToBeFinalized<MarkingBlack, Sweeping, Barriering>(...)

or

  IsAboutToBeFinalized(state, ...)

But I guess at the moment I'm too fuzzy on the configuration space to know whether this is misguided or not. There's the whole "check the runtime or the zone? Which zone?" thing that gets involved. For various things, you might need to pass in a Zone, a JSRuntime/GCRuntime, a JSObject, and/or a GCMarker, ....

Anyway, just speculating.
Attachment #9031837 - Flags: review?(sphink) → review+
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/5a568cd944c1
Gray unmarking shouldn't check whether barriers are enable as it can be called from within the GC r=sfink
https://hg.mozilla.org/mozilla-central/rev/5a568cd944c1
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: