Closed Bug 1495268 Opened 3 years ago Closed 3 years ago

Watch for checkpoint activity whenever a thread blocks on the helper thread state lock

Categories

(Core Graveyard :: Web Replay, enhancement)

enhancement
Not set
normal

Tracking

(firefox64 fixed)

RESOLVED FIXED
mozilla64
Tracking Status
firefox64 --- fixed

People

(Reporter: bhackett1024, Assigned: bhackett1024)

Details

Attachments

(1 file)

Attached patch patchSplinter Review
The crash below (reported by :jlast) is due to a hang in a replaying process.  The main thread is waiting for all other threads to become idle, and the only other thread which isn't is a worker thread that is doing a GC and is blocked while waiting for its off thread tasks to finish.  Those tasks will not finish, because the helper threads are all in the idle state needed by the main thread.

https://crash-stats.mozilla.com/report/index/ed53ae11-7dff-4dcf-831e-a1d590180929

The attached patch takes the logic used by the helper threads to coordinate with the record/replay system when they are about to wait for an incoming task, and applies it to all places where another thread (including another helper thread) might block while waiting for a helper thread task to complete.
Attachment #9013126 - Flags: review?(jdemooij)
Attachment #9013126 - Flags: review?(jdemooij) → review+
Pushed by bhackett@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/b148d2cc2558
Watch for checkpoint activity whenever a thread blocks on the helper thread state lock, r=jandem.
https://hg.mozilla.org/mozilla-central/rev/b148d2cc2558
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.