Closed Bug 9890 Opened 25 years ago Closed 25 years ago

chrome: NECKO: [PP] Crash if chrome/global is missing

Categories

(Core :: Networking, defect, P3)

x86
Linux
defect

Tracking

()

VERIFIED WORKSFORME

People

(Reporter: akkzilla, Assigned: hyatt)

Details

(Keywords: testcase, Whiteboard: move to m10?)

Go to dist/bin, move or rename the chrome/global directory, and run apprunner. It prints: CSSLoaderImpl::DidLoadStyle: Load of URL 'chrome:/global/skin/' failed. Error code: 1 Assertion: "broken loading table" (oldData == aLoadData) at file /builds/wed/mozilla/layout/html/style/src/nsCSSLoader.cpp, line 625 and then crashes: #0 0x40843218 in main_arena () #1 0x40292455 in nsDocumentBindInfo::OnStopRequest (this=0x81a0418, aURL=0x81a0350, aStatus=2152398849, aMsg=0xbfffe634) at /builds/wed/mozilla/webshell/src/nsDocLoader.cpp:2041 #2 0x40110461 in bam_exit_routine (URL_s=0x81a0590, status=-215, window_id=0x81a0760) at /builds/wed/mozilla/network/module/nsNetService.cpp:1454 #3 0x400e1a2e in net_CallExitRoutine ( exit_routine=0x40110354 <bam_exit_routine(URL_Struct_ *, int, MWContext_ *)>, URL_s=0x81a0590, status=-215, format_out=38, window_id=0x81a0760) at /builds/wed/mozilla/network/main/mkgeturl.c:1142 #4 0x400e47f5 in NET_GetURL (URL_s=0x81a0590, output_format=102, window_id=0x81a0760, exit_routine=0x40110354 <bam_exit_routine(URL_Struct_ *, int, MWContext_ *)>) at /builds/wed/mozilla/network/main/mkgeturl.c:3118 #5 0x4010e7f5 in nsNetlibService::OpenStream (this=0x80d82f8, aUrl=0x81a0350, aConsumer=0x81a0418) at /builds/wed/mozilla/network/module/nsNetService.cpp:513 #6 0x40291ca4 in nsDocumentBindInfo::Bind (this=0x81a0418, aURL=0x81a0350, aListener=0x81a03ac) at /builds/wed/mozilla/webshell/src/nsDocLoader.cpp:1581 #7 0x40290add in nsDocLoaderImpl::OpenStream (this=0x80f33d8, aUrl=0x81a0350, aConsumer=0x81a03ac) at /builds/wed/mozilla/webshell/src/nsDocLoader.cpp:915 #8 0x4010ffa5 in NS_OpenURL (aURL=0x81a0350, aConsumer=0x81a03ac) at /builds/wed/mozilla/network/module/nsNetService.cpp:1207 #9 0x401133ed in nsUnicharStreamLoader::nsUnicharStreamLoader ( this=0x81a03a8, aURL=0x81a0350, aFunc=0x40dcc200 <DoneLoadingStyle(nsIUnicharStreamLoader *, nsString &, void *, unsigned int)>, aRef=0x81a02d8) at /builds/wed/mozilla/network/module/nsNetStreamLoader.cpp:68 #10 0x40113882 in NS_NewUnicharStreamLoader (aInstancePtrResult=0xbfffec3c, aURL=0x81a0350, aFunc=0x40dcc200 <DoneLoadingStyle(nsIUnicharStreamLoader *, nsString &, void *, unsigned int)>, aRef=0x81a02d8) at /builds/wed/mozilla/network/module/nsNetStreamLoader.cpp:212 #11 0x40dcd618 in CSSLoaderImpl::LoadSheet (this=0x81053c8, aKey=@0xbfffec74, aData=0x81a02d8) at /builds/wed/mozilla/layout/html/style/src/nsCSSLoader.cpp:1074 #12 0x40dcdaa2 in CSSLoaderImpl::LoadStyleLink (this=0x81053c8, aElement=0x0, aURL=0x8195e10, aTitle=@0xbfffee24, aMedia=@0xbfffede8, aDefaultNameSpaceID=-1, aDocIndex=0, aParserToUnblock=0x8139370, aCompleted=@0xbfffecc0) at /builds/wed/mozilla/layout/html/style/src/nsCSSLoader.cpp:1194 #13 0x40a45654 in XULContentSinkImpl::ProcessStyleLink (this=0x810d008, aElement=0x0, aHref=@0xbfffeeb8, aAlternate=0, aTitle=@0xbfffee24, aType=@0xbfffee60, aMedia=@0xbfffede8) at /builds/wed/mozilla/rdf/datasource/src/nsXULContentSink.cpp:790 #14 0x40a45b52 in XULContentSinkImpl::AddProcessingInstruction ( this=0x810d008, aNode=@0xbfffef28) at /builds/wed/mozilla/rdf/datasource/src/nsXULContentSink.cpp:849 #15 0x402d7d53 in CWellFormedDTD::HandleToken (this=0x818d2d8, aToken=0x818f080, aParser=0x8139370) at /builds/wed/mozilla/htmlparser/src/nsWellFormedDTD.cpp:445 #16 0x402d797c in CWellFormedDTD::BuildModel (this=0x818d2d8, aParser=0x8139370, aTokenizer=0x818d418, anObserver=0x0, aSink=0x810d008) at /builds/wed/mozilla/htmlparser/src/nsWellFormedDTD.cpp:253 #17 0x402d011c in nsParser::BuildModel (this=0x8139370) at /builds/wed/mozilla/htmlparser/src/nsParser.cpp:933 #18 0x402cfff1 in nsParser::ResumeParse (this=0x8139370, aDefaultDTD=0x0) at /builds/wed/mozilla/htmlparser/src/nsParser.cpp:880 #19 0x402d0576 in nsParser::OnDataAvailable (this=0x8139370, aURL=0x80f3b48, pIStream=0x80f5fe0, aLength=8192) at /builds/wed/mozilla/htmlparser/src/nsParser.cpp:1154 #20 0x402922fb in nsDocumentBindInfo::OnDataAvailable (this=0x80f3b08, aURL=0x80f3b48, aStream=0x80f5fe0, aLength=8192) at /builds/wed/mozilla/webshell/src/nsDocLoader.cpp:1947 #21 0x40116e1f in stub_put_block (stream=0x80f5870, buffer=0x80d8350 "<?xml version=\"1.0\"?> \n\n<!-- The contents of this file are subject to the Netscape Public\nLicense Version 1.1 (the \"License\"); you may not use this file\nexcept in compliance with the License. You may "..., length=8192) at /builds/wed/mozilla/network/module/nsStubContext.cpp:849 #22 0x40032bae in net_read_file_chunk (cur_entry=0x80f3be8) at /builds/wed/mozilla/network/protocol/file/mkfile.c:956 #23 0x40033549 in net_ProcessFile (cur_entry=0x80f3be8) at /builds/wed/mozilla/network/protocol/file/mkfile.c:1327 #24 0x400e4f73 in NET_ProcessNet (ready_fd=0x0, fd_type=1) at /builds/wed/mozilla/network/main/mkgeturl.c:3357 #25 0x400ece55 in NET_PollSockets () at /builds/wed/mozilla/network/main/mkselect.c:298 #26 0x40110206 in nsNetlibService::NetPollSocketsCallback (aTimer=0x80fa150, aClosure=0x80d82f8) at /builds/wed/mozilla/network/module/nsNetService.cpp:1271
I'm seeing what I *think* is the same crash in the 1999-07-14-08-M8 linux opt build from mozilla.org, when I open the sidebar, since res/samples/bm-panel.xul and res/samples/related-panel.xul still didn't use chrome URL's in that build. I get rid of the crash if I replace their stylesheets with chrome URL's, but can get it back by replacing chrome://global/skin/ in related-panel.xul with res:/samples/xul.css (which no longer exists). The stack traces look very similar, but not quite the same (#1 and #2 differ, but that could be debug/opt or something else weird). Here's the top of mine from the opt build: #0 0x405cf5d4 in main_arena () b#1 0x7264 in ?? () #2 0x400e937e in NS_ShutdownINetService () #3 0x400c8ba3 in net_CallExitRoutine () #4 0x400cabe0 in NET_GetURL () #5 0x400e80aa in nsNetlibService::OpenStream () #6 0x40204428 in nsDocumentBindInfo::Bind () #7 0x4020381d in nsDocLoaderImpl::OpenStream () This seems like a general XUL crashes if a stylesheet doesn't exist. Therefore, raising severity to critical. I can replicate in on other XUL files. For example, add a nonexistant stylesheet to res/samples/bookmarks.xul and go to Bookmarks|Manage Bookmarks. Same crash...
Severity: normal → critical
Assignee: peterl → gagan
Component: Style System → Networking-Core
Summary: Crash if chrome/global is missing → [PP] Crash if chrome/global is missing
This appears to be another case of NS_NewUnicharStreamLoader calling its callback function synchronously (on linux only). I've added debug code to the CSSLoader to detect when that happens.
Summary: [PP] Crash if chrome/global is missing → NECKO: [PP] Crash if chrome/global is missing
Pl. verify with Necko.
Component: Networking-Core → Necko
Target Milestone: M9
Component: Necko → Networking-Core
The original stack trace is from a non-necko build. Pls. verify this with the latest necko (tip) I also recently fixed the chrome:// and resource:/ problems we have been having with using inconsistent styles. So that should also help.
QA Contact: chrisd → paulmac
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Whiteboard: 8/12 asked reporter to verify
akkana, can you verify this fix. I really don't know what is supposed to happen in this case.
Status: RESOLVED → REOPENED
Whiteboard: 8/12 asked reporter to verify
Well ... it doesn't crash any more, but instead it prints: CSSLoaderImpl::DidLoadStyle: Load of URL 'chrome://global/skin/' failed. Error code: 65535 Got the event queue from the service Calling gdk_input_add with event queue Error: Can't load: file:////builds/wed/thu/mozilla/dist/bin/chrome/global/content/default/tasksOverlay.xul (8000ffff) nsWidget::RealizeSignal(0x812eac8) and then hangs waiting for a nonexistant window to come up. I'm not sure that hanging is better than crashing. (It would be helpful if a QA person could try this in an optimized build and see what messages are printed out and whether they are clear.) It really ought to print an error message then exit.
Whiteboard: move to m10?
under what conditions might the files be missing? does't sound like something we need to hold m9 for.
No, don't hold M9 for it.
Target Milestone: M9 → M10
Resolution: FIXED → ---
Clearing FIXED resolution due to reopen of this bug.
Assignee: gagan → hyatt
Status: REOPENED → NEW
David said he didn't have enough bugs. Its a dup of one of his bugs...
My hands have deteriorated to the point where I can no longer type. I need help. If you think you can fix this bug on your own, please take it away from me. If you'd like to volunteer to be my hands for a specific bug, then I'll be happy to come up to your cube and sit with you and fix the bug (assuming you have the patience for that).
Target Milestone: M10 → M14
moving to m14
Status: NEW → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → WORKSFORME
resolving as wfm per hyatt.
Bulk move of all Networking-Core (to be deleted component) bugs to new Networking component.
sorry fot the spam, changing QA contact.
QA Contact: paulmac → tever
Status: RESOLVED → VERIFIED
verified WORKSFORME Linux 2000070420
Keywords: testcase
Summary: NECKO: [PP] Crash if chrome/global is missing → chrome: NECKO: [PP] Crash if chrome/global is missing
You need to log in before you can comment on or make changes to this bug.