Last Comment Bug 736924 - "Assertion failure: mElements.Contains(cur)" with {ib}, basefont, body
: "Assertion failure: mElements.Contains(cur)" with {ib}, basefont, body
Status: RESOLVED FIXED
: assertion, testcase
Product: Core
Classification: Components
Component: CSS Parsing and Computation (show other bugs)
: Trunk
: x86_64 Mac OS X
: -- normal (vote)
: mozilla14
Assigned To: Boris Zbarsky [:bz] (still a bit busy)
:
:
Mentors:
Depends on: 537624
Blocks: stirdom 705877
  Show dependency treegraph
 
Reported: 2012-03-18 20:33 PDT by Jesse Ruderman
Modified: 2012-06-16 09:57 PDT (History)
4 users (show)
bzbarsky: in‑testsuite+
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
testcase (asserts fatally when loaded) (809 bytes, text/html)
2012-03-18 20:33 PDT, Jesse Ruderman
no flags Details
stack trace (14.08 KB, text/plain)
2012-03-18 20:33 PDT, Jesse Ruderman
no flags Details

Description Jesse Ruderman 2012-03-18 20:33:19 PDT
Created attachment 607052 [details]
testcase (asserts fatally when loaded)

###!!! ASSERTION: Already have an undisplayed context entry for aContent: '!GetUndisplayedContent(aContent)', file layout/base/nsFrameManager.cpp, line 371

###!!! ASSERTION: Found more undisplayed content data after removal: 'context == nsnull', file layout/base/nsFrameManager.cpp, line 427

###!!! ASSERTION: Unexpected document; this will lead to incorrect behavior!: 'aElement->GetCurrentDoc() == Document()', file layout/base/RestyleTracker.cpp, line 291

(Above assertions are probably covered by bug 537624.)

Assertion failure: mElements.Contains(cur), at layout/style/nsCSSRuleProcessor.cpp:3363

(New assertion, added in bug 705877.)
Comment 1 Jesse Ruderman 2012-03-18 20:33:40 PDT
Created attachment 607053 [details]
stack trace
Comment 2 Boris Zbarsky [:bz] (still a bit busy) 2012-03-18 20:41:27 PDT
Yeah, so...  That last assert is triggered by the previous ones: we're reresolving style on a bogus undisplayed entry (in particular, for a node that's not in the document), so of course we don't have the right parent stack for it.

Jesse, how much of a problem is this for you?  I can make the assert nonfatal or I can loosen it up to be nonfatal or not fire at all at least for nodes not in documents (since there is no good reason for such nodes to ever come through this code), if that would be useful, but I don't think there's any new problem here past what bug 537624 covers.
Comment 3 Boris Zbarsky [:bz] (still a bit busy) 2012-03-18 20:42:33 PDT
And on trunk I should of course just fix bug 537624.  I'm really sorry I haven't yet.
Comment 4 Jesse Ruderman 2012-03-18 20:46:20 PDT
This is only a problem for me in that I won't find other ways to trigger the same assertion. How much of a problem is that for you? ;)
Comment 5 Boris Zbarsky [:bz] (still a bit busy) 2012-03-18 21:28:39 PDT
Some.  ;)

I'll try to get a fix up tomorrow.
Comment 6 Boris Zbarsky [:bz] (still a bit busy) 2012-03-19 15:37:20 PDT
The patch I just checked in for bug 537624 fixes this bug.
Comment 7 Boris Zbarsky [:bz] (still a bit busy) 2012-03-21 19:31:33 PDT
Fixed yesterday.

Jesse, keep banging on this stuff, please!

Note You need to log in before you can comment on or make changes to this bug.