Closed Bug 77064 Opened 24 years ago Closed 24 years ago

JS_ASSERT(!rt->gcRunning) after leaving dir view

Categories

(Core :: Layout, defect)

x86
Windows 2000
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 71515

People

(Reporter: dougt, Assigned: karnaze)

References

Details

I am seeing this new assertion/crash in my debug build.  I am not sure
if it is a regression caused my hacking around with the directory
viewer or not.  I am guessing not.  Basically this happens sometimes when I 
leave the directory viewer to go to a new page.  The assertion happens here:

(the directory viewer is that xul/tree widget that comes up if you load an ftp 
or file or gopher url)

Waterson's quick guess was:

> NTDLL! 77f9fb83()
> nsView::~nsView() line 158

Line 158 of nsView.cpp is where we call mWindow->Destroy(). (Windows
usually loses a stack frame or two when thunking into the OS.) So,
something we're calling in nsWindow::Destroy() is pumping the event
queue, which causes some more script to be run. :-(


Here is the stack:

JS_ASSERT(!rt->gcRunning);

js_AllocGCThing(JSContext * 0x02b8a330, unsigned int 0) line 459 + 41
bytes
js_NewObject(JSContext * 0x02b8a330, JSClass * 0x00ff4118 struct
JSClass  KeyEventClass, JSObject * 0x00cbd360, JSObject * 0x00000000)
line 1568 + 11 bytes
JS_NewObject(JSContext * 0x02b8a330, JSClass * 0x00ff4118 struct
JSClass  KeyEventClass, JSObject * 0x00cbd360, JSObject * 0x00000000)
line 1980 + 21 bytes
NS_NewScriptKeyEvent(nsIScriptContext * 0x02b8a4e0, nsISupports *
0x0475a044, nsISupports * 0x00000000, void * * 0x0012d678) line 1014 +
23 bytes
nsJSEventListener::HandleEvent(nsIDOMEvent * 0x0475a044) line 141 + 25
bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct *
0x026de560, nsIDOMEvent * 0x0475a044, nsIDOMEventTarget * 0x03a382f8,
unsigned int 32, unsigned int 7) line 1033 + 19 bytes
nsEventListenerManager::HandleEvent(nsIPresContext * 0x02b8aca0,
nsEvent * 0x0012e030, nsIDOMEvent * * 0x0012dec4, nsIDOMEventTarget *
0x03a382f8, unsigned int 7, nsEventStatus * 0x0012e058) line 1953 + 39
bytes
nsXULElement::HandleDOMEvent(nsXULElement * const 0x03a382f0,
nsIPresContext * 0x02b8aca0, nsEvent * 0x0012e030, nsIDOMEvent * *
0x0012dec4, unsigned int 1, nsEventStatus * 0x0012e058) line 3673
nsXULCommandDispatcher::UpdateCommands(nsXULCommandDispatcher * const
0x02b5b370, const nsAString & {...}) line 369
GlobalWindowImpl::UpdateCommands(GlobalWindowImpl * const 0x02b8a734,
const nsAString & {...}) line 2162
nsFocusController::UpdateCommands(nsFocusController * const
0x02b8a680, const nsAString & {...}) line 122
nsFocusController::Focus(nsIDOMEvent * 0x021f0dd4) line 268 + 33 bytes

nsEventListenerManager::HandleEvent(nsIPresContext * 0x02b8aca0,
nsEvent * 0x0012eaa8, nsIDOMEvent * * 0x0012e738, nsIDOMEventTarget *
0x02b8a6e0, unsigned int 4, nsEventStatus * 0x0012eaa4) line 1474 + 40
bytes
nsWindowRoot::HandleChromeEvent(nsWindowRoot * const 0x02b8a6e4,
nsIPresContext * 0x02b8aca0, nsEvent * 0x0012eaa8, nsIDOMEvent * *
0x0012e738, unsigned int 4, nsEventStatus * 0x0012eaa4) line 188
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x02b8a730,
nsIPresContext * 0x02b8aca0, nsEvent * 0x0012eaa8, nsIDOMEvent * *
0x0012e738, unsigned int 4, nsEventStatus * 0x0012eaa4) line 569
nsXULDocument::HandleDOMEvent(nsXULDocument * const 0x02b5adf0,
nsIPresContext * 0x02b8aca0, nsEvent * 0x0012eaa8, nsIDOMEvent * *
0x0012e738, unsigned int 1, nsEventStatus * 0x0012eaa4) line 1931
nsEventStateManager::PreHandleEvent(nsEventStateManager * const
0x03c8fd48, nsIPresContext * 0x02b8aca0, nsEvent * 0x0012ed6c,
nsIFrame * 0x02852498, nsEventStatus * 0x0012ecd4, nsIView *
0x03e1e520) line 401
PresShell::HandleEventInternal(nsEvent * 0x0012ed6c, nsIView *
0x03e1e520, unsigned int 1, nsEventStatus * 0x0012ecd4) line 5399 + 43
bytes
PresShell::HandleEvent(PresShell * const 0x02de5a74, nsIView *
0x03e1e520, nsGUIEvent * 0x0012ed6c, nsEventStatus * 0x0012ecd4, int
0, int & 1) line 5332 + 25 bytes
nsView::HandleEvent(nsView * const 0x03e1e520, nsGUIEvent *
0x0012ed6c, unsigned int 8, nsEventStatus * 0x0012ecd4, int 0, int &
1) line 377
nsView::HandleEvent(nsView * const 0x02de5110, nsGUIEvent *
0x0012ed6c, unsigned int 28, nsEventStatus * 0x0012ecd4, int 1, int &
1) line 350
nsViewManager::DispatchEvent(nsViewManager * const 0x02de1110,
nsGUIEvent * 0x0012ed6c, nsEventStatus * 0x0012ecd4) line 2039
HandleEvent(nsGUIEvent * 0x0012ed6c) line 68
nsWindow::DispatchEvent(nsWindow * const 0x03e1e3e4, nsGUIEvent *
0x0012ed6c, nsEventStatus & nsEventStatus_eIgnore) line 704 + 10 bytes

nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012ed6c) line 725
nsWindow::DispatchFocus(unsigned int 105) line 4212 + 15 bytes
nsWindow::ProcessMessage(unsigned int 7, unsigned int 1246740, long 0,
long * 0x0012f0f8) line 3141 + 19 bytes
nsWindow::WindowProc(HWND__ * 0x0010052c, unsigned int 7, unsigned int
1246740, long 0) line 959 + 27 bytes
USER32! 77e13eb0()
USER32! 77e1591b()
USER32! 77e1595d()
NTDLL! 77f9fb83()
nsView::~nsView() line 158
nsView::`scalar deleting destructor'(unsigned int 1) + 15 bytes
nsView::Destroy(nsView * const 0x046fa5a0) line 254 + 34 bytes
nsFrame::Destroy(nsFrame * const 0x02894fb8, nsIPresContext *
0x047672a0) line 427
nsContainerFrame::Destroy(nsContainerFrame * const 0x02894fb8,
nsIPresContext * 0x047672a0) line 120
ViewportFrame::Destroy(ViewportFrame * const 0x02894fb8,
nsIPresContext * 0x047672a0) line 142
FrameManager::Destroy(FrameManager * const 0x046fe750) line 422
PresShell::~PresShell() line 1443
PresShell::`scalar deleting destructor'() + 15 bytes
PresShell::Release(PresShell * const 0x046fad50) line 1351 + 158 bytes

