Closed
Bug 242034
Opened 20 years ago
Closed 8 years ago
###!!! ASSERTION: not a file URL: 'Error', file r:/mozilla/netwerk/base/src/nsStandardURL.cpp, line 2218
Categories
(Core :: Networking, defect, P5)
Tracking
()
RESOLVED
INCOMPLETE
People
(Reporter: timeless, Unassigned)
Details
(Keywords: assertion)
I know this doesn't make any sense, but i'd like to blame bug 240496 ###!!! ASSERTION: not a file URL: 'Error', file r:/mozilla/netwerk/base/src/nsStandardURL.cpp, line 2218 Break: at file r:/mozilla/netwerk/base/src/nsStandardURL.cpp, line 2218 xpcom.dll!nsDebug::Assertion(const char * aStr=0x01d3a634, const char * aExpr=0x01d36e48, const char * aFile=0x01d3a168, int aLine=0x000008aa) Line 109 C++ necko.dll!nsStandardURL::GetFile(nsIFile * * result=0x0390cea4) Line 2218 + 0x1a C++ > necko.dll!nsJARChannel::EnsureJarInput(int blocking=0x00000000) Line 271 + 0x22 C++ necko.dll!nsJARChannel::AsyncOpen(nsIStreamListener * listener=0x0390eb70, nsISupports * ctx=0x00000000) Line 607 C++ gklayout.dll!nsXBLService::FetchBindingDocument(nsIContent * aBoundElement=0x03800070, nsIDocument * aBoundDocument=0x035aced0, nsIURI * aDocumentURI=0x0390c6b0, nsIURL * aBindingURL=0x03905098, int aForceSyncLoad=0x0390ce20, nsIDocument * * aResult=0x0390c778) Line 1218 C++ gklayout.dll!nsXBLService::LoadBindingDocumentInfo(nsIContent * aBoundElement=0x00000000, nsIDocument * aBoundDocument=0x035aced0, nsIURI * aBindingURI=0x00000000, int aForceSyncLoad=0x00000000, nsIXBLDocumentInfo * * aResult=0x0012efc4) Line 1105 + 0x1e C++ gklayout.dll!nsXBLService::GetBindingInternal(nsIContent * aBoundElement=0x03800070, nsIURI * aURI=0x03905098, int aPeekOnly=0x00000000, int * aIsReady=0x0012effc, nsIXBLBinding * * aResult=0x0012f0f0) Line 883 + 0x26 C++ gklayout.dll!nsXBLService::GetBinding(nsIContent * aBoundElement=0x03800070, nsIURI * aURI=0x03905098, nsIXBLBinding * * aResult=0x0012f0f0) Line 841 C++ gklayout.dll!nsXBLService::LoadBindings(nsIContent * aContent=0x0012eb38, nsIURI * aURL=0x00369083, int aAugmentFlag=0x0390c460, nsIXBLBinding * * aBinding=0x01d3a0ec, int * aResolveStyle=0x0012eb44) Line 581 + 0x1a C++ - fileURL {mRawPtr=0x0390c460 {mRefCnt={mValue=0x00000003 } _mOwningThread={mThread=0x003f5b80 } mSpec={...} ...} } nsCOMPtr<nsIFileURL> - mRawPtr 0x0390c460 {mRefCnt={mValue=0x00000003 } _mOwningThread={mThread=0x003f5b80 } mSpec={...} ...} nsIFileURL * - [nsStandardURL] {mRefCnt={mValue=0x00000003 } _mOwningThread={mThread=0x003f5b80 } mSpec={...} ...} nsStandardURL - mSpec {...} nsCString - nsCSubstring {...} nsCSubstring - nsACString {mVTable=0x00392430 const nsObsoleteACStringThunk::`vftable' mData=0x03905330 "resource:///chrome/inspector.jar" mLength=0x00000020 ...} const nsACString mVTable 0x00392430 const nsObsoleteACStringThunk::`vftable' const void * + mData 0x03905330 "resource:///chrome/inspector.jar" char * cvs updated yesterday, built today. triggered by using ctrl-shift-i to load dom inspector <Neil> timeless: that generally means that someone didn't use the io service to try to create a file url
Comment 1•20 years ago
|
||
> I know this doesn't make any sense, but i'd like to blame bug 240496
That's nice to know. But it doesn't make any sense.
How did you get that assert? What's further on the stack? All the frames you
show already have the nsIURI, so I have no idea who created it from a string and
how.
fresh run, picking stack up from where i left off: gklayout.dll!nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aContent=0x03616920, nsIFrame * aParentFrame=0x036a5494, nsIAtom * aTag=0x00f5e1a0, int aNameSpaceID=0x00000009, nsStyleContext * aStyleContext=0x036b851c, nsFrameItems & aFrameItems={...}, int aXBLBaseTag=0x00000000) Line 7091 + 0x23 C++ gklayout.dll!nsCSSFrameConstructor::ConstructFrame(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aContent=0x00000000, nsIFrame * aParentFrame=0x036a5494, nsFrameItems & aFrameItems={...}) Line 7049 C++ gklayout.dll!nsCSSFrameConstructor::ProcessChildren(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aContent=0x035cc5d0, nsIFrame * aFrame=0x03616920, int aCanHaveGeneratedContent=0x00000000, nsFrameItems & aFrameItems={...}, int aParentIsBlock=0x00000000, nsTableCreator * aTableCreator=0x03616920) Line 11486 + 0x2e C++ gklayout.dll!nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aContent=0x035cc5d0, nsIFrame * aParentFrame=0x035997c4, nsIAtom * aTag=0x00f5e0c0, int aNameSpaceID=0x00000009, nsStyleContext * aStyleContext=0x0365137c, nsFrameItems & aFrameItems={...}, int aXBLBaseTag=0x00000000, int & aHaltProcessing=0x035cc5d0) Line 5677 + 0x1b C++ gklayout.dll!nsCSSFrameConstructor::ConstructFrameInternal(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aContent=0x035cc5d0, nsIFrame * aParentFrame=0x035997c4, nsIAtom * aTag=0x00f5e0c0, int aNameSpaceID=0x00000009, nsStyleContext * aStyleContext=0x036514c8, nsFrameItems & aFrameItems={...}, int aXBLBaseTag=0x00000000) Line 7155 + 0x25 C++ gklayout.dll!nsCSSFrameConstructor::ConstructFrame(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aContent=0x00000000, nsIFrame * aParentFrame=0x035997c4, nsFrameItems & aFrameItems={...}) Line 7049 C++ gklayout.dll!nsCSSFrameConstructor::ProcessChildren(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aContent=0x035be5d0, nsIFrame * aFrame=0x035cc5d0, int aCanHaveGeneratedContent=0x00000001, nsFrameItems & aFrameItems={...}, int aParentIsBlock=0x00000000, nsTableCreator * aTableCreator=0x035cc5d0) Line 11486 + 0x2e C++ gklayout.dll!nsCSSFrameConstructor::ConstructDocElementFrame(nsIPresShell * aPresShell=0x0348a028, nsIPresContext * aPresContext=0x034c02c8, nsFrameConstructorState & aState={...}, nsIContent * aDocElement=0x035be5d0, nsIFrame * aParentFrame=0x035994fc, nsIFrame * & aNewFrame=0x035997c4) Line 3564 C++ gklayout.dll!nsCSSFrameConstructor::ContentInserted(nsIPresContext * aPresContext=0x035997c4, nsIContent * aContainer=0x00000000, nsIFrame * aContainerFrame=0x00000000, nsIContent * aChild=0x035be5d0, int aIndexInContainer=0x00000000, nsILayoutHistoryState * aFrameState=0x00000000, int aInReinsertContent=0x00000000) Line 8738 C++ gklayout.dll!PresShell::InitialReflow(int aWidth=0x01a5a0ec, int aHeight=0x0012eb44) Line 2794 C++ gklayout.dll!nsXULDocument::StartLayout() Line 2170 C++ gklayout.dll!nsXULDocument::ResumeWalk() Line 2987 C++ gklayout.dll!nsXULDocument::EndLoad() Line 743 C++ gklayout.dll!XULContentSinkImpl::DidBuildModel() Line 459 C++ gkparser.dll!nsExpatDriver::DidBuildModel(unsigned int anErrorCode=0x00000000, int aNotifySink=0x00000001, nsIParser * aParser=0x0360b478, nsIContentSink * aSink=0x0360b3c0) Line 1058 + 0xa C++ gkparser.dll!nsParser::DidBuildModel(unsigned int anErrorCode=0x00000000) Line 1244 + 0xe C++ gkparser.dll!nsParser::ResumeParse(int allowIteration=0x00000001, int aIsFinalChunk=0x00000001, int aCanInterrupt=0x00000001) Line 1808 C++ gkparser.dll!nsParser::OnStopRequest(nsIRequest * request=0x03703f00, nsISupports * aContext=0x01a5a0ec, unsigned int status=0x0012eb44) Line 2479 C++ necko.dll!nsJARChannel::OnStopRequest(nsIRequest * req=0x03629740, nsISupports * ctx=0x00000000, unsigned int status=0x00000000) Line 687 C++ necko.dll!nsInputStreamPump::OnStateStop() Line 506 C++ necko.dll!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream * stream=0x036297c4) Line 341 C++ xpcom.dll!nsInputStreamReadyEvent::EventHandler(PLEvent * plevent=0x036299d4) Line 119 C++ xpcom.dll!PL_HandleEvent(PLEvent * self=0x036299d4) Line 693 C xpcom.dll!PL_ProcessPendingEvents(PLEventQueue * self=0x00f492f8) Line 628 C xpcom.dll!_md_EventReceiverProc(HWND__ * hwnd=0x00a6098e, unsigned int uMsg=0x0000c181, unsigned int wParam=0x00000000, long lParam=0x00f492f8) Line 1434 C
In nsCSSFrameConstructor::ConstructFrameInternal, {,,necko.dll}((*(nsACString*)(&(*(nsCSubstring*)(&((*(nsStandardURL*)(&*(nsResURL*)(((*(nsJARURI*){*}((display->mBinding).mRawPtr)).mJARFile).mRawPtr)))).mSpec))))).mData 0x035c1b10 "resource:///chrome/inspector.jar" char * {,,necko.dll}((*(nsACString*)(&(*(nsCSubstring*)(&(*(nsStandardURL*)(((*(nsJARURI*){*}((display->mBinding).mRawPtr)).mJAREntry).mRawPtr)).mSpec))))).mData 0x035c1d30 "x:///content/inspector/extensions/titledSplitter.xml#titledSplitter" char * I can't imagine any of this is particularly helpful :(
Comment 4•20 years ago
|
||
Er.... that URI is an nsResURL? Then how did you ever end up in nsStandardURL::GetFile? nsResURL overrides that virtual function, no?
Comment 5•20 years ago
|
||
(In reply to comment #4) > Er.... that URI is an nsResURL? Then how did you ever end up in > nsStandardURL::GetFile? nsResURL overrides that virtual function, no? because maybe someone didn't call NewURI? maybe they just allocated a nsStandardURL directly :-(
Comment 6•20 years ago
|
||
My point is that nsResURL inherits from nsStandardURL. It overrides the GetFile() method. The jar channel code is calling GetFile() on an nsIURI that _should_ be an nsResURL if code is working right (and _is_ an nsResURL according to timeless' debugging data). In that case, why is nsStandardURL::GetFile being called? Calling GetFile() should be calling nsResURL::GetFile.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
Updated•18 years ago
|
Assignee: darin → nobody
QA Contact: benc → networking
Updated•8 years ago
|
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → INCOMPLETE
You need to log in
before you can comment on or make changes to this bug.
Description
•