Closed
Bug 420612
Opened 17 years ago
Closed 17 years ago
"Assertion failure: obj == pobj"
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
VERIFIED
FIXED
mozilla1.9beta4
People
(Reporter: jruderman, Assigned: mrbkap)
References
Details
(Keywords: assertion, regression, testcase)
Attachments
(1 file)
761 bytes,
patch
|
brendan
:
review+
beltzner
:
approval1.9b4+
brendan
:
approval1.9+
|
Details | Diff | Splinter Review |
js> this.__proto__ = []; this.unwatch("x");
Assertion failure: obj == pobj, at jsinterp.c:149
Assignee | ||
Comment 1•17 years ago
|
||
This happens because js_LookupPropertyWithFlags simply returns the current |protoIndex| if the next object on the prototype chain is not native. Perhaps it should be returning |protoIndex + 1|?
Assignee | ||
Comment 2•17 years ago
|
||
Comment 3•17 years ago
|
||
covered by js1_6/Array/regress-415540.js also
caused by bug 418139
Comment 4•17 years ago
|
||
Comment on attachment 306934 [details] [diff] [review]
Like so
Another easy fix, thanks. It's absolutely correct, since protoIndex is a hint only when non-zero. But it had better be non-zero in this case.
/be
Attachment #306934 -
Flags: review?(brendan)
Attachment #306934 -
Flags: review+
Attachment #306934 -
Flags: approval1.9b4?
Attachment #306934 -
Flags: approval1.9+
Updated•17 years ago
|
Flags: blocking1.9? → blocking1.9+
Target Milestone: --- → mozilla1.9
Comment 5•17 years ago
|
||
Comment on attachment 306934 [details] [diff] [review]
Like so
a1.9b4=beltzner
Attachment #306934 -
Flags: approval1.9b4? → approval1.9b4+
Comment 6•17 years ago
|
||
Fix committed for mrbkap:
js/src/jsobj.c 3.444
/be
Status: ASSIGNED → RESOLVED
Closed: 17 years ago
Flags: blocking1.9+ → blocking1.9?
Resolution: --- → FIXED
Target Milestone: mozilla1.9 → ---
Updated•17 years ago
|
Target Milestone: --- → mozilla1.9beta4
Comment 7•17 years ago
|
||
also ecma_3/Array/regress-390598.js, js1_5/extensions/regress-390598.js
Comment 8•17 years ago
|
||
Checking in regress-420612.js;
/cvsroot/mozilla/js/tests/js1_5/extensions/regress-420612.js,v <-- regress-420612.js
initial revision: 1.1
Flags: in-testsuite? → in-testsuite+
Comment 9•17 years ago
|
||
This fails in the browser
<http://test.bclary.com/tests/mozilla.org/js/js-test-driver-standards.html?test=js1_5/extensions/regress-420612.js;language=type;text/javascript>
with FAILED! expected: invalid __proto__ value (can only be set to null)
Is that a browser only restriction? Should the testcase be modified to try to catch the exception?
Comment 10•17 years ago
|
||
$ grep 'only be set to null' xpconnect/src/*.cpp
xpconnect/src/XPCCrossOriginWrapper.cpp: JS_ReportError(cx, "invalid __proto__ value (can only be set to null)");
(Nit: "can be set to null only" or "can be set only to null" would be better.)
/be
Comment 11•17 years ago
|
||
/me should learn that new fangled grep thing.
/cvsroot/mozilla/js/tests/js1_5/extensions/regress-420612.js,v <-- regress-420612.js
new revision: 1.2; previous revision: 1.1
ping me or update the test yourself whoever changes the exception message.
You need to log in
before you can comment on or make changes to this bug.
Description
•