nsCOMPtr<nsIPresShell>::~nsCOMPtr<nsIPresShell>() line 489
DocumentViewerImpl::~DocumentViewerImpl() line 840 + 86 bytes
DocumentViewerImpl::`scalar deleting destructor'(unsigned int 1) + 15
bytes
DocumentViewerImpl::Release(DocumentViewerImpl * const 0x03f0a400)
line 817 + 154 bytes
nsXPCWrappedNative::~nsXPCWrappedNative() line 398 + 27 bytes
nsXPCWrappedNative::`scalar deleting destructor'(unsigned int 1) + 15
bytes
nsXPCWrappedNative::Release(nsXPCWrappedNative * const 0x04dce040)
line 71 + 31 bytes
nsXPCWrappedNative::JSObjectFinalized(JSContext * 0x04dc1770, JSObject
* 0x0288f390) line 96
WrappedNative_Finalize(JSContext * 0x04dc1770, JSObject * 0x0288f390)
line 894
js_FinalizeObject(JSContext * 0x04dc1770, JSObject * 0x0288f390) line
1741 + 277 bytes
js_GC(JSContext * 0x04dc1770, unsigned int 0) line 1217 + 11 bytes
js_ForceGC(JSContext * 0x04dc1770) line 943 + 11 bytes
js_DestroyContext(JSContext * 0x04dc1770, int 2) line 227 + 9 bytes
JS_DestroyContext(JSContext * 0x04dc1770) line 878 + 11 bytes
nsJSContext::~nsJSContext() line 392 + 13 bytes
nsJSContext::`scalar deleting destructor'(unsigned int 1) + 15 bytes
nsJSContext::Release(nsJSContext * const 0x04dc6160) line 400 + 154
bytes
nsCOMPtr<nsIScriptContext>::assign_assuming_AddRef(nsIScriptContext *
0x00000000) line 471
nsCOMPtr<nsIScriptContext>::assign_with_AddRef(nsISupports *
0x00000000) line 963
nsCOMPtr<nsIScriptContext>::operator=(nsIScriptContext * 0x00000000)
line 583
nsDocShell::Destroy(nsDocShell * const 0x04da8734) line 1748
nsWebShell::Destroy(nsWebShell * const 0x04da8734) line 1484
nsDocShell::DestroyChildren(nsDocShell * const 0x03e1ecd0) line 171
nsDocShell::SetupNewViewer(nsDocShell * const 0x03e1ecd0,
nsIContentViewer * 0x04f349e0) line 3054
nsWebShell::SetupNewViewer(nsWebShell * const 0x03e1ecd0,
nsIContentViewer * 0x04f349e0) line 352 + 13 bytes
nsDocShell::Embed(nsDocShell * const 0x03e1ecf0, nsIContentViewer *
0x04f349e0, const char * 0x01de2d3c, nsISupports * 0x00000000) line
2568 + 23 bytes
nsWebShell::Embed(nsWebShell * const 0x03e1ecf0, nsIContentViewer *
0x04f349e0, const char * 0x01de2d3c, nsISupports * 0x00000000) line
381
nsDocShell::CreateContentViewer(nsDocShell * const 0x03e1ecd0, const
char * 0x0012f9fc, nsIRequest * 0x04f1a770, nsIStreamListener * *
0x0012fa4c) line 2844 + 32 bytes
nsDSURIContentListener::DoContent(nsDSURIContentListener * const
0x03e1e9a0, const char * 0x0012f9fc, int 3, const char * 0x100b6140
gCommonEmptyBuffer, nsIRequest * 0x04f1a770, nsIStreamListener * *
0x0012fa4c, int * 0x0012f9e0) line 117 + 33 bytes
nsDocumentOpenInfo::DispatchContent(nsIRequest * 0x04f1a770,
nsISupports * 0x00000000) line 372 + 109 bytes
nsDocumentOpenInfo::OnStartRequest(nsDocumentOpenInfo * const
0x04f1a650, nsIRequest * 0x04f1a770, nsISupports * 0x00000000) line
241 + 16 bytes
nsFTPChannel::OnStartRequest(nsFTPChannel * const 0x04f1a780,
nsIRequest * 0x04f30160, nsISupports * 0x00000000) line 513 + 51 bytes

nsFTPDirListingConv::OnStartRequest(nsFTPDirListingConv * const
0x04f32680, nsIRequest * 0x04f305f0, nsISupports * 0x00000000) line
363
DataRequestForwarder::DelayedOnStartRequest(nsIRequest * 0x04f32f10,
nsISupports * 0x00000000) line 183
DataRequestForwarder::OnDataAvailable(DataRequestForwarder * const
0x04f305f4, nsIRequest * 0x04f32f10, nsISupports * 0x00000000,
nsIInputStream * 0x04f303d0, unsigned int 0, unsigned int 613) line
231 + 19 bytes
nsOnDataAvailableEvent::HandleEvent() line 173 + 70 bytes
nsARequestObserverEvent::HandlePLEvent(PLEvent * 0x04f32ae4) line 64
PL_HandleEvent(PLEvent * 0x04f32ae4) line 588 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x0053e730) line 518 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x0019052e, unsigned int 49399,
unsigned int 0, long 5498672) line 1069 + 9 bytes
USER32! 77e13eb0()
USER32! 77e1401a()
USER32! 77e192da()
nsAppShellService::Run(nsAppShellService * const 0x005613b0) line 408
main1(int 4, char * * 0x00485540, nsISupports * 0x00000000) line 100532 bytes
main(int 4, char * * 0x00485540) line 1300 + 37 bytes
mainCRTStartup() line 338 + 17 bytes
temperature's rising -- adam, any hope?

/be

*** This bug has been marked as a duplicate of 71515 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
*** Bug 77129 has been marked as a duplicate of this bug. ***
You need to log in before you can comment on or make changes to this bug.