Closed
Bug 289237
Opened 20 years ago
Closed 10 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•20 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•19 years ago
|
Priority: P5 → --
Comment 4•10 years ago
|
||
new cache code
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•