Closed Bug 289063 Opened 20 years ago Closed 20 years ago

protected recursion triggers ASSERTION: failed to load URL: 'NS_SUCCEEDED(rv)', file r:/mozilla/content/html/content/src/nsGenericHTMLElement.cpp, line 3469

Categories

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

x86
Windows XP
defect
Not set
trivial

Tracking

()

RESOLVED FIXED

People

(Reporter: timeless, Assigned: timeless)

References

()

Details

(Keywords: assertion)

Attachments

(2 files)

###!!! ASSERTION: failed to load URL: 'NS_SUCCEEDED(rv)', file 
r:/mozilla/content/html/content/src/nsGenericHTMLElement.cpp, line 3469

 	xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x025cb928, const 
char * aExpr=0x025cb914, const char * aFile=0x025cb8d4, int aLine=0x00000d8d)  
Line 109	C++
 	gklayout.dll!nsGenericHTMLFrameElement::LoadSrc()  Line 3469 + 0x25
	C++
 	gklayout.dll!nsGenericHTMLFrameElement::SetParent(nsIContent * 
aParent=0x0555c908)  Line 3486	C++
 	gklayout.dll!nsGenericElement::AppendChildTo(nsIContent * 
aKid=0x05169290, int aNotify=0x00000000, int aDeepSetDocument=0x00000000)  Line 
2659	C++
 	gklayout.dll!SinkContext::AddLeaf(nsGenericHTMLElement * 
aContent=0x05169290)  Line 1576	C++
 	gklayout.dll!SinkContext::AddLeaf(const nsIParserNode & aNode={...})  
Line 1508	C++
 	gklayout.dll!HTMLContentSink::AddLeaf(const nsIParserNode & aNode=
{...})  Line 3130 + 0x12	C++
 	gkparser.dll!CNavDTD::AddLeaf(const nsIParserNode * aNode=0x050c78b8)  
Line 3589 + 0x19	C++
 	gkparser.dll!CNavDTD::HandleDefaultStartToken(CToken * 
aToken=0x04b948f0, nsHTMLTag aChildTag=eHTMLTag_frame, nsCParserNode * 
aNode=0x050c78b8)  Line 1291 + 0xc	C++
 	gkparser.dll!CNavDTD::HandleStartToken(CToken * aToken=0x04b948f0)  
Line 1654 + 0x14	C++
 	gkparser.dll!CNavDTD::HandleToken(CToken * aToken=0x04b948f0, nsIParser 
* aParser=0x04d273b0)  Line 910 + 0xc	C++
 	gkparser.dll!CNavDTD::BuildModel(nsIParser * aParser=0x04d273b0, 
nsITokenizer * aTokenizer=0x04a8a948, nsITokenObserver * anObserver=0x00000000, 
nsIContentSink * aSink=0x03f56a58)  Line 461 + 0x14	C++
 	gkparser.dll!nsParser::BuildModel()  Line 2069 + 0x22	C++
 	gkparser.dll!nsParser::ResumeParse(int allowIteration=0x00000001, int 
aIsFinalChunk=0x00000000, int aCanInterrupt=0x00000001)  Line 1936 + 0xc
	C++
 	gkparser.dll!nsParser::OnDataAvailable(nsIRequest * request=0x04b4cc98, 
nsISupports * aContext=0x00000000, nsIInputStream * pIStream=0x0426dc08, 
unsigned int sourceOffset=0x00000000, unsigned int aLength=0x00000421)  Line 
2616 + 0x15	C++
 	docshell.dll!nsDocumentOpenInfo::OnDataAvailable(nsIRequest * 
request=0x04b4cc98, nsISupports * aCtxt=0x00000000, nsIInputStream * 
inStr=0x0426dc08, unsigned int sourceOffset=0x00000000, unsigned int 
count=0x00000421)  Line 349 + 0x2e	C++
 	necko.dll!nsStreamListenerTee::OnDataAvailable(nsIRequest * 
request=0x04b4cc98, nsISupports * context=0x00000000, nsIInputStream * 
input=0x036146d0, unsigned int offset=0x00000000, unsigned int 
count=0x00000421)  Line 97 + 0x33	C++
>	necko.dll!nsHttpChannel::OnDataAvailable(nsIRequest * 
request=0x053d0900, nsISupports * ctxt=0x00000000, nsIInputStream * 
input=0x036146d0, unsigned int offset=0x00000000, unsigned int 
count=0x00000421)  Line 3920 + 0x44	C++
 	necko.dll!nsInputStreamPump::OnStateTransfer()  Line 437 + 0x46	C++
 	necko.dll!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream * 
stream=0x036146d0)  Line 340 + 0xb	C++
 	xpcom_core.dll!nsInputStreamReadyEvent::EventHandler(PLEvent * 
plevent=0x0576c4b4)  Line 120	C++
 	xpcom_core.dll!PL_HandleEvent(PLEvent * self=0x0576c4b4)  Line 698 + 0xa
	C
 	xpcom_core.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x01143078)  
Line 633 + 0x9	C
 	xpcom_core.dll!_md_TimerProc(HWND__ * hwnd=0x000e12b6, unsigned int 
uMsg=0x00000113, unsigned int idEvent=0x00000000, unsigned long 
dwTime=0x7d1d6ee9)  Line 1034 + 0x9	C
 	user32.dll!_InternalCallWinProc@20()  + 0x28	
 	user32.dll!_UserCallWinProc@24()  + 0xa1	
 	user32.dll!_DispatchMessageWorker@8()  + 0xcc6	
 	user32.dll!_DispatchMessageA@4()  + 0xf	
 	mfc71d.dll!AfxInternalPumpMessage()  Line 188	C++
 	mfc71d.dll!CWinThread::PumpMessage()  Line 916	C++
 	mfc71d.dll!CWinThread::Run()  Line 637 + 0xb	C++
 	mfc71d.dll!CWinApp::Run()  Line 701	C++
 	mfc71d.dll!AfxWinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * 
hPrevInstance=0x00000000, char * lpCmdLine=0x00142384, int 
nCmdShow=0x0000000a)  Line 49 + 0xb	C++
 	mfcembed.exe!WinMain(HINSTANCE__ * hInstance=0x00400000, HINSTANCE__ * 
hPrevInstance=0x00000000, char * lpCmdLine=0x00142384, int 
nCmdShow=0x0000000a)  Line 25	C++
 	mfcembed.exe!WinMainCRTStartup()  Line 390 + 0x39	C
 	kernel32.dll!_BaseProcessStart@4()  + 0x23	

the reduced case is;
file "a.html"
<frameset rows="*"><frame src="a.html">
Attached file simplified testcase
To trigger the assertion, save file to disk, then open.
Attached patch stop assertingSplinter Review
Assignee: general → timeless
Status: NEW → ASSIGNED
Attachment #179731 - Flags: superreview?(bzbarsky)
Attachment #179731 - Flags: review?(bzbarsky)
Attachment #179731 - Flags: superreview?(bzbarsky)
Attachment #179731 - Flags: superreview+
Attachment #179731 - Flags: review?(bzbarsky)
Attachment #179731 - Flags: review+
This bug has been fixed.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Component: DOM: HTML → DOM: Core & HTML
QA Contact: ian → general
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: