Closed Bug 465145 Opened 16 years ago Closed 16 years ago

TM: Crash [@ js_FlushJITCache] or [@ TraceRecorder::popAbortStack]

Categories

(Core :: JavaScript Engine, defect, P1)

x86
macOS
defect

Tracking

()

VERIFIED FIXED
mozilla1.9.1b2

People

(Reporter: gkw, Assigned: dvander)

Details

(Keywords: crash, testcase, verified1.9.1, Whiteboard: [sg:critical?])

Crash Data

Attachments

(3 files)

Attached file opt and dbg crashlogs
this.__defineSetter__("x", function(){});
this.watch("x", function(){});
y = this;
for (var z = 0; z < 2; ++z) { x = y };
this.__defineSetter__("x", function(){});
for (var z = 0; z < 2; ++z) { x = y };


This crashes opt at the seemingly exploitable address of 0x000000003e0000f3 at js_FlushJITCache. It also crashes dbg at 0x0000000000000074 at TraceRecorder::popAbortStack.

This appears to be fairly recent but jsfunfuzz hits it often.
Flags: blocking1.9.1?
Assignee: general → danderson
Attached patch proposed fixSplinter Review
Sigh, the logic here is starting to get... disturbing.

js_Interpret uses wasDeepAborted to check whether a JIT cache flush already removed it off the stack.  The bug: I had the interpreter putting recorders on the stack even if they were already deep aborted.

This could be done cleaner but I'm more concerned about getting the fix in atm.
Attachment #348410 - Flags: review?(gal)
Attachment #348410 - Flags: review?(gal) → review+
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Priority: -- → P1
Target Milestone: --- → mozilla1.9.1b2
reopening, marking blocking beta2, will close once landed on m-c.
Status: RESOLVED → REOPENED
Flags: blocking1.9.1? → blocking1.9.1+
Resolution: FIXED → ---
Fixed in the merge pushed by vlad on Nov 18 14:11:14 2008 -0800:
http://hg.mozilla.org/mozilla-central/rev/e8ed5d4bf531
Status: REOPENED → RESOLVED
Closed: 16 years ago16 years ago
Resolution: --- → FIXED
Flags: in-testsuite+
Flags: in-litmus-
verified fixed mozilla-central, tracemonkey
Status: RESOLVED → VERIFIED
Whiteboard: [sg:critical?]
v 1.9.1, 1.9.2
Group: core-security
Flags: wanted1.9.0.x-
test checked into 1.9.0, 1.9.1, 1.9.2, tracemonkey. 1.9.3 will get picked up in the next merge.
Crash Signature: [@ js_FlushJITCache] [@ TraceRecorder::popAbortStack]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: