Closed
Bug 808349
Opened 13 years ago
Closed 13 years ago
Crash with mjitChunkLimit, verifyprebarriers
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla20
People
(Reporter: jruderman, Assigned: bhackett1024)
Details
(Keywords: crash, testcase)
Crash Data
Attachments
(3 files)
1. Install https://www.squarefree.com/extensions/domFuzzLite3.xpi
2. Load the testcase.
Result: Crash in mjit-generated code
(Why does the mozRequestAnimationFrame call matter? That seems to be all that prevents this testcase from running in the shell.)
Reporter | ||
Comment 1•13 years ago
|
||
Comment 2•13 years ago
|
||
Marking sec-crit because these chunk limit things seem to end up with that rating, and crashing in mjit code sounds sketchy, until proven otherwise. Feel free to adjust as needed.
Keywords: sec-critical
Updated•13 years ago
|
![]() |
||
Comment 3•13 years ago
|
||
This is a sec-crit with a testcase, and it's marked tracking for 19.
Naveed, could we get some traction here?
Crash Signature: [@ js::mjit::EnterMethodJIT]
![]() |
||
Comment 4•13 years ago
|
||
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #3)
> This is a sec-crit with a testcase, and it's marked tracking for 19.
> Naveed, could we get some traction here?
Ping?
Also, this seems to be a js::mjit::EnterMethodJIT crash, and this signature is pretty common, so it's possible we see this security issue in the wild and not realize it at all.
Flags: needinfo?(nihsanullah)
Brian, judging by the test this looks like another chunk compilation edge-case bug. Is this something you could look at? Or maybe a better question is: is there anything we could do to mitigate chunked compilation bugs while we wait for baseline compilation?
Assignee: nihsanullah → general
Flags: needinfo?(nihsanullah) → needinfo?(bhackett1024)
Comment 6•13 years ago
|
||
(In reply to Jesse Ruderman from comment #0)
> Created attachment 678078 [details]
> testcase
>
> 1. Install https://www.squarefree.com/extensions/domFuzzLite3.xpi
> 2. Load the testcase.
>
> Result: Crash in mjit-generated code
>
> (Why does the mozRequestAnimationFrame call matter? That seems to be all
> that prevents this testcase from running in the shell.)
mozRequestAnimationFrame set a flag which is used to preserve code on GCs. Without this flag the code would be GCed and the bug will not appear.
Comment 7•13 years ago
|
||
Comment on attachment 678078 [details]
testcase
Try to replace
window.mozRequestAnimationFrame(function() {});
by
gcPreserveCode();
(function(){})();
Assignee | ||
Comment 8•13 years ago
|
||
This is a bug in the mjitChunkLimit() test function. mjitChunkLimit() is only intended to be called if the JS_GC it does to clear out jitcode actually does clear out jitcode. It already checked for the effects of gcPreserveCode() which will prevent clearing jitcode in the shell, but not the animation information which will prevent clearing jitcode in the browser. The attached patch should fix this.
Attachment #689195 -
Flags: review?(dvander)
Flags: needinfo?(bhackett1024)
Assignee | ||
Updated•13 years ago
|
Is this actually a sec-critical bug? Still says so in the keywords. I assume you cleared the core-security flag because it isn't?
Assignee: general → bhackett1024
Comment 10•13 years ago
|
||
Judging from the patch, this is a bug in a testing-only function.
Keywords: sec-critical
![]() |
||
Updated•13 years ago
|
Attachment #689195 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 11•13 years ago
|
||
Comment 12•13 years ago
|
||
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in
before you can comment on or make changes to this bug.
Description
•