Closed Bug 318106 Opened 19 years ago Closed 19 years ago

###!!! ASSERTION: Setting mutation listener bits on outer window?: 'window->IsInnerWindow()'

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
major

Tracking

()

RESOLVED FIXED

People

(Reporter: mcsmurf, Unassigned)

Details

(Keywords: assertion, regression)

Attachments

(1 file)

To reproduce open http://tinderbox.mozilla.org/showbuilds.cgi?tree=SeaMonkey, you should then get this assertion (you'll also get three "Adding child where we already have a child" assertions, but this is handled in Bug 307241 and is a old regression): ###!!! ASSERTION: Setting mutation listener bits on outer window?: 'window->IsIn nerWindow()', file h:/mozilla/tree-main/mozilla/content/events/src/nsEventListen erManager.cpp, line 747 Maybe i can come up with a minimal testcase if needed. This bug here is also causing the balsa orange on the Firefox tree (assertions being fatal there). Stacktrace: NTDLL! 7789193c() nsDebugImpl::Assertion(nsDebugImpl * const 0x002681a0, const char * 0x02321654, const char * 0x0232163c, const char * 0x023215f0, int 747) line 266 NSGlue_Assertion(const char * 0x023215f0, int 747) line 111 nsEventListenerManager::AddEventListener(nsIDOMEventListener * 0x059af0e8, EventArrayType eEventArrayType_Mutation, int 32, nsHashKey * 0x00000000, int 32770, nsIDOMEventGroup * 0x00000000) line 747 + 45 bytes nsEventListenerManager::AddEventListenerByType(nsEventListenerManager * const 0x059af130, nsIDOMEventListener * 0x059af0e8, const nsAString_internal & {...}, int 32770, nsIDOMEventGroup * 0x00000000) line 1130 nsDOMEventRTTearoff::AddEventListener(nsDOMEventRTTearoff * const 0x053d5bc0, const nsAString_internal & {...}, nsIDOMEventListener * 0x059af0e8, int 0, int 1) line 762 + 37 bytes nsDOMEventRTTearoff::AddEventListener(nsDOMEventRTTearoff * const 0x053d5bb8, const nsAString_internal & {...}, nsIDOMEventListener * 0x059af0e8, int 0) line 679 nsAttributeTextNode::BindToTree(nsIDocument * 0x0579a910, nsIContent * 0x05a7ca08, nsIContent * 0x059af090, int 1) line 354 + 68 bytes nsCSSFrameConstructor::CreateAttributeContent(nsIContent * 0x05a7ca08, nsIFrame * 0x05ab1504, int 0, nsIAtom * 0x00e94880, nsStyleContext * 0x05ab153c, nsIContent * * 0x0012e0c8, nsIFrame * * 0x0012e110) line 2013 + 44 bytes nsCSSFrameConstructor::CreateGeneratedFrameFor(nsIFrame * 0x05ab1504, nsIContent * 0x05a7ca08, nsStyleContext * 0x05ab153c, const nsStyleContent * 0x05ab14ac, unsigned int 0, nsIFrame * * 0x0012e110) line 2213 + 63 bytes nsCSSFrameConstructor::CreateGeneratedContentFrame(nsFrameConstructorState & {...}, nsIFrame * 0x05ab13dc, nsIContent * 0x05a7ca08, nsStyleContext * 0x05ab138c, nsIAtom * 0x00e947e8, nsIFrame * * 0x0012e17c) line 2366 + 37 bytes nsCSSFrameConstructor::ProcessInlineChildren(nsFrameConstructorState & {...}, nsIContent * 0x05a7ca08, nsIFrame * 0x05ab13dc, int 1, nsFrameItems & {...}, int * 0x0012e284) line 12944 + 44 bytes nsCSSFrameConstructor::ConstructInline(nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0583c0a8, nsIContent * 0x05a7ca08, nsIFrame * 0x05ab12f0, nsStyleContext * 0x05ab138c, int 0, nsIFrame * 0x05ab13dc) line 12770 + 39 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0583c0a8, nsIContent * 0x05a7ca08, int 0, nsIAtom * 0x00e94378, nsIFrame * 0x05ab12f0, nsStyleContext * 0x05ab138c, nsFrameItems & {...}, int 0) line 6864 + 34 bytes nsCSSFrameConstructor::ConstructFrameInternal(nsFrameConstructorState & {...}, nsIContent * 0x05a7ca08, nsIFrame * 0x05ab12f0, nsIAtom * 0x00e94378, int 0, nsStyleContext * 0x05ab138c, nsFrameItems & {...}, int 0) line 7994 + 52 bytes nsCSSFrameConstructor::ConstructFrame(nsFrameConstructorState & {...}, nsIContent * 0x05a7ca08, nsIFrame * 0x05ab12f0, nsFrameItems & {...}) line 7818 + 53 bytes nsCSSFrameConstructor::ProcessInlineChildren(nsFrameConstructorState & {...}, nsIContent * 0x05983c18, nsIFrame * 0x05ab12f0, int 1, nsFrameItems & {...}, int * 0x0012e6a0) line 12959 + 61 bytes nsCSSFrameConstructor::ConstructInline(nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0583c0a8, nsIContent * 0x05983c18, nsIFrame * 0x05ab1278, nsStyleContext * 0x05a9abe8, int 0, nsIFrame * 0x05ab12f0) line 12770 + 39 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0583c0a8, nsIContent * 0x05983c18, int 0, nsIAtom * 0x00e941e8, nsIFrame * 0x05ab1278, nsStyleContext * 0x05a9abe8, nsFrameItems & {...}, int 0) line 6864 + 34 bytes nsCSSFrameConstructor::ConstructFrameInternal(nsFrameConstructorState & {...}, nsIContent * 0x05983c18, nsIFrame * 0x05ab1278, nsIAtom * 0x00e941e8, int 0, nsStyleContext * 0x05a9abe8, nsFrameItems & {...}, int 0) line 7994 + 52 bytes nsCSSFrameConstructor::ConstructFrame(nsFrameConstructorState & {...}, nsIContent * 0x05983c18, nsIFrame * 0x05ab1278, nsFrameItems & {...}) line 7818 + 53 bytes nsCSSFrameConstructor::ProcessInlineChildren(nsFrameConstructorState & {...}, nsIContent * 0x05983b10, nsIFrame * 0x05ab1278, int 1, nsFrameItems & {...}, int * 0x0012eabc) line 12959 + 61 bytes nsCSSFrameConstructor::ConstructInline(nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0583c0a8, nsIContent * 0x05983b10, nsIFrame * 0x05ab11e4, nsStyleContext * 0x05a9a96c, int 0, nsIFrame * 0x05ab1278) line 12770 + 39 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0583c0a8, nsIContent * 0x05983b10, int 0, nsIAtom * 0x00e94518, nsIFrame * 0x05ab11e4, nsStyleContext * 0x05a9a96c, nsFrameItems & {...}, int 0) line 6864 + 34 bytes nsCSSFrameConstructor::ConstructFrameInternal(nsFrameConstructorState & {...}, nsIContent * 0x05983b10, nsIFrame * 0x05ab11e4, nsIAtom * 0x00e94518, int 0, nsStyleContext * 0x05a9a96c, nsFrameItems & {...}, int 0) line 7994 + 52 bytes nsCSSFrameConstructor::ConstructFrame(nsFrameConstructorState & {...}, nsIContent * 0x05983b10, nsIFrame * 0x05ab11e4, nsFrameItems & {...}) line 7818 + 53 bytes nsCSSFrameConstructor::ProcessChildren(nsFrameConstructorState & {...}, nsIContent * 0x05990f10, nsIFrame * 0x05ab11e4, int 1, nsFrameItems & {...}, int 1, nsTableCreator * 0x00000000) line 11653 + 58 bytes nsCSSFrameConstructor::ConstructTableCellFrame(nsFrameConstructorState & {...}, nsIContent * 0x05990f10, nsIFrame * 0x05ab0cf4, nsStyleContext * 0x05a9a6f8, nsTableCreator & {...}, int 0, nsFrameItems & {...}, nsIFrame * & 0x05ab1184, nsIFrame * & 0x05ab11e4, int & 0) line 4025 + 32 bytes nsCSSFrameConstructor::TableProcessChild(nsFrameConstructorState & {...}, nsIContent * 0x05990f10, nsIContent * 0x05983870, nsIFrame * 0x05ab0cf4, nsIAtom * 0x01029280, nsStyleContext * 0x05767c6c, nsTableCreator & {...}, nsFrameItems & {...}, nsIFrame * & 0x00000000) line 4285 + 51 bytes nsCSSFrameConstructor::TableProcessChildren(nsFrameConstructorState & {...}, nsIContent * 0x05983870, nsIFrame * 0x05ab0cf4, nsTableCreator & {...}, nsFrameItems & {...}, nsIFrame * & 0x00000000) line 4173 + 55 bytes nsCSSFrameConstructor::ConstructTableRowFrame(nsFrameConstructorState & {...}, nsIContent * 0x05983870, nsIFrame * 0x0527a71c, nsStyleContext * 0x05767c6c, nsTableCreator & {...}, int 0, nsFrameItems & {...}, nsIFrame * & 0x05ab0cf4, int & 0) line 3867 + 34 bytes nsCSSFrameConstructor::ConstructFrameByDisplayType(nsFrameConstructorState & {...}, const nsStyleDisplay * 0x0569ef3c, nsIContent * 0x05983870, int 0, nsIAtom * 0x00e94510, nsIFrame * 0x0527a71c, nsStyleContext * 0x05767c6c, nsFrameItems & {...}, int 0) line 6956 + 42 bytes nsCSSFrameConstructor::ConstructFrameInternal(nsFrameConstructorState & {...}, nsIContent * 0x05983870, nsIFrame * 0x0527a71c, nsIAtom * 0x00e94510, int 0, nsStyleContext * 0x05767c6c, nsFrameItems & {...}, int 0) line 7994 + 52 bytes nsCSSFrameConstructor::ConstructFrame(nsFrameConstructorState & {...}, nsIContent * 0x05983870, nsIFrame * 0x0527a71c, nsFrameItems & {...}) line 7818 + 53 bytes nsCSSFrameConstructor::ContentAppended(nsIContent * 0x0552d9d0, int 251) line 8931 PresShell::ContentAppended(nsIDocument * 0x0579a910, nsIContent * 0x0552d9d0, int 251) line 5126 nsDocument::ContentAppended(nsIContent * 0x0552d9d0, int 251) line 2286 nsHTMLDocument::ContentAppended(nsIContent * 0x0552d9d0, int 251) line 1138 HTMLContentSink::NotifyAppend(nsIContent * 0x0552d9d0, unsigned int 251) line 3667 SinkContext::FlushTags(int 1) line 1753 SinkContext::DidAddContent(nsIContent * 0x05983870, int 0) line 1110 SinkContext::CloseContainer(nsHTMLTag eHTMLTag_tr) line 1342 HTMLContentSink::CloseContainer(HTMLContentSink * const 0x05397a34, nsHTMLTag eHTMLTag_tr) line 2922 + 18 bytes CNavDTD::CloseContainer(nsHTMLTag eHTMLTag_tr) line 2739 + 31 bytes CNavDTD::CloseContainersTo(int 4, nsHTMLTag eHTMLTag_tr, int 0) line 2786 + 12 bytes CNavDTD::CloseContainersTo(nsHTMLTag eHTMLTag_tr, int 0) line 2930 + 20 bytes CNavDTD::HandleEndToken(CToken * 0x05983428) line 1732 + 14 bytes CNavDTD::HandleToken(CNavDTD * const 0x052c2d50, CToken * 0x05983428, nsIParser * 0x055bde80) line 742 + 12 bytes CNavDTD::BuildModel(CNavDTD * const 0x052c2d50, nsIParser * 0x055bde80, nsITokenizer * 0x056df5d0, nsITokenObserver * 0x00000000, nsIContentSink * 0x05397a34) line 375 + 20 bytes nsParser::BuildModel(nsParser * const 0x055bde80) line 2007 + 34 bytes nsParser::ResumeParse(int 1, int 1, int 1) line 1874 + 12 bytes nsParser::ContinueInterruptedParsing(nsParser * const 0x055bde80) line 1352 + 19 bytes nsParser::HandleParserContinueEvent() line 1421 nsParserContinueEvent::HandleEvent(PLEvent * 0x05aabd80) line 237 PL_HandleEvent(PLEvent * 0x05aabd80) line 688 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x00f28f00) line 623 + 9 bytes nsEventQueueImpl::ProcessPendingEvents(nsEventQueueImpl * const 0x00f28e38) line 417 + 12 bytes nsWindow::DispatchPendingEvents() line 4114 nsWindow::ProcessMessage(unsigned int 512, unsigned int 0, long 27853513, long * 0x0012fcd8) line 4495 nsWindow::WindowProc(HWND__ * 0x00100198, unsigned int 512, unsigned int 0, long 27853513) line 1330 + 27 bytes USER32! 77e3158f() USER32! 77e31dc9() USER32! 77e31e7e() nsAppStartup::Run(nsAppStartup * const 0x0101fb20) line 208 main1(int 1, char * * 0x00262638, nsISupports * 0x00f83218) line 1248 + 32 bytes main(int 1, char * * 0x00262638) line 1737 + 37 bytes mainCRTStartup() line 338 + 17 bytes KERNEL32! 77e98989()
Attachment #204464 - Flags: superreview?(bzbarsky)
Attachment #204464 - Flags: review?(bzbarsky)
Comment on attachment 204464 [details] [diff] [review] Add nsIDocument::GetInnerWindow() and use it where needed. r+sr=bzbarsky
Attachment #204464 - Flags: superreview?(bzbarsky)
Attachment #204464 - Flags: superreview+
Attachment #204464 - Flags: review?(bzbarsky)
Attachment #204464 - Flags: review+
Fix checked in.
Status: NEW → RESOLVED
Closed: 19 years ago
Hardware: PC → All
Resolution: --- → FIXED
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: