Closed Bug 563118 Opened 14 years ago Closed 11 years ago

"Assertion failure: !(XMLArrayFindMember(&ancdecls.array, ns2, namespace_identity) != (4294967295U))," with duplicated E4X namespace

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
critical

Tracking

()

VERIFIED WONTFIX
Tracking Status
blocking2.0 --- -

People

(Reporter: jruderman, Unassigned)

References

Details

(Keywords: assertion, regression, testcase, Whiteboard: js-triage-done)

var link = <link/>;
var xlinkNamespace = new Namespace('xlink', 'http://www.w3.org/1999/xlink');
link.addNamespace(xlinkNamespace);
link.addNamespace(xlinkNamespace);
link.toXMLString();

Assertion failure: !XMLARRAY_HAS_MEMBER(&ancdecls, ns2, namespace_identity), at ../jsxml.cpp:2571
(Not the smallest) regression window:

01012003 js shell build does not assert.
01012006 js shell build asserts.
Severity: normal → critical
Keywords: regression
blocking2.0: --- → ?
blocking2.0: ? → final+
No problem in opt builds, even under valgrind, right?

Seems low priority. Would be good to id the regressor.

/be
No problem in opt, even under valgrind.
(In reply to comment #2)
> No problem in opt builds, even under valgrind, right?
> 
> Seems low priority. Would be good to id the regressor.
> 
> /be

A manual CVS bisect shows this is probably related to bug 309242:

http://bonsai.mozilla.org/cvsquery.cgi?treeid=default&module=all&branch=HEAD&branchtype=match&dir=mozilla%2Fjs%2Fsrc&file=&filetype=match&who=&whotype=match&sortby=Date&hours=2&date=explicit&mindate=2005-09-20+12%3A00%3A00&maxdate=2005-09-20+18%3A00%3A00&cvsroot=%2Fcvsroot
Blocks: 309242
OS: Mac OS X → All
Hardware: x86 → All
Now asserts at Assertion failure: !XMLARRAY_HAS_MEMBER(&ancdecls.array, ns2, namespace_identity), instead.
Summary: "Assertion failure: !XMLARRAY_HAS_MEMBER(&ancdecls, ns2, namespace_identity)" with duplicated E4X namespace → "Assertion failure: !XMLARRAY_HAS_MEMBER(&ancdecls.array, ns2, namespace_identity)," with duplicated E4X namespace
Seems low priority => doesn't block.
blocking2.0: final+ → -
The assertion is harmless as it just quires inconsistency and the violated inconsistency at that point results just in incorrect toString output for e4x.
Whiteboard: js-triage-done
$ ./js-dbg-32-mozilla-central-linux -e 'options("allow_xml");' 563118.js 
Assertion failure: !(XMLArrayFindMember(&ancdecls.array, ns2, namespace_identity) != (4294967295U)),

The assert has morphed as of mozilla-central changeset 6c60e99d9739 - this assert is likely to go away once e4x is removed in Firefox (scheduled for version 18).
Summary: "Assertion failure: !XMLARRAY_HAS_MEMBER(&ancdecls.array, ns2, namespace_identity)," with duplicated E4X namespace → "Assertion failure: !(XMLArrayFindMember(&ancdecls.array, ns2, namespace_identity) != (4294967295U))," with duplicated E4X namespace
E4X is now history thanks to bug 788293. -> WONTFIX
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WONTFIX
Running the testcase through the js shell now throws a syntax error:

563118.js:1:0 SyntaxError: syntax error:
563118.js:1:0 var link = <link/>;
563118.js:1:0 ...........^
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.