Closed
Bug 472619
Opened 16 years ago
Closed 13 years ago
Assertion failure: JS_PROPERTY_CACHE(cx).disabled == fp->pcDisabledSave - js1_8/extensions/regress-452913.js
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: bc, Assigned: igor)
References
Details
(Keywords: assertion, testcase, Whiteboard: [sg:low])
js1_8/extensions/regress-452913.js shell
Assertion failure: JS_PROPERTY_CACHE(cx).disabled, at jsinterp.c:97
regressed (or uncovered) by bug 434837.
See also bug 462991.
Flags: in-testsuite+
Flags: in-litmus-
Flags: blocking1.9.0.6?
Reporter | ||
Comment 1•16 years ago
|
||
(In reply to comment #0)
> regressed (or uncovered) by bug 434837.
this is wrong, sorry. I'm not sure of the regressor at the moment.
Comment 2•16 years ago
|
||
If we regressed this during this cycle, we should block on it. Otherwise, we can take it in 1.9.0.7.
Reporter | ||
Comment 3•16 years ago
|
||
the full assert is:
Assertion failure: JS_PROPERTY_CACHE(cx).disabled == fp->pcDisabledSave, at jsinterp.c:69q76
Summary: Assertion failure: JS_PROPERTY_CACHE(cx).disabled - js1_8/extensions/regress-452913.js → Assertion failure: JS_PROPERTY_CACHE(cx).disabled == fp->pcDisabledSave - js1_8/extensions/regress-452913.js
Reporter | ||
Comment 4•16 years ago
|
||
looks like bug 322889 is the winner. The test wasn't added until 2008-11-21, but the first failure didn't appear until 2008-11-16. Even then it only occurred a dozen or so times out of hundreds of test runs. While trying to bisect it, the failure was very dependent on how well the objdir was clobbered between builds. The most reliable method was to just remove the objdir altogether.
Reporter | ||
Comment 5•16 years ago
|
||
err, didn't appear until 2008-12-16
Comment 6•16 years ago
|
||
Since this has been broken the whole life of Firefox 3 we probably don't need to block a 3.0.x release on it, and will take it when it gets fixed on trunk/3.1
Or does this only happen on the 1.9.0 branch?
What's the security implication of this assertion?
Flags: wanted1.9.0.x+
Flags: blocking1.9.1?
Flags: blocking1.9.0.7?
Reporter | ||
Comment 7•16 years ago
|
||
just 1.9.0
Reporter | ||
Comment 9•16 years ago
|
||
dveditz: any reason to keep this private now that bug 452913 is open?
Comment 10•16 years ago
|
||
Never got an answer to my main question in comment 6, how bad is this as a potential security problem. If it is one then let's keep this private and think about making bug 452913 comment 44 private.
Comment 11•16 years ago
|
||
I'm not really sure what the answer is -- it *seems* like this could lead to two objects with different shapes seeming to have the same shape, which could lead to [sg:crit] bugs, but I don't know if that's possible in practice. Brendan?
Comment 12•15 years ago
|
||
Since this one's been tough to triage and there is the potential for critical exploits per comment 11, I'm putting this one on our Top Security Bugs list. Please treat this as a priority.
Whiteboard: [sg:critical?]
Comment 13•15 years ago
|
||
This is not exploitable -- the bug is that rt->shapeGen overflows so js_GC leaves the property cache disabled. It can't be reenabled, but the assertion botching is the only effect. Suggest WONTFIX, or a targeted backport of changes from bugs such as bug 419091.
/be
Depends on: 419091
Comment 14•15 years ago
|
||
The patch for bug 487039 removed JSStackFrame::pcDisabledSave and fixed real bugs which are unpatched in 1.9.0.x -- I'm making this bug depend on that one pending a better idea.
/be
Comment 15•15 years ago
|
||
Igor, should patches be back-ported? Sayre may have an opinion too. This is one of the bugs in bsterne's automated report, but it is not obviously exploitable and it is not hard to fix.
/be
Assignee | ||
Comment 16•15 years ago
|
||
We should try to backport the bug 487039. Surely the assert in this bug is not exploitable, but the bug 487039 could be.
Comment 17•15 years ago
|
||
(In reply to comment #16)
> We should try to backport the bug 487039. Surely the assert in this bug is not
> exploitable, but the bug 487039 could be.
assigning to igor for the backport.
Assignee: general → igor
Updated•15 years ago
|
Whiteboard: [sg:critical?]
Updated•15 years ago
|
Whiteboard: [sg:low]
Assignee | ||
Comment 18•13 years ago
|
||
The bug is on no longer supported branch.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
Updated•12 years ago
|
Group: core-security
You need to log in
before you can comment on or make changes to this bug.
Description
•