Closed
Bug 270529
Opened 20 years ago
Closed 9 years ago
###!!! ASSERTION: ### nsCacheEntryHashTable::AddEntry - entry already used: '((nsCacheEntryHashTableEntry *)hashEntry)->cacheEntry == 0', file r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp, line 467
Categories
(Core :: Networking: Cache, defect)
Tracking
()
RESOLVED
WONTFIX
People
(Reporter: timeless, Unassigned)
References
()
Details
(Keywords: assertion, helpwanted)
Error loading URL
https://bugzilla.mozilla.org/attachment.cgi?id=163509&action=view : 804b0002
###!!! ASSERTION: ### nsCacheEntryHashTable::AddEntry - entry already used:
'((nsCacheEntryHashTableEntry *)hashEntry)->cacheEntry == 0', file
r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp, line 467
xpcom_core.dll!nsDebug::Assertion(const char * aStr=0x0147966c, const char *
aExpr=0x01479630, const char * aFile=0x01479600, int aLine=0x000001d3) Line 109 C++
necko.dll!nsCacheEntryHashTable::AddEntry(nsCacheEntry *
cacheEntry=0x03724d20) Line 467 + 0x23 C++
necko.dll!nsCacheService::ActivateEntry(nsCacheRequest * request=0x03943ee8,
nsCacheEntry * * result=0x0012a820) Line 948 + 0xf C++
necko.dll!nsCacheService::ProcessRequest(nsCacheRequest * request=0x03943ee8,
int calledFromOpenCacheEntry=0x00000001, nsICacheEntryDescriptor * *
result=0x02fcd8d8) Line 797 + 0x10 C++
necko.dll!nsCacheService::OpenCacheEntry(nsCacheSession * session=0x037857d8,
const char * key=0x0363a6c0, int accessRequested=0x00000002, int
blockingMode=0x00000000, nsICacheListener * listener=0x00000000,
nsICacheEntryDescriptor * * result=0x02fcd8d8) Line 873 + 0x15 C++
necko.dll!nsCacheSession::OpenCacheEntry(const char * key=0x0363a6c0, int
accessRequested=0x00000002, int blockingMode=0x00000000, nsICacheEntryDescriptor
* * result=0x02fcd8d8) Line 98 + 0x1b C++
necko.dll!nsHttpChannel::OpenCacheEntry(int offline=0x00000000, int *
delayed=0x0012a998) Line 1219 + 0x53 C++
necko.dll!nsHttpChannel::Connect(int firstTime=0x00000001) Line 312 + 0x10 C++
necko.dll!nsHttpChannel::AsyncOpen(nsIStreamListener * listener=0x02e99280,
nsISupports * context=0x00000000) Line 3141 + 0xa C++
docshell.dll!nsDocumentOpenInfo::Open(nsIChannel * aChannel=0x02fcd7d0) Line
222 + 0x12 C++
docshell.dll!nsURILoader::OpenURI(nsIChannel * channel=0x02fcd7d0, int
aIsContentPreferred=0x00000000, nsIInterfaceRequestor *
aWindowContext=0x03cc6110) Line 846 + 0x13 C++
docshell.dll!nsDocShell::DoChannelLoad(nsIChannel * aChannel=0x02fcd7d0,
nsIURILoader * aURILoader=0x01164cc8) Line 5814 + 0x3f C++
docshell.dll!nsDocShell::DoURILoad(nsIURI * aURI=0x04644ab0, nsIURI *
aReferrerURI=0x00000000, nsISupports * aOwner=0x00000000, const char *
aTypeHint=0x02fc4998, nsIInputStream * aPostData=0x00000000, nsIInputStream *
aHeadersData=0x00000000, int firstParty=0x00000001, nsIDocShell * *
aDocShell=0x00000000, nsIRequest * * aRequest=0x00000000) Line 5587 + 0x26 C++
docshell.dll!nsDocShell::InternalLoad(nsIURI * aURI=0x04644ab0, nsIURI *
aReferrer=0x00000000, nsISupports * aOwner=0x00000000, int
aInheritOwner=0x00000000, const unsigned short * aWindowTarget=0x00000000, const
char * aTypeHint=0x02fc4998, nsIInputStream * aPostData=0x00000000,
nsIInputStream * aHeadersData=0x00000000, unsigned int aLoadType=0x03000002,
nsISHEntry * aSHEntry=0x046ee104, int firstParty=0x00000001, nsIDocShell * *
aDocShell=0x00000000, nsIRequest * * aRequest=0x00000000) Line 5377 + 0x37 C++
docshell.dll!nsDocShell::LoadHistoryEntry(nsISHEntry * aEntry=0x046ee104,
unsigned int aLoadType=0x03000002) Line 6409 + 0x46 C++
docshell.dll!nsDocShell::LoadURI(nsIURI * aURI=0x04644ab0, nsIDocShellLoadInfo
* aLoadInfo=0x046fc7c0, unsigned int aLoadFlags=0x00000000, int
firstParty=0x00000000) Line 726 + 0x1c C++
docshell.dll!nsSHistory::InitiateLoad(nsISHEntry * aFrameEntry=0x046ee104,
nsIDocShell * aFrameDS=0x03cc60e8, long aLoadType=0x00000006) Line 874 + 0x22 C++
docshell.dll!nsSHistory::LoadEntry(int aIndex=0x00000000, long
aLoadType=0x00000006, unsigned int aHistCmd=0x00000003) Line 790 + 0x1e C++
docshell.dll!nsSHistory::Reload(unsigned int aReloadFlags=0x00000300) Line
615 C++
xpcom_core.dll!XPTC_InvokeByIndex(nsISupports * that=0x03ceccf8, unsigned int
methodIndex=0x00000009, unsigned int paramCount=0x00000001, nsXPTCVariant *
params=0x0012b2c8) Line 102 C++
xpc3250.dll!XPCWrappedNative::CallMethod(XPCCallContext & ccx={...},
XPCWrappedNative::CallMode mode=CALL_METHOD) Line 2037 + 0x1e C++
xpc3250.dll!XPC_WN_CallMethod(JSContext * cx=0x038a3dd0, JSObject *
obj=0x047495c0, unsigned int argc=0x00000001, long * argv=0x0470c57c, long *
vp=0x0012b594) Line 1287 + 0xb C++
js3250.dll!js_Invoke(JSContext * cx=0x038a3dd0, unsigned int argc=0x00000001,
unsigned int flags=0x00000000) Line 1286 + 0x20 C
js3250.dll!js_Interpret(JSContext * cx=0x038a3dd0, long * result=0x0012c024)
Line 3509 + 0xf C
js3250.dll!js_Invoke(JSContext * cx=0x038a3dd0, unsigned int argc=0x00000001,
unsigned int flags=0x00000002) Line 1306 + 0xd C
js3250.dll!js_InternalInvoke(JSContext * cx=0x038a3dd0, JSObject *
obj=0x04749488, long fval=0x047494b0, unsigned int flags=0x00000000, unsigned
int argc=0x00000001, long * argv=0x0012c324, long * rval=0x0012c328) Line
1430 + 0x14 C
js3250.dll!JS_CallFunctionValue(JSContext * cx=0x038a3dd0, JSObject *
obj=0x04749488, long fval=0x047494b0, unsigned int argc=0x00000001, long *
argv=0x0012c324, long * rval=0x0012c328) Line 3783 + 0x1f C
gklayout.dll!nsJSContext::CallEventHandler(JSObject * aTarget=0x04749488,
JSObject * aHandler=0x047494b0, unsigned int argc=0x00000001, long *
argv=0x0012c324, long * rval=0x0012c328) Line 1361 + 0x21 C++
gklayout.dll!nsJSEventListener::HandleEvent(nsIDOMEvent * aEvent=0x03658a40)
Line 205 + 0x2d C++
gklayout.dll!nsXBLPrototypeHandler::ExecuteHandler(nsIDOMEventReceiver *
aReceiver=0x037eca00, nsIDOMEvent * aEvent=0x03658a40) Line 491 C++
gklayout.dll!nsXBLWindowHandler::WalkHandlersInternal(nsIDOMEvent *
aEvent=0x03658a40, nsIAtom * aEventType=0x0034fc28, nsXBLPrototypeHandler *
aHandler=0x03ce86c0) Line 301 + 0x18 C++
gklayout.dll!nsXBLWindowKeyHandler::WalkHandlers(nsIDOMEvent *
aKeyEvent=0x03658a40, nsIAtom * aEventType=0x0034fc28) Line 197 C++
gklayout.dll!nsXBLWindowKeyHandler::KeyPress(nsIDOMEvent *
aKeyEvent=0x03658a40) Line 250 C++
gklayout.dll!DispatchToInterface(nsIDOMEvent * aEvent=0x03658a40,
nsIDOMEventListener * aListener=0x039a8018, unsigned int (nsIDOMEvent *)*
aMethod=0x01bd9f20, const nsID & aIID={...}, int * aHasInterface=0x0012cb8c)
Line 128 + 0xb C++
gklayout.dll!nsEventListenerManager::HandleEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, nsIDOMEventTarget * aCurrentTarget=0x0398f738, unsigned
int aFlags=0x00000202, nsEventStatus * aEventStatus=0x0012f4a8) Line 1609 +
0x23 C++
gklayout.dll!nsXULDocument::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 1238 C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2843 + 0x33 C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsXULElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000202, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2837 + 0x3c C++
gklayout.dll!nsGenericElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x0012ef48, unsigned int aFlags=0x00000207, nsEventStatus *
aEventStatus=0x0012f4a8) Line 2028 + 0x3c C++
gklayout.dll!nsHTMLInputElement::HandleDOMEvent(nsPresContext *
aPresContext=0x0396fab8, nsEvent * aEvent=0x0012f6c8, nsIDOMEvent * *
aDOMEvent=0x00000000, unsigned int aFlags=0x00000201, nsEventStatus *
aEventStatus=0x0012f4a8) Line 1365 + 0x1f C++
gklayout.dll!PresShell::HandleEventInternal(nsEvent * aEvent=0x0012f6c8,
nsIView * aView=0x03c08d50, unsigned int aFlags=0x00000001, nsEventStatus *
aStatus=0x0012f4a8) Line 5983 + 0x3a C++
gklayout.dll!PresShell::HandleEvent(nsIView * aView=0x03c08d50, nsGUIEvent *
aEvent=0x0012f6c8, nsEventStatus * aEventStatus=0x0012f4a8, int
aForceHandle=0x00000001, int & aHandled=0x00000001) Line 5813 + 0x19 C++
gklayout.dll!nsViewManager::HandleEvent(nsView * aView=0x03c08d50, nsGUIEvent
* aEvent=0x0012f6c8, int aCaptured=0x00000000) Line 2356 C++
gklayout.dll!nsViewManager::DispatchEvent(nsGUIEvent * aEvent=0x0012f6c8,
nsEventStatus * aStatus=0x0012f610) Line 2129 + 0x14 C++
gklayout.dll!HandleEvent(nsGUIEvent * aEvent=0x0012f6c8) Line 166 C++
gkwidget.dll!nsWindow::DispatchEvent(nsGUIEvent * event=0x0012f6c8,
nsEventStatus & aStatus=nsEventStatus_eIgnore) Line 1074 + 0xa C++
gkwidget.dll!nsWindow::DispatchWindowEvent(nsGUIEvent * event=0x0012f6c8)
Line 1095 C++
gkwidget.dll!nsWindow::DispatchKeyEvent(unsigned int aEventType=0x00000083,
unsigned short aCharCode=0x0052, unsigned int aVirtualCharCode=0x00000000, long
aKeyData=0x00000000) Line 3003 + 0xf C++
gkwidget.dll!nsWindow::OnChar(unsigned int charCode=0x00000000) Line 3210 C++
gkwidget.dll!nsWindow::ProcessMessage(unsigned int msg=0x00000102, unsigned
int wParam=0x00000012, long lParam=0x40130001, long * aRetValue=0x0012fbb8)
Line 3893 + 0xf C++
gkwidget.dll!nsWindow::WindowProc(HWND__ * hWnd=0x00161d8c, unsigned int
msg=0x00000102, unsigned int wParam=0x00000012, long lParam=0x40130001) Line
1355 + 0x1b C++
user32.dll!77d43a50()
user32.dll!77d43b1f()
user32.dll!GetMessageW() + 0x125
user32.dll!DispatchMessageW() + 0xb
appcomps.dll!nsAppStartup::Run() Line 221 C++
mozilla.exe!main1(int argc=0x00000001, char * * argv=0x00347b80, nsISupports *
nativeApp=0x0109ef38) Line 1321 + 0x20 C++
mozilla.exe!main(int argc=0x00000001, char * * argv=0x00347b80) Line 1813 +
0x25 C++
mozilla.exe!mainCRTStartup() Line 400 + 0x11 C
kernel32.dll!TermsrvAppInstallMode() + 0x269
dougt: so why'd you decide that the assert was good enough for everyone but you?
triggered while (re)loading attachment 163509 [details]
i'm playing w/ browser.frames.enabled
Comment 1•20 years ago
|
||
i don't like a noisy build. :-) /me ducks.
this is getting fairly annoying, if it's an acceptable behavior, then let's
ditch the assert, if we're leaking or don't want this to happen, let's fix it.
0:000> dpa @@(&$!cacheEntry->mKey->mData)
043de854 030e8a00 "HTTP:http://landfill.mozilla.org/ryl/random.html"
darin: steps.
1. run mfcembed or your favorite equivalent
2. set your homepage to the url listed in the cacheEntry above
3. open 20 windows
4. wait a while
5. every now and then as a page walks out of the browser buster frameset, use
go>home (or however your mfcembed equivalent lets you get back to the homepage).
expected results: no necko asserts that dougt ignores.
#
00 ntdll!DbgBreakPoint (FPO: [0,0,0])
01 xpcom_core!nsDebugImpl::Break(char * aFile =
0x0147ec94 "r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp", int aLine = 0x1d2)
+0x7e (FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\base\nsdebugimpl.cpp @
350]
02 xpcom_core!nsDebugImpl::Assertion(char * aStr = 0x0147ed00 "###
nsCacheEntryHashTable::AddEntry - entry already used", char * aExpr =
0x0147ecc4 "((nsCacheEntryHashTableEntry *)hashEntry)->cacheEntry == 0", char *
aFile = 0x0147ec94 "r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp", int aLine =
0x1d2)+0x29e (FPO: [Non-Fpo]) (CONV: stdcall)
[r:\mozilla\xpcom\base\nsdebugimpl.cpp @ 266]
03 xpcom_core!nsDebug::Assertion(char * aStr = 0x0147ed00 "###
nsCacheEntryHashTable::AddEntry - entry already used", char * aExpr =
0x0147ecc4 "((nsCacheEntryHashTableEntry *)hashEntry)->cacheEntry == 0", char *
aFile = 0x0147ec94 "r:/mozilla/netwerk/cache/src/nsCacheEntry.cpp", int aLine =
0x1d2)+0x4d (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\dbg-i686-pc-
cygwin\xpcom\build\nsdebug.cpp @ 109]
04 necko!nsCacheEntryHashTable::AddEntry(class nsCacheEntry * cacheEntry =
0x03c3aae0)+0x8b (FPO: [Non-Fpo]) (CONV: thiscall)
[r:\mozilla\netwerk\cache\src\nscacheentry.cpp @ 466]
05 necko!nsCacheService::ActivateEntry(class nsCacheRequest * request =
0x06a3c360, class nsCacheEntry ** result = 0x0012f00c)+0x204 (FPO: [Non-Fpo])
(CONV: thiscall) [r:\mozilla\netwerk\cache\src\nscacheservice.cpp @ 965]
06 necko!nsCacheService::ProcessRequest(class nsCacheRequest * request =
0x06a3c360, int calledFromOpenCacheEntry = 1, class nsICacheEntryDescriptor **
result = 0x061333d4)+0x43 (FPO: [Non-Fpo]) (CONV: thiscall)
[r:\mozilla\netwerk\cache\src\nscacheservice.cpp @ 814]
07 necko!nsCacheService::OpenCacheEntry(class nsCacheSession * session =
0x02765108, class nsACString_internal * key = 0x0012f0ec, int accessRequested =
2, int blockingMode = 0, class nsICacheListener * listener = 0x00000000, class
nsICacheEntryDescriptor ** result = 0x061333d4)+0xb3 (FPO: [Non-Fpo]) (CONV:
cdecl) [r:\mozilla\netwerk\cache\src\nscacheservice.cpp @ 890]
08 necko!nsCacheSession::OpenCacheEntry(class nsACString_internal * key =
0x0012f0ec, int accessRequested = 2, int blockingMode = 0, class
nsICacheEntryDescriptor ** result = 0x061333d4)+0x1f (FPO: [Non-Fpo]) (CONV:
stdcall) [r:\mozilla\netwerk\cache\src\nscachesession.cpp @ 98]
09 necko!nsHttpChannel::OpenCacheEntry(int offline = 0, int * delayed =
0x0012f18c)+0x2ea (FPO: [Non-Fpo]) (CONV: thiscall)
[r:\mozilla\netwerk\protocol\http\src\nshttpchannel.cpp @ 1258]
0a necko!nsHttpChannel::Connect(int firstTime = 1)+0x174 (FPO: [Non-Fpo])
(CONV: thiscall) [r:\mozilla\netwerk\protocol\http\src\nshttpchannel.cpp @ 321]
0b necko!nsHttpChannel::AsyncOpen(class nsIStreamListener * listener =
0x044c2a68, class nsISupports * context = 0x00000000)+0x292 (FPO: [Non-Fpo])
(CONV: stdcall) [r:\mozilla\netwerk\protocol\http\src\nshttpchannel.cpp @ 3296]
0c docshell!nsDocumentOpenInfo::Open(class nsIChannel * aChannel = 0x061332c8)
+0x74 (FPO: [Non-Fpo]) (CONV: thiscall)
[r:\mozilla\uriloader\base\nsuriloader.cpp @ 224]
0d docshell!nsURILoader::OpenURI(class nsIChannel * channel = 0x061332c8, int
aIsContentPreferred = 0, class nsIInterfaceRequestor * aWindowContext =
0x03b986c0)+0x498 (FPO: [Non-Fpo]) (CONV: stdcall)
[r:\mozilla\uriloader\base\nsuriloader.cpp @ 915]
0e docshell!nsDocShell::DoChannelLoad(class nsIChannel * aChannel = 0x061332c8,
class nsIURILoader * aURILoader = 0x0274e688)+0x17b (FPO: [Non-Fpo]) (CONV:
thiscall) [r:\mozilla\docshell\base\nsdocshell.cpp @ 6757]
0f docshell!nsDocShell::DoURILoad(class nsIURI * aURI = 0x076191c8, class
nsIURI * aReferrerURI = 0x076191c8, int aSendReferrer = 0, class nsISupports *
aOwner = 0x04b00328, char * aTypeHint = 0x00000000 "", class nsIInputStream *
aPostData = 0x00000000, class nsIInputStream * aHeadersData = 0x00000000, int
aFirstParty = 1, class nsIDocShell ** aDocShell = 0x00000000, class nsIRequest
** aRequest = 0x0012f630)+0x80b (FPO: [Non-Fpo]) (CONV: thiscall)
[r:\mozilla\docshell\base\nsdocshell.cpp @ 6609]
10 docshell!nsDocShell::InternalLoad(class nsIURI * aURI = 0x076191c8, class
nsIURI * aReferrer = 0x076191c8, class nsISupports * aOwner = 0x00000000,
unsigned int aFlags = 3, unsigned short * aWindowTarget = 0x04147028 "", char *
aTypeHint = 0x00000000 "", class nsIInputStream * aPostData = 0x00000000, class
nsIInputStream * aHeadersData = 0x00000000, unsigned int aLoadType = 0x100001,
class nsISHEntry * aSHEntry = 0x00000000, int aFirstParty = 1, class
nsIDocShell ** aDocShell = 0x00000000, class nsIRequest ** aRequest =
0x00000000)+0x1252 (FPO: [Non-Fpo]) (CONV: stdcall)
[r:\mozilla\docshell\base\nsdocshell.cpp @ 6382]
11 docshell!nsDocShell::LoadURI(class nsIURI * aURI = 0x076191c8, class
nsIDocShellLoadInfo * aLoadInfo = 0x05a3a468, unsigned int aLoadFlags = 0, int
aFirstParty = 1)+0x8ca (FPO: [Non-Fpo]) (CONV: stdcall)
[r:\mozilla\docshell\base\nsdocshell.cpp @ 789]
12 docshell!nsRefreshTimer::Notify(class nsITimer * aTimer = 0x065911c0)+0x3bb
(FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\docshell\base\nsdocshell.cpp @
8064]
13 xpcom_core!nsTimerImpl::Fire(void)+0x243 (FPO: [Non-Fpo]) (CONV: thiscall)
[r:\mozilla\xpcom\threads\nstimerimpl.cpp @ 398]
14 xpcom_core!handleTimerEvent(struct TimerEventType * event = 0x03378d10)+0xea
(FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\nstimerimpl.cpp @ 461]
15 xpcom_core!PL_HandleEvent(struct PLEvent * self = 0x03378d10)+0x3d (FPO:
[Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 685]
16 xpcom_core!PL_ProcessPendingEvents(struct PLEventQueue * self = 0x010f3ea8)
+0xc7 (FPO: [Non-Fpo]) (CONV: cdecl) [r:\mozilla\xpcom\threads\plevent.c @ 620]
17 xpcom_core!nsEventQueueImpl::ProcessPendingEvents(void)+0x5a (FPO: [Non-
Fpo]) (CONV: stdcall) [r:\mozilla\xpcom\threads\nseventqueue.cpp @ 417]
18 gkwidget!nsWindow::DispatchPendingEvents(void)+0x7f (FPO: [Non-Fpo]) (CONV:
thiscall) [r:\mozilla\widget\src\windows\nswindow.cpp @ 4127]
19 gkwidget!nsWindow::ProcessMessage(unsigned int msg = 0x101, unsigned int
wParam = 0x48, long lParam = 0xc0230001, long * aRetValue = 0x0012fd50)+0x781
(FPO: [Non-Fpo]) (CONV: thiscall) [r:\mozilla\widget\src\windows\nswindow.cpp @
4328]
1a gkwidget!nsWindow::WindowProc(struct HWND__ * hWnd = 0x001a03a2, unsigned
int msg = 0x101, unsigned int wParam = 0x48, long lParam = 0xc0230001)+0x134
(FPO: [Non-Fpo]) (CONV: stdcall) [r:\mozilla\widget\src\windows\nswindow.cpp @
1349]
1b USER32!InternalCallWinProc+0x28
1c USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
1d USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
1e USER32!DispatchMessageA+0xf (FPO: [Non-Fpo])
1f MFC71D!AfxInternalPumpMessage+0x100 (FPO: [Non-Fpo])
20 MFC71D!CWinThread::PumpMessage+0xc (FPO: [Non-Fpo])
21 MFC71D!CWinThread::Run+0x87 (FPO: [Non-Fpo])
22 MFC71D!CWinApp::Run+0x57 (FPO: [Non-Fpo])
23 MFC71D!AfxWinMain+0xda (FPO: [Non-Fpo])
24 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]
25 mfcembed!WinMainCRTStartup(void)+0x1f2 (FPO: [Non-Fpo]) (CONV: cdecl)
[f:\vs70builds\3077\vc\crtbld\crt\src\crtexe.c @ 390]
26 kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo])
Updated•20 years ago
|
Keywords: helpwanted
Comment 4•20 years ago
|
||
As far as I can see is that the Hashtable code doesn't (cannot!) do anything
with the 'cacheEntry' member. PL_DHASH_ADD normally returns a new entry with all
members set to zero (except for the key), however when the entry is re-used
(after deletion) and the same hash for the same or other key used again, the
entry may be re-used and non-zero therefor. ClearEntry should normally called by
the pldhash code when removing entries from the table, but apparently it
sometimes doesn't?
This is not a problem in itself, as 'cacheEntry' is then always set to the
desired value. This can not create a crash or cause memory leaks. This is just
about re-using current entries in the pool within the hashtable system itself...
Note the note in :
http://lxr.mozilla.org/seamonkey/source/xpcom/ds/pldhash.h#326
I propose to remove the 'assert'.
Comment 6•9 years ago
|
||
whole new cache code..
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•