Closed
Bug 289237
Opened 19 years ago
Closed 8 years ago
ASSERTION: ### Attempting to remove unknown cache entry!!!: 'check == cacheEntry', file r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp, line 485
Categories
(Core :: Networking: Cache, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: timeless, Unassigned)
References
Details
(Keywords: assertion)
###!!! ASSERTION: ### Attempting to remove unknown cache entry!!!: 'check == cacheEntry', file r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp, line 485 xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x014fa004, const char * aExpr=0x014f9ff0, const char * aFile=0x014f9fc0, int aLine=0x000001e5) Line 109 C++ > necko.dll!nsCacheEntryHashTable::RemoveEntry(nsCacheEntry * cacheEntry=0x046dbc80) Line 485 + 0x22 C++ necko.dll!nsCacheService::DeactivateEntry(nsCacheEntry * entry=0x046dbc80) Line 1497 C++ necko.dll!nsCacheService::CloseDescriptor(nsCacheEntryDescriptor * descriptor=0x04c1d2b8) Line 1395 C++ necko.dll!nsCacheEntryDescriptor::Close() Line 420 + 0x9 C++ necko.dll!nsCacheEntryDescriptor::~nsCacheEntryDescriptor() Line 75 C++ necko.dll!nsCacheEntryDescriptor::`scalar deleting destructor'() + 0xf C++ necko.dll!nsCacheEntryDescriptor::Release() Line 53 + 0x8e C++ necko.dll!nsCOMPtr<nsICacheEntryDescriptor>::assign_assuming_AddRef(nsICacheEntryDescriptor * newPtr=0x00000000) Line 569 C++ necko.dll!nsCOMPtr<nsICacheEntryDescriptor>::assign_with_AddRef(nsISupports * rawPtr=0x00000000) Line 1225 C++ necko.dll!nsCOMPtr<nsICacheEntryDescriptor>::operator=(nsICacheEntryDescriptor * rhs=0x00000000) Line 714 C++ necko.dll!nsHttpChannel::CloseCacheEntry(unsigned int status=0x00000000) Line 1600 C++ necko.dll!nsHttpChannel::OnStopRequest(nsIRequest * request=0x04698d20, nsISupports * ctxt=0x00000000, unsigned int status=0x00000000) Line 3850 C++ necko.dll!nsInputStreamPump::OnStateStop() Line 507 C++ necko.dll!nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream * stream=0x040385b0) Line 343 + 0xb C++ xpcom_core.dll!nsInputStreamReadyEvent::EventHandler(PLEvent * plevent=0x0580db7c) Line 120 C++ xpcom_core.dll!PL_HandleEvent(PLEvent * self=0x0580db7c) 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=0x807b1add) 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 - cacheEntry 0x046dbc80 {mKey=0x04d0ae68 mFetchCount=0x00000001 mLastFetched=0x42523c63 ...} nsCacheEntry * |+ PRCListStr {next=0x046dbc80 {next=0x046dbc80 {next=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } prev=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } } prev=0x046dbc80 {next=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } prev=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } } } prev=0x046dbc80 {next=0x046dbc80 {next=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } prev=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } } prev=0x046dbc80 {next=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } prev=0x046dbc80 {next=0x046dbc80 prev=0x046dbc80 } } } } PRCListStr |- mKey 0x04d0ae68 nsCString * |\- nsCSubstring {...} nsCSubstring | \- nsACString {mVTable=0x00ee1688 const nsObsoleteACStringThunk::`vftable' mData=0x04cc9388 "HTTP:http://landfill.mozilla.org/ryl/random.html" mLength=0x00000030 ...} nsACString | | mVTable 0x00ee1688 const nsObsoleteACStringThunk::`vftable' const void * | |+ mData 0x04cc9388 "HTTP:http://landfill.mozilla.org/ryl/random.html" char * | | mLength 0x00000030 unsigned int | \ mFlags 0x00000005 unsigned int | mFetchCount 0x00000001 unsigned int | mLastFetched 0x42523c63 unsigned int | mLastModified 0x4252e3a5 unsigned int | mLastValidated 0xcdcdcdcd unsigned int | mExpirationTime 0x00000000 unsigned int | mFlags 0x00007e00 unsigned int | mDataSize 0x000001fa unsigned int |+ mCacheDevice 0x01953960 {mCacheDirectory={mRawPtr=0x01974e98 {mRefCnt={mValue=0x00000002 } _mOwningThread={mThread=0x003f51b8 } mDirty=0x01 '␁' ...} } mBindery={ops={allocTable=0x014a1b22 PL_DHashAllocTable freeTable=0x014a1b1c PL_DHashFreeTable getKey=0x01457640 GetKey(PLDHashTable *, PLDHashEntryHdr *) ...} table={ops=0x01520ab8 struct PLDHashTableOps nsDiskCacheBindery::ops data=0x00000000 hashShift=0x001c ...} initialized=0x00000001 } mCacheCapacity=0x03200000 ...} nsCacheDevice * |+ mSecurityInfo {...} nsCOMPtr<nsISupports> |+ mData {...} nsCOMPtr<nsISupports> | mThread 0xcdcdcdcd PRThread * |+ mMetaData {mData=0x03f5e268 {mNext=0x06209fd0 {mNext=0x0506d300 {mNext=0x00000000 mKey={...} mValue=0x0506d308 } mKey={mRawPtr=0x0367cef0 } mValue=0x06209fd8 "HTTP/1.1 200 OK Date: Tue, 05 Apr 2005 18:56:00 GMT Server: Apache/2.0.51 (Fedora) Last-Modified: Thu, 31 Mar 2005 01:19:19 GMT Etag: "83add-1fa-aed2f3c0" Accept-Ranges: bytes Content-Length: 506 Content-Type: text/html; charset=UTF-8 |" } mKey={mRawPtr=0x0367ce60 {mRefCnt={...} _mOwningThread={...} mString=0x0367ce6c } } mValue=0x03f5e270 "GET" } mMetaSize=0x00000123 } nsCacheMetaData |+ mRequestQ {next=0x046dbcc0 {next=0x046dbcc0 {next=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } prev=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } } prev=0x046dbcc0 {next=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } prev=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } } } prev=0x046dbcc0 {next=0x046dbcc0 {next=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } prev=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } } prev=0x046dbcc0 {next=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } prev=0x046dbcc0 {next=0x046dbcc0 prev=0x046dbcc0 } } } } PRCListStr \+ mDescriptorQ {next=0x046dbcc8 {next=0x046dbcc8 {next=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } prev=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } } prev=0x046dbcc8 {next=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } prev=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } } } prev=0x046dbcc8 {next=0x046dbcc8 {next=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } prev=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } } prev=0x046dbcc8 {next=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } prev=0x046dbcc8 {next=0x046dbcc8 prev=0x046dbcc8 } } } } PRCListStr - check 0x058376a0 {mKey=0x06583808 mFetchCount=0x00000001 mLastFetched=0x4252df4b ...} nsCacheEntry * |+ PRCListStr {next=0x058376a0 {next=0x058376a0 {next=0x058376a0 {next=0x058376a0 prev=0x058376a0 } prev=0x058376a0 {next=0x058376a0 prev=0x058376a0 } } prev=0x058376a0 {next=0x058376a0 {next=0x058376a0 prev=0x058376a0 } prev=0x058376a0 {next=0x058376a0 prev=0x058376a0 } } } prev=0x058376a0 {next=0x058376a0 {next=0x058376a0 {next=0x058376a0 prev=0x058376a0 } prev=0x058376a0 {next=0x058376a0 prev=0x058376a0 } } prev=0x058376a0 {next=0x058376a0 {next=0x058376a0 prev=0x058376a0 } prev=0x058376a0 {next=0x058376a0 prev=0x058376a0 } } } } PRCListStr |- mKey 0x06583808 nsCString * |\- nsCSubstring {...} nsCSubstring | \- nsACString {mVTable=0x00ee1688 const nsObsoleteACStringThunk::`vftable' mData=0x06583850 "HTTP:http://landfill.mozilla.org/ryl/random.html" mLength=0x00000030 ...} nsACString | | mVTable 0x00ee1688 const nsObsoleteACStringThunk::`vftable' const void * | |+ mData 0x06583850 "HTTP:http://landfill.mozilla.org/ryl/random.html" char * | | mLength 0x00000030 unsigned int | \ mFlags 0x00000005 unsigned int | mFetchCount 0x00000001 unsigned int | mLastFetched 0x4252df4b unsigned int | mLastModified 0xcdcdcdcd unsigned int | mLastValidated 0xcdcdcdcd unsigned int | mExpirationTime 0xffffffff unsigned int | mFlags 0x00007200 unsigned int | mDataSize 0x00000000 unsigned int |+ mCacheDevice 0x00000000 nsCacheDevice * |+ mSecurityInfo {...} nsCOMPtr<nsISupports> |+ mData {...} nsCOMPtr<nsISupports> | mThread 0xcdcdcdcd PRThread * |+ mMetaData {mData=0x00000000 {mNext=??? mKey={mRawPtr=??? } mValue=0x00000008 <Bad Ptr> } mMetaSize=0x00000000 } nsCacheMetaData |+ mRequestQ {next=0x058376e0 {next=0x058376e0 {next=0x058376e0 {next=0x058376e0 prev=0x058376e0 } prev=0x058376e0 {next=0x058376e0 prev=0x058376e0 } } prev=0x058376e0 {next=0x058376e0 {next=0x058376e0 prev=0x058376e0 } prev=0x058376e0 {next=0x058376e0 prev=0x058376e0 } } } prev=0x058376e0 {next=0x058376e0 {next=0x058376e0 {next=0x058376e0 prev=0x058376e0 } prev=0x058376e0 {next=0x058376e0 prev=0x058376e0 } } prev=0x058376e0 {next=0x058376e0 {next=0x058376e0 prev=0x058376e0 } prev=0x058376e0 {next=0x058376e0 prev=0x058376e0 } } } } PRCListStr \+ mDescriptorQ {next=0x05837724 {next=0x058376e8 {next=0x05837724 {next=0x058376e8 prev=0x058376e8 } prev=0x05837724 {next=0x058376e8 prev=0x058376e8 } } prev=0x058376e8 {next=0x05837724 {next=0x058376e8 prev=0x058376e8 } prev=0x05837724 {next=0x058376e8 prev=0x058376e8 } } } prev=0x05837724 {next=0x058376e8 {next=0x05837724 {next=0x058376e8 prev=0x058376e8 } prev=0x05837724 {next=0x058376e8 prev=0x058376e8 } } prev=0x058376e8 {next=0x05837724 {next=0x058376e8 prev=0x058376e8 } prev=0x05837724 {next=0x058376e8 prev=0x058376e8 } } } } PRCListStr
this assert is clearly paired with bug 270529, and it seems that this assert indicates the behavior in the other assert branch is bad 0:000> dpa @@(&$!cacheEntry->mKey->mData) 0517667c 04831010 "HTTP:http://landfill.mozilla.org/ryl/random.html" # 00 ntdll!DbgBreakPoint (FPO: [0,0,0]) 01 xpcom_core!nsDebugImpl::Break(char * aFile = 0x0147edf8 "r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp", int aLine = 0x1e5) +0x7e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\base\nsdebugimpl.cpp @ 350] 02 xpcom_core!nsDebugImpl::Assertion(char * aStr = 0x0147ee3c "### Attempting to remove unknown cache entry!!!", char * aExpr = 0x0147ee28 "check == cacheEntry", char * aFile = 0x0147edf8 "r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp", int aLine = 0x1e5) +0x29e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\base\nsdebugimpl.cpp @ 266] 03 xpcom_core!nsDebug::Assertion(char * aStr = 0x0147ee3c "### Attempting to remove unknown cache entry!!!", char * aExpr = 0x0147ee28 "check == cacheEntry", char * aFile = 0x0147edf8 "r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp", int aLine = 0x1e5) +0x4d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\dbg-i686-pc- cygwin\xpcom\build\nsdebug.cpp @ 109] 04 necko!nsCacheEntryHashTable::RemoveEntry(class nsCacheEntry * cacheEntry = 0x040a5380)+0x99 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\netwerk\cache\src\nscacheentry.cpp @ 485] 05 necko!nsCacheService::DeactivateEntry(class nsCacheEntry * entry = 0x040a5380)+0xdc (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\netwerk\cache\src\nscacheservice.cpp @ 1446] 06 necko!nsCacheService::CloseDescriptor(class nsCacheEntryDescriptor * descriptor = 0x031b6180)+0x5a (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\netwerk\cache\src\nscacheservice.cpp @ 1344] 07 necko!nsCacheEntryDescriptor::Close(void)+0x3c (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\netwerk\cache\src\nscacheentrydescriptor.cpp @ 420] 08 necko!nsCacheEntryDescriptor::~nsCacheEntryDescriptor(void)+0x24 (FPO: [Non- Fpo]) (CONV: thiscall) [r:\mozilla\netwerk\cache\src\nscacheentrydescriptor.cpp @ 75] 09 necko!nsCacheEntryDescriptor::`scalar deleting destructor'(void)+0xf (FPO: [Non-Fpo]) (CONV: thiscall) 0a necko!nsCacheEntryDescriptor::Release(void)+0x8e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\netwerk\cache\src\nscacheentrydescriptor.cpp @ 53] 0b necko!nsCOMPtr<nsICacheEntryDescriptor>::assign_assuming_AddRef(class nsICacheEntryDescriptor * newPtr = 0x00000000)+0x2b (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\dbg-i686-pc-cygwin\dist\include\xpcom\nscomptr.h @ 569] 0c necko!nsCOMPtr<nsICacheEntryDescriptor>::assign_with_AddRef(class nsISupports * rawPtr = 0x00000000)+0x25 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\dbg-i686-pc-cygwin\dist\include\xpcom\nscomptr.h @ 1225] 0d necko!nsCOMPtr<nsICacheEntryDescriptor>::operator=(class nsICacheEntryDescriptor * rhs = 0x00000000)+0x13 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\dbg-i686-pc-cygwin\dist\include\xpcom\nscomptr.h @ 714] 0e necko!nsHttpChannel::CloseCacheEntry(unsigned int status = 0)+0x11b (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\netwerk\protocol\http\src\nshttpchannel.cpp @ 1647] 0f necko!nsHttpChannel::OnStopRequest(class nsIRequest * request = 0x05277ae0, class nsISupports * ctxt = 0x00000000, unsigned int status = 0)+0x40e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\netwerk\protocol\http\src\nshttpchannel.cpp @ 4017] 10 necko!nsInputStreamPump::OnStateStop(void)+0xd8 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\netwerk\base\src\nsinputstreampump.cpp @ 507] 11 necko!nsInputStreamPump::OnInputStreamReady(class nsIAsyncInputStream * stream = 0x06a9afe0)+0x90 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\netwerk\base\src\nsinputstreampump.cpp @ 343] 12 xpcom_core!nsInputStreamReadyEvent::EventHandler(struct PLEvent * plevent = 0x0604a7a4)+0x59 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\io\nsstreamutils.cpp @ 120] 13 xpcom_core!PL_HandleEvent(struct PLEvent * self = 0x0604a7a4)+0x3d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 685] 14 xpcom_core!PL_ProcessPendingEvents(struct PLEventQueue * self = 0x010f3ea8) +0xc7 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 620] 15 xpcom_core!nsEventQueueImpl::ProcessPendingEvents(void)+0x5a (FPO: [Non- Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\threads\nseventqueue.cpp @ 417] 16 gkwidget!nsWindow::DispatchPendingEvents(void)+0x7f (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\widget\src\windows\nswindow.cpp @ 4127] 17 gkwidget!nsWindow::ProcessMessage(unsigned int msg = 0x200, unsigned int wParam = 0, long lParam = 0x550116, long * aRetValue = 0x0012fd50)+0x9e8 (FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\widget\src\windows\nswindow.cpp @ 4424] 18 gkwidget!nsWindow::WindowProc(struct HWND__ * hWnd = 0x002002dc, unsigned int msg = 0x200, unsigned int wParam = 0, long lParam = 0x550116)+0x134 (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\widget\src\windows\nswindow.cpp @ 1349] 19 USER32!InternalCallWinProc+0x28 1a USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo]) 1b USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo]) 1c USER32!DispatchMessageA+0xf (FPO: [Non-Fpo]) 1d MFC71D!AfxInternalPumpMessage+0x100 (FPO: [Non-Fpo]) 1e MFC71D!CWinThread::PumpMessage+0xc (FPO: [Non-Fpo]) 1f MFC71D!CWinThread::Run+0x87 (FPO: [Non-Fpo]) 20 MFC71D!CWinApp::Run+0x57 (FPO: [Non-Fpo]) 21 MFC71D!AfxWinMain+0xda (FPO: [Non-Fpo]) 22 mfcembed!WinMain(struct HINSTANCE__ * hInstance = 0x00400000, struct HINSTANCE__ * hPrevInstance = 0x00000000, char * lpCmdLine = 0x00142394 "", int nCmdShow = 0xa)+0x18 (FPO: [Non-Fpo]) (CONV: stdcall) [f:\vs70builds\3077 \vc\mfcatl\ship\atlmfc\src\mfc\appmodul.cpp @ 25] 23 mfcembed!WinMainCRTStartup(void)+0x1f2 (FPO: [Non-Fpo]) (CONV: cdecl) [f:\vs70builds\3077\vc\crtbld\crt\src\crtexe.c @ 390] 24 kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo])
Depends on: 270529
Comment 2•19 years ago
|
||
This could just be about trying to remove an entry which is not in the table? Is GetEntry returning 'nsnull' or a pointer to another entry? Can someone with the debugger find out what GetEntry is returning in this case? Or, just like bug 270529, this could be a race-condition thing?
Status: UNCONFIRMED → NEW
Ever confirmed: true
Priority: -- → P5
Updated•18 years ago
|
Priority: P5 → --
Comment 4•8 years ago
|
||
new cache code
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•