Closed Bug 817475 Opened 12 years ago Closed 12 years ago

Unresponsive browser due to Infinite Jäeger Monkey compilation.

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20
Tracking Status
firefox17 - wontfix
firefox18 - fixed
firefox19 - fixed
firefox20 - fixed
firefox-esr17 - wontfix

People

(Reporter: nbp, Unassigned)

References

Details

(Keywords: hang)

Attachments

(1 file)

The infinite loop is caused by pendingNukeTypes boolean value which is never reset at the end of nukeTypes (called form the destructor of AutoEnterTypeInference, which used in js::mjit::CanMethodJIT).

The loop it-self use the “restart” label in CanMethodJIT, which I will recommend to get rid of it such as we do not see any compilation loop again.

The recompilation loop has been introduced in Bug 706914, and the pendingNukeTypes boolean has been added as part of Bug 637674.

This hang appeared 2 times in a row during the start-up self-build optimized version of Firefox (c63d5cff18) running under gdb.
Attachment #687603 - Flags: review?(bhackett1024)
Attachment #687603 - Flags: review?(bhackett1024) → review+
Not sure what you CCed me here.  Anything I can help with in this bug?  :-)
(In reply to Ehsan Akhgari [:ehsan] from comment #1)
> Not sure what you CCed me here.  Anything I can help with in this bug?  :-)

Sorry I forgot to mention, I wanted to know if such issue appear in crash-stat or not, and so knowing if it was worth back-porting if it does not appear.
(In reply to comment #2)
> (In reply to Ehsan Akhgari [:ehsan] from comment #1)
> > Not sure what you CCed me here.  Anything I can help with in this bug?  :-)
> 
> Sorry I forgot to mention, I wanted to know if such issue appear in crash-stat
> or not, and so knowing if it was worth back-porting if it does not appear.

Hmm, I'm not sure how I can help with that...
Doesn't seem like there's a ton of user impact here that would necessitate tracking for 17 - minusing for now.  For Aurora/Beta you can go ahead and nominate for uplift if your fix is safe and low risk but again, without signs of significant user impact or this being a regression, we don't have to track this. Finally, this does not meet the ESR criteria so not tracking there either.
https://hg.mozilla.org/mozilla-central/rev/b651d7a7ca8a
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
Comment on attachment 687603 [details] [diff] [review]
Reset pendingNukeTypes, and get rid of the compilation loop.

Nominate this bug for approval since I noticed it again (on the same old version) while running firefox constantly under gdb.

[Approval Request Comment]
Bug caused by (feature/regressing bug #):
Bug 637674 & Bug 706914

User impact if declined: 
Low risks of hang, as it does not appear in the crash-stat, even if I can see approximately once every 2 days while running firefox constantly under gdb.

Testing completed (on m-c, etc.): 
Since 2012-12-03 11:08:53 PST.

Risk to taking this patch (and alternatives if risky):
Low.

String or UUID changes made by this patch: N/A
Attachment #687603 - Flags: approval-mozilla-beta?
Attachment #687603 - Flags: approval-mozilla-aurora?
Attachment #687603 - Flags: approval-mozilla-beta?
Attachment #687603 - Flags: approval-mozilla-beta+
Attachment #687603 - Flags: approval-mozilla-aurora?
Attachment #687603 - Flags: approval-mozilla-aurora+
Summary: Unresponsive browser: Infinite Jäeger Monkey compilation. → Unresponsive browser due to Infinite Jäeger Monkey compilation.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: