Closed Bug 81273 Opened 23 years ago Closed 23 years ago

URL with unavailable server -> crash (from browser or mail)[@ JS_GetPrivate]

Categories

(Core :: Networking, defect, P1)

defect

Tracking

()

RESOLVED FIXED
mozilla0.9.1

People

(Reporter: laurel, Assigned: darin.moz)

References

Details

(Keywords: crash, Whiteboard: [nsbeta1+])

Crash Data

Attachments

(1 file)

Using may16 commercial trunk build When you click a url in a mail message while you're in offline state, a crash occurs. Doesn't seem to matter whether or not a browser window is open at the time (shouldn't matter, but tried both ways). 1. Send yourself a message with a url in the mail message. 2. Get the message, download it for offline use and go offline. 3. Read the message and click on the url in the message. Result: crash occurs.
Keywords: crash, nsbeta1
QA Contact: esther → gchan
talkback is erroring on me - incidents: 30532377 & 30532332
I wish there were symbols. It's a very recursive looking stack where the top looks like what I'm pasting below and is much longer KERNEL32.DLL + 0xb9a9 (0xbff7b9a9) MSVCRT.DLL + 0xcc74 (0x7800cc74) MSVCRT.DLL + 0x12d9 (0x780012d9) XPCOM.DLL + 0x6fc5 (0x60e66fc5) XPCOM.DLL + 0x38fc0 (0x60e98fc0) XPCOM.DLL + 0x373df (0x60e973df) XPCOM.DLL + 0x3306d (0x60e9306d) XPCOM.DLL + 0x1257 (0x60e61257) URILDR.DLL + 0x4ee3 (0x60af4ee3) URILDR.DLL + 0x4b1d (0x60af4b1d) URILDR.DLL + 0x4940 (0x60af4940) NECKO.DLL + 0x1c67a (0x6078c67a) NECKO.DLL + 0x1c3e7 (0x6078c3e7) URILDR.DLL + 0x49e3 (0x60af49e3) NECKO.DLL + 0x1c402 (0x6078c402) URILDR.DLL + 0x49e3 (0x60af49e3) NECKO.DLL + 0x1c402 (0x6078c402) URILDR.DLL + 0x49e3 (0x60af49e3) NECKO.DLL + 0x1c402 (0x6078c402)
Priority: -- → P1
Whiteboard: [nsbeta1+]
Target Milestone: --- → mozilla0.9.1
It's nothing to do with offline - this happens whenever clicking on a link fails for whatever reason (I've seen it while online). It's an infinite recursion in the "unknown decoder" whatever that is. nsDebug::Assertion(const char * 0x01c5fef4, const char * 0x01c5fef0, const char * 0x01c5fea8, int 0x0000016c) line 290 + 13 bytes nsUnknownDecoder::FireListenerNotifications(nsIRequest * 0x079720f0, nsISupports * 0x00000000) line 364 + 35 bytes nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x0791baf0, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 225 + 16 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x05381620, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x07967c60, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x04f4bc48, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x06eb7090, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x07368bd8, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x06e6a8a8, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x0778e160, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x07608728, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x06c810f8, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x053b8480, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x06c27298, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x06fc1d20, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x07784ac0, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x075c7648, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x06c7dc10, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x07889d38, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x04f69380, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 255 nsUnknownDecoder::OnStopRequest(nsUnknownDecoder * const 0x06f3a028, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x80004005) line 232 + 38 bytes nsDocumentOpenInfo::OnStopRequest(nsDocumentOpenInfo * const 0x06e58180, nsIRequest * 0x079720f0, nsISupports * 0x00000000, unsigned int 0x804b003d) line 255 XPTC_InvokeByIndex(nsISupports * 0x06e58180, unsigned int 0x00000004, unsigned int 0x00000003, nsXPTCVariant * 0x04e676a8) line 139 EventHandler(PLEvent * 0x051b50c8) line 509 + 41 bytes PL_HandleEvent(PLEvent * 0x051b50c8) line 588 + 10 bytes Basically, it recurses attempting to send an infinite number of stop requests. I'll go figure out who's code this is. If I break the chain in the debugger, it finishes fine.
Component: Offline → Networking
Product: MailNews → Browser
Darin, I think you were the last person to change this code - can you run this quickly and see why we're getting infinite recursion here?
Assignee: bienvenu → darin
investigating...
bienvenu: which build are you seeing this infinite recursion behavior on? i just checked in a fix yesterday (5/15) that fixes the unknown decoder infinite recursion problem (see bug 80544). so, unless you are getting that stack trace with today's bits, i suspect this is a different problem.
Darin, I'm up to date, and this bug was reported on the may 16th build. Is it possible that your fix from yesterday accidentally caused today's problem? I've only seen this problem on today's build.
bienvenu: actually, you are correct... this is a "regression" from my fix for bug 80544... turns out that the unknown decoder is wanting to change the content-type of the channel for which it is sniffing a content-type. the problem is that nsHttpChannel::SetContentType is failing, so the content-type never gets changed. As a result, the uriloader continually tries to invoke the unknown content decoder to "snif" a content-type for the channel. hence, the infinite loop. you can repro this problem very easily by typing in a bad URL, for example: http://www.lasdfkjlasdjflasdjflsadkfja.com patch in hand...
Status: NEW → ASSIGNED
Keywords: patch
r=gagan
sr=bienvenu
oddly enought, I fixed this in my tree today.. sr =
*** Bug 81270 has been marked as a duplicate of this bug. ***
*** Bug 81391 has been marked as a duplicate of this bug. ***
*** Bug 81435 has been marked as a duplicate of this bug. ***
*** Bug 81453 has been marked as a duplicate of this bug. ***
qa to me. key + mostfreq
Keywords: mostfreq
QA Contact: gchan → benc
Summary: Offline: click url in mail msg when offline crashes. → URL with unavailable server -> crash (from browser or mail)
I built with the patch here. It does fix the crash.
fix checked in
Status: ASSIGNED → RESOLVED
Closed: 23 years ago
Resolution: --- → FIXED
*** Bug 81503 has been marked as a duplicate of this bug. ***
*** Bug 81499 has been marked as a duplicate of this bug. ***
*** Bug 81539 has been marked as a duplicate of this bug. ***
*** Bug 81551 has been marked as a duplicate of this bug. ***
*** Bug 81579 has been marked as a duplicate of this bug. ***
if 81579 is indeed a dup as timeless marked it then here is the stack I saw. win98 laptop ~300 mhz 64MBs saw this in talkback reports from the trunk so I tried it. and sure enough I crashed... stack also looks like another bug where I hit the mynetscape button, then hit the stop button. Incident ID 30599875 Trigger Time 2001-05-17 22:20:48 Email Address chofmann@netscape.com Client IP Address 205.217.228.245 User Comments simply go to https://www.schwab.com/ -boom, bye... Build ID 2001051707 Product ID Netscape6.50 Platform ID Win32 Stack Trace JS_GetPrivate [d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 1863] nsScriptSecurityManager::GetFramePrincipal [d:\builds\seamonkey\mozilla\caps\src\nsScriptSecurityManager.cpp, line 1111] nsScriptSecurityManager::GetFramePrincipal [d:\builds\seamonkey\mozilla\caps\src\nsScriptSecurityManager.cpp, line 1111] nsScriptSecurityManager::GetPrincipalAndFrame [d:\builds\seamonkey\mozilla\caps\src\nsScriptSecurityManager.cpp, line 1124] nsScriptSecurityManager::GetSubjectPrincipal [d:\builds\seamonkey\mozilla\caps\src\nsScriptSecurityManager.cpp, line 1163] nsScriptSecurityManager::CheckPropertyAccessImpl [d:\builds\seamonkey\mozilla\caps\src\nsScriptSecurityManager.cpp, line 275] nsScriptSecurityManager::CanAccess [d:\builds\seamonkey\mozilla\caps\src\nsScriptSecurityManager.cpp, line 1693] XPCWrappedNative::CallMethod [d:\builds\seamonkey\mozilla\js\src\xpconnect\src\xpcwrappednative.cpp, line 1527] XPC_WN_GetterSetter [d:\builds\seamonkey\mozilla\js\src\xpconnect\src\xpcwrappednativejsops.cpp, line 1274] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 809] js_InternalInvoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 897] js_GetProperty [d:\builds\seamonkey\mozilla\js\src\jsobj.c, line 2403] js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2541] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 825] js_InternalInvoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 897] js_GetProperty [d:\builds\seamonkey\mozilla\js\src\jsobj.c, line 2403] js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2541] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 825] nsXPCWrappedJSClass::CallMethod [d:\builds\seamonkey\mozilla\js\src\xpconnect\src\xpcwrappedjsclass.cpp, line 962] nsXPCWrappedJS::CallMethod [d:\builds\seamonkey\mozilla\js\src\xpconnect\src\xpcwrappedjs.cpp, line 427] PrepareAndDispatch [d:\builds\seamonkey\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp, line 102] SharedStub [d:\builds\seamonkey\mozilla\xpcom\reflect\xptcall\src\md\win32\xptcstubs.cpp, line 124] nsURILoader::ShouldHandleContent [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 664] nsURILoader::DispatchContent [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 730] nsDocumentOpenInfo::DispatchContent [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 298] nsDocumentOpenInfo::OnStartRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 220] nsUnknownDecoder::FireListenerNotifications [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 349] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 227] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233] nsDocumentOpenInfo::OnStopRequest [d:\builds\seamonkey\mozilla\uriloader\base\nsURILoader.cpp, line 255] nsUnknownDecoder::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\streamconv\converters\nsUnknownDecoder.cpp, line 233]
*** Bug 81595 has been marked as a duplicate of this bug. ***
*** Bug 80883 has been marked as a duplicate of this bug. ***
Summary: URL with unavailable server -> crash (from browser or mail) → URL with unavailable server -> crash (from browser or mail)[@ JS_GetPrivate]
*** Bug 81535 has been marked as a duplicate of this bug. ***
*** Bug 81665 has been marked as a duplicate of this bug. ***
File NEW bug if you crash AFTER 5/18/2001 builds...
Blocks: 81008
*** Bug 81841 has been marked as a duplicate of this bug. ***
*** Bug 81878 has been marked as a duplicate of this bug. ***
Crash Signature: [@ JS_GetPrivate]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: