Closed
Bug 270529
Opened 20 years ago
Closed 8 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•19 years ago
|
Keywords: helpwanted
Comment 4•19 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•8 years ago
|
||
whole 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
•