Closed
Bug 404553
Opened 17 years ago
Closed 17 years ago
[FIX]ASSERTION: Child not at the right index? with table, marquee, span and title
Categories
(Core :: DOM: Core & HTML, defect)
Core
DOM: Core & HTML
Tracking
()
RESOLVED
FIXED
mozilla1.9beta2
People
(Reporter: martijn.martijn, Assigned: bzbarsky)
Details
(Keywords: assertion, testcase)
Attachments
(4 files)
39 bytes,
text/html
|
Details | |
1.11 KB,
patch
|
peterv
:
review+
peterv
:
superreview+
mtschrep
:
approval1.9+
|
Details | Diff | Splinter Review |
42 bytes,
text/html
|
Details | |
1.90 KB,
patch
|
bzbarsky
:
review+
|
Details | Diff | Splinter Review |
See testcase, I see this assertion in current debug trunk build, while loading the testcase. ###!!! ASSERTION: Child not at the right index?: '!aContainer || aContainer->Ind exOf(aChild) == aIndexInContainer', file c:/mozilla-build/mozilla/content/xbl/sr c/nsBindingManager.cpp, line 1547
Assignee | ||
Comment 1•17 years ago
|
||
Not an XBL bug. The HTML parser is screwing up its indexing, and has ever since incremental HTML parsing landed in this edge case! I wonder why marquee triggers it, though...
Component: XBL → DOM
Flags: in-testsuite?
OS: Windows XP → All
QA Contact: xbl → general
Hardware: PC → All
Assignee | ||
Comment 2•17 years ago
|
||
Attachment #289551 -
Flags: superreview?(peterv)
Attachment #289551 -
Flags: review?(peterv)
Assignee | ||
Updated•17 years ago
|
Assignee: nobody → bzbarsky
Summary: ASSERTION: Child not at the right index? with table, marquee, span and title → [FIX]ASSERTION: Child not at the right index? with table, marquee, span and title
Target Milestone: --- → mozilla1.9 M10
Updated•17 years ago
|
Attachment #289551 -
Flags: superreview?(peterv)
Attachment #289551 -
Flags: superreview+
Attachment #289551 -
Flags: review?(peterv)
Attachment #289551 -
Flags: review+
Assignee | ||
Comment 3•17 years ago
|
||
Comment on attachment 289551 [details] [diff] [review] Fix Fixes very long-standing bug with the content sink lying about where it's just inserted the content. Luckily layout doesn't rely on the reported index too much, but other consumers do...
Attachment #289551 -
Flags: approval1.9?
Updated•17 years ago
|
Attachment #289551 -
Flags: approval1.9? → approval1.9+
Assignee | ||
Comment 4•17 years ago
|
||
Oh, the marquee triggers the assert because then there's XBL in the document, so we actually take this codepath.... Should be possible to write a fully stand-alone testcase for crashtest without marquee.
Assignee | ||
Comment 5•17 years ago
|
||
Checked in.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 6•17 years ago
|
||
Well, this one is without marquee, but uses embed typ="unknown", so not sure if this is useful.
Assignee | ||
Comment 7•17 years ago
|
||
I was thinking something that uses a div with an explicitly attached (via -moz-binding) binding... The <embed> thing only works in Firefox (due to pluginfinder), and it'd be nice to have a generic Gecko test....
Reporter | ||
Comment 8•17 years ago
|
||
Well, I tried that (and more), but I can't seem to trigger the assertion that way.
Assignee | ||
Comment 9•17 years ago
|
||
Hmm. What binding did you use? I think it'd need to be a chrome binding; I can't think of a way to force a content binding load to complete expeditiously enough in this case...
Reporter | ||
Comment 10•17 years ago
|
||
I tried an external empty binding, an empty binding as a data url and the embed binding (plugin placeholder binding) as a data url. And I think I tried the same for the marquee case.
Assignee | ||
Comment 11•17 years ago
|
||
Yeah, data: URI bindings won't work, since they load async. Is there a chrome binding that we can assume is always there for test purposes?
Reporter | ||
Comment 12•17 years ago
|
||
I don't think the marquee or plugin binding are going away any time soon, but I guess it's bad practice to rely on that?
Assignee | ||
Comment 13•17 years ago
|
||
Yeah... I guess relying on the marquee binding is OK if we also add a test (mochitest?) that checks that <marquee> is implemented with a binding and points out in the comments that if it's not this test needs to be changed. Does that sound reasonable?
Reporter | ||
Comment 14•17 years ago
|
||
Ok, this is a reftest that triggers the assertion. By making it compare against the reference, I'm assured that the marquee binding is applied (unless marquee will be hardcoded in Gecko, which I don't see coming soon).
Attachment #291546 -
Flags: review?(bzbarsky)
Reporter | ||
Comment 15•17 years ago
|
||
(Although, I guess the parser could change which could make the test useless, anyhow)
Assignee | ||
Comment 16•17 years ago
|
||
Comment on attachment 291546 [details] [diff] [review] reftest Looks fine. We might want to add this to crashtest, not reftest, right?
Attachment #291546 -
Flags: review?(bzbarsky) → review+
Assignee | ||
Comment 17•17 years ago
|
||
Comment on attachment 291546 [details] [diff] [review] reftest Or at least document that this is an assertion test so it'll get moved once we have crashtest.
Reporter | ||
Comment 18•17 years ago
|
||
RCS file: /cvsroot/mozilla/layout/reftests/bugs/404553-1.html,v done Checking in 404553-1.html; /cvsroot/mozilla/layout/reftests/bugs/404553-1.html,v <-- 404553-1.html initial revision: 1.1 done RCS file: /cvsroot/mozilla/layout/reftests/bugs/404553-1-ref.html,v done Checking in 404553-1-ref.html; /cvsroot/mozilla/layout/reftests/bugs/404553-1-ref.html,v <-- 404553-1-ref.htm l initial revision: 1.1 done Checking in reftest.list; /cvsroot/mozilla/layout/reftests/bugs/reftest.list,v <-- reftest.list new revision: 1.250; previous revision: 1.249 done I added a comment that this is an assertion test, I don't know of any crashtest yet. But note that the reference rendering is needed to know that the marquee binding has been applied.
Flags: in-testsuite? → in-testsuite+
Comment 19•17 years ago
|
||
(In reply to comment #18) > I added a comment that this is an assertion test, I don't know of any crashtest > yet. See bug 397725 for more information.
Reporter | ||
Comment 20•17 years ago
|
||
(In reply to comment #19) > See bug 397725 for more information. Yes, thanks, I knew that, but that hasn't been checked in yet, afaik. I had to disable the reftest: Checking in reftest.list; /cvsroot/mozilla/layout/reftests/bugs/reftest.list,v <-- reftest.list new revision: 1.251; previous revision: 1.250 done ..because MacOSX Darwin 8.8.4 bm-xserve11 Dep Debug + Leak Test and MacOSX Darwin 8.8.4 qm-xserve01 dep unit test were failing. I see: REFTEST UNEXPECTED FAIL: file:///builds/slave/trunk_osx/mozilla/layout/reftests/bugs/404553-1.html I don't really know how to fix my reftest, because it doesn't fail for me here, last time I checked.
Flags: in-testsuite+ → in-testsuite?
Assignee | ||
Comment 21•17 years ago
|
||
> But note that the reference rendering is needed to know that the marquee
> binding has been applied.
Then we probably want to document that in the comment, so the test ends up in both places...
I'll take a look at this test on Mac.
Reporter | ||
Comment 22•17 years ago
|
||
Thanks, Boris. The reftest is rather similar to the one in bug 336736. There was also a Mac reftest issue, see bug 336736, comment 28 and comment 29. Maybe that is basically the same issue here? It was fixed there by changing the reftest, so I guess I should do that too?
Reporter | ||
Comment 23•17 years ago
|
||
Checking in 404553-1.html; /cvsroot/mozilla/layout/reftests/bugs/404553-1.html,v <-- 404553-1.html new revision: 1.2; previous revision: 1.1 done Checking in 404553-1-ref.html; /cvsroot/mozilla/layout/reftests/bugs/404553-1-ref.html,v <-- 404553-1-ref.htm l new revision: 1.2; previous revision: 1.1 done Checking in reftest.list; /cvsroot/mozilla/layout/reftests/bugs/reftest.list,v <-- reftest.list new revision: 1.262; previous revision: 1.261 done Ok, I now update the test with the suggestion in 336736, comment 32. Hopefully, it sticks this time. According to that comment, it isn't necessarily a bug on the Mac, btw. I also added this comment in reftest.list as suggested in comment 21: # assertion test, also tests that marquee binding is applied correctly
Flags: in-testsuite? → in-testsuite+
Updated•5 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•