Closed
Bug 822713
Opened 12 years ago
Closed 3 years ago
JS RegExp doesn't call the operation callback (was: Memory reporting for telemetry can cause the main thread to block on workers for an arbitrary amount of time)
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
People
(Reporter: bzbarsky, Unassigned)
References
Details
(Whiteboard: [js:p2][Snappy])
See the process sample in attachment 693265 [details]. It shows the main thread under CollectRuntimeStatsRunnable::DispatchInternal waiting on a condvar while the worker is under js::RegExpShared::execute in what looks like regexp jitcode for the whole time. Bug 822407 comment 9 indicates that this state lasted for 23 minutes(!), which is ... rather unacceptable. Ben, do we wait until we get back to the worker event loop to process the memory reporter runnable? Or do we do it off the operation callback? In the latter case, is the problem perhaps that regexp jitcode doesn't fire operation callbacks?
Reporter | ||
Updated•12 years ago
|
We run it off the operation callback so this shouldn't happen. I think this is a JS engine bug.
Assignee: nobody → general
Component: DOM: Workers → JavaScript Engine
Reporter | ||
Comment 2•12 years ago
|
||
So apparently there is no operation callback during regexp jitcode with yarr.... :(
Updated•12 years ago
|
Whiteboard: [Snappy]
Comment 3•12 years ago
|
||
FF17 appears to be affected so wontfixing for FF18 given where we are in the cycle. Is this even a FF17 regression? If not, this isn't a release tracking issue.
Reporter | ||
Comment 4•12 years ago
|
||
It's a regression probably from whenever we stopped firing the operation callback for regexps or started doing telemetry memory reporting, whichever came later.... I don't know offhand when those happened.
Comment 5•12 years ago
|
||
Please re-nominate if there's reason to believe that this is a recent regression, or user impact has worsened recently.
Updated•11 years ago
|
Whiteboard: [Snappy] → [js:p2][Snappy]
Updated•11 years ago
|
Summary: Memory reporting for telemetry can cause the main thread to block on workers for an arbitrary amount of time → JS RegExp doesn't call the operation callback (was: Memory reporting for telemetry can cause the main thread to block on workers for an arbitrary amount of time)
Assignee | ||
Updated•10 years ago
|
Assignee: general → nobody
Comment 7•3 years ago
|
||
The regexp engine has been replaced twice since this bug was opened. The current engine handles interrupts during jitcode correctly.
Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(bzbarsky)
Resolution: --- → FIXED
Updated•3 years ago
|
Resolution: FIXED → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•