Closed Bug 67937 Opened 25 years ago Closed 24 years ago

Closing a composer crashes

Categories

(Core :: DOM: Editor, defect, P1)

x86
Windows NT
defect

Tracking

()

VERIFIED DUPLICATE of bug 51825
mozilla0.9

People

(Reporter: skasinathan, Assigned: kinmoz)

Details

(Keywords: crash)

Just open a new window. Close it. Boom. Crashes. Always reproducible. Build: Debug build from today morning on Win NT.
Component: Compositor → Editor
stack trace: js_AllocGCThing(JSContext * 0x07502050, unsigned int 0) line 447 + 41 bytes js_NewObject(JSContext * 0x07502050, JSClass * 0x01d7b430 struct JSClass WindowClass, JSObject * 0x00000000, JSObject * 0x00000000) line 1470 + 11 bytes JS_NewObject(JSContext * 0x07502050, JSClass * 0x01d7b430 struct JSClass WindowClass, JSObject * 0x00000000, JSObject * 0x00000000) line 1952 + 21 bytes NS_NewScriptWindow(nsIScriptContext * 0x07505e50, nsISupports * 0x07507034, nsISupports * 0x00000000, void * * 0x07507078) line 4933 + 19 bytes GlobalWindowImpl::GetScriptObject(GlobalWindowImpl * const 0x07507038, nsIScriptContext * 0x07505e50, void * * 0x0012d150) line 219 + 50 bytes nsJSContext::InitContext(nsJSContext * const 0x07505e50, nsIScriptGlobalObject * 0x07507030) line 1014 + 31 bytes NS_CreateScriptContext(nsIScriptGlobalObject * 0x07507030, nsIScriptContext * * 0x0744eed0) line 1550 nsDocShell::EnsureScriptEnvironment(nsDocShell * const 0x0744ee20) line 4456 + 50 bytes nsDocShell::GetScriptGlobalObject(nsDocShell * const 0x0744ee48, nsIScriptGlobalObject * * 0x0012d208) line 2417 + 19 bytes nsWebShellWindow::ConvertWebShellToDOMWindow(nsWebShellWindow * const 0x06b39e54, nsIWebShell * 0x0744ef44, nsIDOMWindowInternal * * 0x0012d2a8) line 1063 + 47 bytes nsWebShellWindow::HandleEvent(nsGUIEvent * 0x0012d374) line 531 + 52 bytes nsWindow::DispatchEvent(nsWindow * const 0x06b3b714, nsGUIEvent * 0x0012d374, nsEventStatus & nsEventStatus_eIgnore) line 687 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012d374) line 708 nsWindow::DispatchFocus(unsigned int 105) line 4097 + 15 bytes nsWindow::ProcessMessage(unsigned int 7, unsigned int 0, long 0, long * 0x0012d6e4) line 3093 + 19 bytes nsWindow::WindowProc(HWND__ * 0x024f0a64, unsigned int 7, unsigned int 0, long 0) line 922 + 27 bytes USER32! 77e719d0()
I get an asserion right before the crash: ComposeLoad from XUL Compose: ComposeStartup [nsIMsgIdentity: id3],[nsIMsgIdentity: id5],[nsIMsgIdentity: id6],[nsIMsgIdentit y: id2],[nsIMsgIdentity: id8],[nsIMsgIdentity: id1] failed to get command manager number 3 failed to get command manager number 2 Registering commands Have Find = true Have SpellChecker = false An error occurred updating the cmd_removeList command An error occurred updating the cmd_removeList command Enabling Quirk StyleSheet An error occurred updating the cmd_removeList command RECEIVE CALLBACK: OnHeadersReady replacing child in comp fields 2 recips Warning prev sibling is not in our list!!!set focus on the body WEBSHELL+ = 10 WEBSHELL- = 9 ComposeUnload from XUL ###!!! ASSERTION: ~nsTextEditor: 'Not Reached', file d:\projects\mozilla_source\ mozilla\editor\base\nsPlaintextEditor.cpp, line 210 ========== If I click ignore, I get the posted stack trace. However, if I just let it sit, it crashes anyway and I get the following stack trace: js_AllocGCThing(JSContext * 0x04069760, unsigned int 0) line 447 + 41 bytes js_NewObject(JSContext * 0x04069760, JSClass * 0x002ef440 _js_FunctionClass, JSObject * 0x00000000, JSObject * 0x0318bb28) line 1499 + 11 bytes js_NewFunction(JSContext * 0x04069760, JSObject * 0x00000000, int (JSContext *, JSObject *, unsigned int, long *, long *)* 0x016b8ea0 WindowScrollTo(JSContext *, JSObject *, unsigned int, long *, long *), unsigned int 2, unsigned int 0, JSObject * 0x0318bb28, JSAtom * 0x024f1dc0) line 1694 + 20 bytes js_DefineFunction(JSContext * 0x04069760, JSObject * 0x0318bb28, JSAtom * 0x024f1dc0, int (JSContext *, JSObject *, unsigned int, long *, long *)* 0x016b8ea0 WindowScrollTo(JSContext *, JSObject *, unsigned int, long *, long *), unsigned int 2, unsigned int 0) line 1758 + 31 bytes JS_DefineFunction(JSContext * 0x04069760, JSObject * 0x0318bb28, const char * 0x01740e44, int (JSContext *, JSObject *, unsigned int, long *, long *)* 0x016b8ea0 WindowScrollTo(JSContext *, JSObject *, unsigned int, long *, long *), unsigned int 2, unsigned int 0) line 2714 + 29 bytes JS_DefineFunctions(JSContext * 0x04069760, JSObject * 0x0318bb28, JSFunctionSpec * 0x017409a0 WindowMethods) line 2696 + 44 bytes NS_InitWindowClass(nsIScriptContext * 0x0406b930, nsIScriptGlobalObject * 0x0406aec0) line 4919 + 19 bytes nsJSContext::InitClasses(nsJSContext * const 0x0406b930) line 1269 + 18 bytes nsJSContext::InitContext(nsJSContext * const 0x0406b930, nsIScriptGlobalObject * 0x0406aec0) line 1037 + 12 bytes GlobalWindowImpl::SetNewDocument(GlobalWindowImpl * const 0x0406aec0, nsIDOMDocument * 0x09294ba4) line 397 DocumentViewerImpl::Init(DocumentViewerImpl * const 0x09294800, nsIWidget * 0x0401cee4, nsIDeviceContext * 0x03b90350, const nsRect & {...}) line 575 nsDocShell::SetupNewViewer(nsDocShell * const 0x04003e90, nsIContentViewer * 0x09294800) line 2980 + 66 bytes nsWebShell::SetupNewViewer(nsWebShell * const 0x04003e90, nsIContentViewer * 0x09294800) line 352 + 13 bytes nsDocShell::Embed(nsDocShell * const 0x04003eb0, nsIContentViewer * 0x09294800, const char * 0x01e3862c, nsISupports * 0x00000000) line 2532 + 23 bytes nsWebShell::Embed(nsWebShell * const 0x04003eb0, nsIContentViewer * 0x09294800, const char * 0x01e3862c, nsISupports * 0x00000000) line 385 nsDocShell::CreateContentViewer(nsDocShell * const 0x04003e90, const char * 0x0012d61c, nsIChannel * 0x09290160, nsIStreamListener * * 0x0012d670) line 2806 + 32 bytes nsDSURIContentListener::DoContent(nsDSURIContentListener * const 0x04003e50, const char * 0x0012d61c, int 8, const char * 0x1008a120 gCommonEmptyBuffer, nsIChannel * 0x09290160, nsIStreamListener * * 0x0012d670, int * 0x0012d600) line 103 + 33 bytes nsDocumentOpenInfo::DispatchContent(nsIChannel * 0x09290160, nsISupports * 0x00000000) line 367 + 109 bytes nsDocumentOpenInfo::OnStartRequest(nsDocumentOpenInfo * const 0x09297530, nsIChannel * 0x09290160, nsISupports * 0x00000000) line 241 + 16 bytes nsHTTPFinalListener::OnStartRequest(nsHTTPFinalListener * const 0x092974d0, nsIChannel * 0x09290160, nsISupports * 0x00000000) line 1146 InterceptStreamListener::OnStartRequest(InterceptStreamListener * const 0x092925b0, nsIChannel * 0x09290160, nsISupports * 0x00000000) line 1191 nsHTTPServerListener::FinishedResponseHeaders() line 1071 + 48 bytes nsHTTPServerListener::OnDataAvailable(nsHTTPServerListener * const 0x092962a0, nsIChannel * 0x092904f4, nsISupports * 0x09290160, nsIInputStream * 0x09296100, unsigned int 0, unsigned int 901) line 429 + 8 bytes nsOnDataAvailableEvent::HandleEvent(nsOnDataAvailableEvent * const 0x09297fb0) line 160 + 70 bytes nsStreamObserverEvent::HandlePLEvent(PLEvent * 0x09297fb4) line 78 PL_HandleEvent(PLEvent * 0x09297fb4) line 576 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x00acc210) line 509 + 9 bytes _md_EventReceiverProc(HWND__ * 0x1a740350, unsigned int 49615, unsigned int 0, long 11321872) line 1054 + 9 bytes USER32! 77e71820() I'm on WinNT CVS pulled thru 11/14 23:40. Also, is this related to http://bugzilla.mozilla.org/showattachment.cgi?attach_id=14820 ? The top of the trace looks very simiar.
Dup of bug 67354?
I meant to say I'm on a CVS pull thru 2/14 23:40. I don't know what I was thinking.
Is that really the entire stack or does it include a bunch of stuff before the USER frames? See bug 54792 for why this might just be a side effect of the nsAssertion code on Win32. That assertion makes this look like just a fup of bug 52859 (as Mark said) and really just a 'not reached' assertion that may or may not be appropriate. Nevertheless, the crash is bug 54792.
Sorry. That's Mack, not Mark.
Ok, I can't get anything right! I meant to agree that the 'not reached' part is a dup of bug 67354.
Stack trace produced with todays build: NTDLL! 77f762e8() js_AllocGCThing(JSContext * 0x05845c50, unsigned int 0) line 448 + 41 bytes js_NewObject(JSContext * 0x05845c50, JSClass * 0x00321410 _js_FunctionClass, JSObject * 0x00000000, JSObject * 0x03599490) line 1501 + 11 bytes js_NewFunction(JSContext * 0x05845c50, JSObject * 0x00000000, int (JSContext *, JSObject *, unsigned int, long *, long *)* 0x00000000, unsigned int 1, unsigned int 0, JSObject * 0x03599490, JSAtom * 0x05cf2680) line 1694 + 20 bytes JS_CompileUCFunctionForPrincipals(JSContext * 0x05845c50, JSObject * 0x03599490, JSPrincipals * 0x012a2414, const char * 0x0012b878, unsigned int 1, const char * * 0x0195b248 char const * * gEventArgv, const unsigned short * 0x06aafbc0, unsigned int 141, const char * 0x00000000, unsigned int 0) line 3011 + 27 bytes nsJSContext::CompileEventHandler(nsJSContext * const 0x05844c90, void * 0x03599490, nsIAtom * 0x06aabfd0, const basic_nsAReadableString<unsigned short> & {...}, int 1, void * * 0x0012bc74) line 840 + 71 bytes nsXBLPrototypeHandler::ExecuteHandler(nsXBLPrototypeHandler * const 0x04e3e8c0, nsIDOMEventReceiver * 0x05c1bcc8, nsIDOMEvent * 0x01d66164) line 342 nsXBLFocusHandler::Blur(nsIDOMEvent * 0x01d66164) line 105 nsEventListenerManager::HandleEvent(nsIPresContext * 0x058413a0, nsEvent * 0x0012cc50, nsIDOMEvent * * 0x0012c7f8, nsIDOMEventTarget * 0x05c1bcc8, unsigned int 4, nsEventStatus * 0x0012cc74) line 1230 + 23 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x05c1bcc0, nsIPresContext * 0x058413a0, nsEvent * 0x0012cc50, nsIDOMEvent * * 0x0012c7f8, unsigned int 4, nsEventStatus * 0x0012cc74) line 3574 nsXULElement::HandleDOMEvent(nsXULElement * const 0x05c504a0, nsIPresContext * 0x058413a0, nsEvent * 0x0012cc50, nsIDOMEvent * * 0x0012c7f8, unsigned int 4, nsEventStatus * 0x0012cc74) line 3555 nsGenericElement::HandleDOMEvent(nsGenericElement * const 0x05c502b0, nsIPresContext * 0x058413a0, nsEvent * 0x0012cc50, nsIDOMEvent * * 0x0012c7f8, unsigned int 1, nsEventStatus * 0x0012cc74) line 1403 nsHTMLInputElement::HandleDOMEvent(nsHTMLInputElement * const 0x05c502b0, nsIPresContext * 0x058413a0, nsEvent * 0x0012cc50, nsIDOMEvent * * 0x00000000, unsigned int 1, nsEventStatus * 0x0012cc74) line 1031 + 29 bytes nsEventStateManager::PreHandleEvent(nsEventStateManager * const 0x05c46968, nsIPresContext * 0x058413a0, nsEvent * 0x0012cf90, nsIFrame * 0x00d6e2c0, nsEventStatus * 0x0012cef8, nsIView * 0x058a9c20) line 549 PresShell::HandleEventInternal(nsEvent * 0x0012cf90, nsIView * 0x058a9c20, unsigned int 1, nsEventStatus * 0x0012cef8) line 4861 + 43 bytes PresShell::HandleEvent(PresShell * const 0x058a94f4, nsIView * 0x058a9c20, nsGUIEvent * 0x0012cf90, nsEventStatus * 0x0012cef8, int 1, int & 0) line 4802 + 25 bytes nsView::HandleEvent(nsView * const 0x058a9c20, nsGUIEvent * 0x0012cf90, unsigned int 28, nsEventStatus * 0x0012cef8, int 1, int & 0) line 372 nsViewManager2::DispatchEvent(nsViewManager2 * const 0x058a9df0, nsGUIEvent * 0x0012cf90, nsEventStatus * 0x0012cef8) line 1424 HandleEvent(nsGUIEvent * 0x0012cf90) line 68 nsWindow::DispatchEvent(nsWindow * const 0x058a9ae4, nsGUIEvent * 0x0012cf90, nsEventStatus & nsEventStatus_eIgnore) line 687 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012cf90) line 708 nsWindow::DispatchFocus(unsigned int 108) line 4105 + 15 bytes nsWindow::ProcessMessage(unsigned int 8, unsigned int 98239058, long 0, long * 0x0012d300) line 3105 + 19 bytes nsWindow::WindowProc(HWND__ * 0x0c9401f0, unsigned int 8, unsigned int 98239058, long 0) line 923 + 27 bytes USER32! 77e71303() USER32! 77e71962() NTDLL! 77f763ef() USER32! 77e8b5eb() USER32! 77e8306c() USER32! 77e7231f() USER32! 77e82a35() USER32! 77e8abf3() USER32! 77e8c228() USER32! 77e8baef() USER32! 77e8bbf6() USER32! 77e8bb6d() USER32! 77e8b6bd() nsDebug::Assertion(const char * 0x0578ceac, const char * 0x100d02dc, const char * 0x0578ce7c, int 210) line 213 + 22 bytes nsDebug::NotReached(const char * 0x0578ceac, const char * 0x0578ce7c, int 210) line 412 + 22 bytes nsPlaintextEditor::~nsPlaintextEditor() line 210 + 21 bytes nsHTMLEditor::~nsHTMLEditor() line 179 + 123 bytes nsHTMLEditorLog::~nsHTMLEditorLog() line 52 + 22 bytes nsHTMLEditorLog::`scalar deleting destructor'() + 15 bytes nsEditor::Release(nsEditor * const 0x064ef990) line 220 + 158 bytes nsHTMLEditor::Release(nsHTMLEditor * const 0x064ef990) line 182 + 12 bytes nsHTMLEditorLog::Release(nsHTMLEditorLog * const 0x064ef990) line 54 + 12 bytes nsCOMPtr<nsIHTMLEditor>::~nsCOMPtr<nsIHTMLEditor>() line 489 nsEditorShell::~nsEditorShell() line 273 + 163 bytes nsEditorShell::`scalar deleting destructor'() + 15 bytes nsEditorShell::Release(nsEditorShell * const 0x06495f40) line 280 + 158 bytes nsXPCWrappedNative::~nsXPCWrappedNative() line 398 + 27 bytes nsXPCWrappedNative::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsXPCWrappedNative::Release(nsXPCWrappedNative * const 0x06461040) line 71 + 31 bytes nsXPCWrappedNative::JSObjectFinalized(JSContext * 0x05d05a70, JSObject * 0x037610b8) line 96 WrappedNative_Finalize(JSContext * 0x05d05a70, JSObject * 0x037610b8) line 894 js_FinalizeObject(JSContext * 0x05d05a70, JSObject * 0x037610b8) line 1662 + 274 bytes js_GC(JSContext * 0x05d05a70, unsigned int 0) line 1218 + 11 bytes js_ForceGC(JSContext * 0x05d05a70) line 945 + 11 bytes js_DestroyContext(JSContext * 0x05d05a70, int 2) line 224 + 9 bytes JS_DestroyContext(JSContext * 0x05d05a70) line 882 + 11 bytes nsJSContext::~nsJSContext() line 392 + 13 bytes nsJSContext::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsJSContext::Release(nsJSContext * const 0x05d05c20) line 400 + 154 bytes nsCOMPtr<nsIScriptContext>::~nsCOMPtr<nsIScriptContext>() line 489 nsJSContext::CallEventHandler(nsJSContext * const 0x05d05c20, void * 0x03762c40, void * 0x03762c98, unsigned int 1, void * 0x0012eb90, int * 0x0012eb8c, int 0) line 951 + 15 bytes nsJSEventListener::HandleEvent(nsIDOMEvent * 0x06aabd94) line 154 + 64 bytes nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x06091f50, nsIDOMEvent * 0x06aabd94, nsIDOMEventTarget * 0x0609da48, unsigned int 8, unsigned int 7) line 838 + 19 bytes nsEventListenerManager::HandleEvent(nsIPresContext * 0x05e30150, nsEvent * 0x0012f448, nsIDOMEvent * * 0x0012f3c8, nsIDOMEventTarget * 0x0609da48, unsigned int 7, nsEventStatus * 0x0012f490) line 1720 + 39 bytes nsXULElement::HandleDOMEvent(nsXULElement * const 0x0609da40, nsIPresContext * 0x05e30150, nsEvent * 0x0012f448, nsIDOMEvent * * 0x0012f3c8, unsigned int 1, nsEventStatus * 0x0012f490) line 3574 PresShell::HandleDOMEventWithTarget(PresShell * const 0x05e31200, nsIContent * 0x0609da40, nsEvent * 0x0012f448, nsEventStatus * 0x0012f490) line 4914 + 39 bytes nsMenuFrame::Execute() line 1389 nsMenuFrame::HandleEvent(nsMenuFrame * const 0x036f529c, nsIPresContext * 0x05e30150, nsGUIEvent * 0x0012f890, nsEventStatus * 0x0012f784) line 378 PresShell::HandleEventInternal(nsEvent * 0x0012f890, nsIView * 0x06aa37a0, unsigned int 1, nsEventStatus * 0x0012f784) line 4882 + 41 bytes PresShell::HandleEvent(PresShell * const 0x05e31204, nsIView * 0x06aa37a0, nsGUIEvent * 0x0012f890, nsEventStatus * 0x0012f784, int 0, int & 1) line 4802 + 25 bytes nsView::HandleEvent(nsView * const 0x06aa37a0, nsGUIEvent * 0x0012f890, unsigned int 8, nsEventStatus * 0x0012f784, int 0, int & 1) line 372 nsView::HandleEvent(nsView * const 0x06a95770, nsGUIEvent * 0x0012f890, unsigned int 8, nsEventStatus * 0x0012f784, int 0, int & 1) line 345 nsView::HandleEvent(nsView * const 0x06a8be60, nsGUIEvent * 0x0012f890, unsigned int 8, nsEventStatus * 0x0012f784, int 0, int & 1) line 345 nsView::HandleEvent(nsView * const 0x05e31930, nsGUIEvent * 0x0012f890, unsigned int 28, nsEventStatus * 0x0012f784, int 1, int & 1) line 345 nsViewManager2::DispatchEvent(nsViewManager2 * const 0x05e31b60, nsGUIEvent * 0x0012f890, nsEventStatus * 0x0012f784) line 1424 HandleEvent(nsGUIEvent * 0x0012f890) line 68 nsWindow::DispatchEvent(nsWindow * const 0x05e317f4, nsGUIEvent * 0x0012f890, nsEventStatus & nsEventStatus_eIgnore) line 687 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f890) line 708 nsWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000) line 3956 + 21 bytes ChildWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000) line 4166 nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 8126519, long * 0x0012fc44) line 2966 + 24 bytes nsWindow::WindowProc(HWND__ * 0x05da0252, unsigned int 514, unsigned int 0, long 8126519) line 923 + 27 bytes USER32! 77e7124c() It looks like an ASSERTION in nsPlaintextEditor::~nsPlaintextEditor() is causing the crash. Changing reassigning to Editor.
Assignee: kmcclusk → beppe
QA Contact: petersen → sujay
assigning to kin for debug
Assignee: beppe → kin
Severity: normal → critical
Keywords: crash
Priority: -- → P1
Target Milestone: --- → mozilla0.9
*** This bug has been marked as a duplicate of 51825 ***
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → DUPLICATE
verified in 3/14 build.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.