Closed Bug 46001 Opened 24 years ago Closed 24 years ago

View-->HTML Source in Composer causes crash

Categories

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

x86
Windows NT
defect

Tracking

()

VERIFIED FIXED

People

(Reporter: ekrock, Assigned: cmanske)

References

Details

(Keywords: crash, Whiteboard: [nsbeta3+])

Attachments

(2 files)

Happens every time using Commercial 2000072008 on WinNT 4.0 SP4. Have filed two 
Talkback reports today (7/20).

To repro:
1) open attached HTML test case file in Composer
2) View-->HTML Source causes crash

Here's the HTML markup for the page. It's an H4 followed by text not enclosed in 
an element. (This was generated by a copy-paste from one Composer window to 
another. Composer producing invalid HTML markup? This probably another bug; 
that problem should be followed up on in bug .)

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>copypastebug.html</title></head><body>
<h4>test text text text text? </h4>
normal text &nbsp;normal text &nbsp;normal text &nbsp;normal text &nbsp;normal 
text &nbsp;normal text &nbsp;normal text &nbsp; </body>
</html>
Keywords: crash, nsbeta3
Attached file test case
... sorry, the number of the other bug I've filed re: HTML structure not being 
preserved over copy and paste (which is how this file was originally created, 
previous to my manually selecting the header and once again resetting the H4) is  
bug 45994.
repro in 072009 WinNT4
Severity: normal → critical
asigning to Kin
Assignee: beppe → kin
Target Milestone: --- → M18
Incident #: 14575746


 Call Stack:    (Signature = FrameManager::ComputeStyleChangeFor c51d5d09) 
     
   FrameManager::ComputeStyleChangeFor                                          
       [d:\builds\seamonkey\mozilla\layout\html\base\src\nsFrameManager.cpp, 
line 1451]
     
   nsCSSFrameConstructor::AttributeChanged       
[d:\builds\seamonkey\mozilla\layout\html\style\src\nsCSSFrameConstructor.cpp, 
line 10106]
     
   StyleSetImpl::AttributeChanged                                               
  [d:\builds\seamonkey\mozilla\layout\base\src\nsStyleSet.cpp, line 1143]
     
   PresShell::AttributeChanged                                                 
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 3381]
     
   nsXULDocument::AttributeChanged                                              
   [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULDocument.cpp, line 1674]
     
   nsXULElement::SetAttribute                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 2855]
     
   nsXULElement::SetAttribute                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 1246]
     
   nsXULElement::SetAttribute                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 2840]
     
   nsXULElement::SetAttribute                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 1246]
     
   ElementSetAttribute 
[d:\builds\seamonkey\mozilla\dom\src\coreDOM\nsJSElement.cpp, line 240]
     
   js_Invoke                                                 
[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 717]
     
   js_Interpret                                                 
[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2518]
     
   js_Invoke                                                 
[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 733]
     
   js_InternalInvoke                                                 
[d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 806]
     
   JS_CallFunctionValue                                                 
[d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 2819]
     
   nsJSContext::CallEventHandler                                                
 [d:\builds\seamonkey\mozilla\dom\src\base\nsJSEnvironment.cpp, line 850]
     
   nsJSEventListener::HandleEvent                                               
  [d:\builds\seamonkey\mozilla\dom\src\events\nsJSEventListener.cpp, line 155]
     
   nsEventListenerManager::HandleEventSubType             
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 
773]
     
   nsEventListenerManager::HandleEvent                                          
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 
1653]
     
   nsXULElement::HandleDOMEvent                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 3350]
     
   nsXULCommandDispatcher::UpdateCommands          
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULCommandDispatcher.cpp, line 
321]
     
   nsXULCommandDispatcher::SetFocusedElement           
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULCommandDispatcher.cpp, line 
152]
     
   nsXULCommandDispatcher::Focus                                                
 [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULCommandDispatcher.cpp, line 
392]
     
   nsEventListenerManager::HandleEvent                                          
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 
1161]
     
   nsXULDocument::HandleDOMEvent                                                
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULDocument.cpp, line 2141]
     
   nsXULElement::HandleDOMEvent                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 3347]
     
   nsXULElement::HandleDOMEvent                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 3339]
     
   nsXULElement::HandleDOMEvent                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 3339]
     
   nsXULElement::HandleDOMEvent                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 3339]
     
   nsXULElement::HandleDOMEvent                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 3339]
     
   nsEventStateManager::SendFocusBlur                                           
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventStateManager.cpp, line 
2417]
     
   nsEventStateManager::SetContentState                                         
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventStateManager.cpp, line 
2189]
     
   nsXULElement::SetFocus                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 4227]
     
   nsXULElement::Focus                                                 
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 4152]
     
XULElementFocus [d:\builds\seamonkey\mozilla\rdf\content\src\nsJSXULElement.cpp, 
line 455]
js_Invoke  [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 717]
js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2518]
js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 733]
js_InternalInvoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 806]
JS_CallFunctionValue [d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 2819]

nsJSContext::CallEventHandler                   
[d:\builds\seamonkey\mozilla\dom\src\base\nsJSEnvironment.cpp, line 850]
     
nsJSEventListener::HandleEvent                  
[d:\builds\seamonkey\mozilla\dom\src\events\nsJSEventListener.cpp, line 155]
     
nsEventListenerManager::HandleEventSubType      
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 
773]
     
nsEventListenerManager::HandleEvent              
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 
922]
     
nsXULElement::HandleDOMEvent                    
[d:\builds\seamonkey\mozilla\rdf\content\src\nsXULElement.cpp, line 3350]
     
PresShell::HandleEventInternal               
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 3993]
     
PresShell::HandleEventWithTarget                
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 3973]
     
nsEventStateManager::CheckForAndDispatchClick   
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventStateManager.cpp, line 
1775]
     
nsEventStateManager::PostHandleEvent            
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventStateManager.cpp, line 
854]
     
PresShell::HandleEventInternal                  
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 4014]
     
PresShell::HandleEvent                          
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 3928]
     
nsView::HandleEvent                             
[d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 782]
     
nsViewManager2::DispatchEvent                   
[d:\builds\seamonkey\mozilla\view\src\nsViewManager2.cpp, line 1389]
     
HandleEvent                                     
[d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 69]
     
nsWindow::DispatchEvent                         
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 564]
     
nsWindow::DispatchWindowEvent                   
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 581]
     
nsWindow::DispatchMouseEvent                    
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 3689]
     
ChildWindow::DispatchMouseEvent                 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 3894]
     
nsWindow::ProcessMessage                                                 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 2809]
     
nsWindow::WindowProc 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 830]
     
KERNEL32.DLL + 0x363b (0xbff7363b) 
KERNEL32.DLL + 0x242e7 (0xbff942e7) 
0x00688b42 
another incident report is 14389625
I crash on View HTML Source as well, but in a different place. The problem I see 
is that the code in nsMenuFrame::OpenMenu is dereferencing a null pointer 
(domElement below). It should be checking, as in 'if(domElement)'

nsMenuFrame::OpenMenu(PRBool aActivateFlag)
{
  nsCOMPtr<nsIDOMElement> domElement = do_QueryInterface(mContent);
  if (aActivateFlag) {
    // Now that the menu is opened, we should have a menupopup child built.
    // Mark it as generated, which ensures a frame gets built.
    MarkAsGenerated();

    domElement->SetAttribute(NS_ConvertASCIItoUCS2("open"), 
NS_ConvertASCIItoUCS2("true"));
  }
  else domElement->RemoveAttribute(NS_ConvertASCIItoUCS2("open"));

  return NS_OK;
}

I have a two-day old build so I am updating now to see if I get the same stack 
as reported previously.
Blocks: 38972
this crashes on linux as well, 90% reproducable, and has for a few days.
Veeery annoying. Currently testing 2000-072113
Attaching (kinda worthless, non-debug) backtrace.
Attached file gdb bt
Status: NEW → ASSIGNED
Accepting bug.

I could not reproduce this problem in my 07/24/00 Win32, Mac or Linux debug 
build. Anyone still seeing the problem?
*** Bug 46328 has been marked as a duplicate of this bug. ***
on linux, simply creating a new file and switching back/forth between normal and
html source-mode doesn't affect it. But any "real" html file will send it down
in flames. Can still reproduce this crash with ease on linux 2000-072408.
setting to nsbeta3+
Whiteboard: nsbeta3+
I get this crash in linux allmost every time when chanhing modes in editor.
Here is stactrace from linux:

Program received signal SIGSEGV, Segmentation fault.
0x415e3e5e in FrameManager::ComputeStyleChangeFor (this=0x8322298, 
    aPresContext=0x83213f0, aFrame=0x87881c0, aAttrNameSpaceID=0, 
    aAttribute=0x823c638, aChangeList=@0xbfffaa64, aMinChange=2, 
    aTopLevelChange=@0xbfffaaf0)
    at ../../../../../layout/html/base/src/nsFrameManager.cpp:1450
1450        frame->GetStyleContext(&styleContext);

(gdb) print styleContext
$2 = (nsIStyleContext *) 0x0

(gdb) bt
#0  0x415e3e5e in FrameManager::ComputeStyleChangeFor (this=0x8322298, 
    aPresContext=0x83213f0, aFrame=0x87881c0, aAttrNameSpaceID=0, 
    aAttribute=0x823c638, aChangeList=@0xbfffaa64, aMinChange=2, 
    aTopLevelChange=@0xbfffaaf0)
    at ../../../../../layout/html/base/src/nsFrameManager.cpp:1450
#1  0x4178cb9d in nsCSSFrameConstructor::AttributeChanged (this=0x8321a90, 
    aPresContext=0x83213f0, aContent=0x83ecd10, aNameSpaceID=0, 
    aAttribute=0x823c638, aHint=2)
    at ../../../../../layout/html/style/src/nsCSSFrameConstructor.cpp:10114
#2  0x41906051 in StyleSetImpl::AttributeChanged (this=0x8321a28, 
    aPresContext=0x83213f0, aContent=0x83ecd10, aNameSpaceID=0, 
    aAttribute=0x823c638, aHint=-1)
    at ../../../../layout/base/src/nsStyleSet.cpp:1142
#3  0x41612631 in PresShell::AttributeChanged (this=0x8321b48, 
    aDocument=0x830b498, aContent=0x83ecd10, aNameSpaceID=0, 
    aAttribute=0x823c638, aHint=-1)
    at ../../../../../layout/html/base/src/nsPresShell.cpp:3400
#4  0x40890650 in nsXULDocument::AttributeChanged (this=0x830b498, 
    aElement=0x83ecd10, aNameSpaceID=0, aAttribute=0x823c638, aHint=-1)
    at ../../../../rdf/content/src/nsXULDocument.cpp:1673
#5  0x40877d09 in nsXULElement::SetAttribute (this=0x83ecd10, aNameSpaceID=0, 
    aName=0x823c638, aValue=@0xbfffb1c0, aNotify=1)
    at ../../../../rdf/content/src/nsXULElement.cpp:2854
#6  0x408711dc in nsXULElement::SetAttribute (this=0x83ecd10, 
    aName=@0xbfffb018, aValue=@0xbfffb1c0)
    at ../../../../rdf/content/src/nsXULElement.cpp:1242
#7  0x40877b10 in nsXULElement::SetAttribute (this=0x83d62c8, aNameSpaceID=0, 
    aName=0x823c638, aValue=@0xbfffb1c0, aNotify=1)
    at ../../../../rdf/content/src/nsXULElement.cpp:2839
#8  0x408711dc in nsXULElement::SetAttribute (this=0x83d62c8, 
    aName=@0xbfffb258, aValue=@0xbfffb1c0)
    at ../../../../rdf/content/src/nsXULElement.cpp:1242
#9  0x405ed2f3 in ElementSetAttribute (cx=0x812f870, obj=0x87e8410, argc=2, 
    argv=0x885fc8c, rval=0xbfffb3a0)
    at ../../../../dom/src/coreDOM/nsJSElement.cpp:239
#10 0x401d45b6 in js_Invoke (cx=0x812f870, argc=2, flags=0)
    at ../../../js/src/jsinterp.c:716
#11 0x401e568b in js_Interpret (cx=0x812f870, result=0xbfffbd6c)
    at ../../../js/src/jsinterp.c:2517
#12 0x401d4615 in js_Invoke (cx=0x812f870, argc=1, flags=2)
    at ../../../js/src/jsinterp.c:732
#13 0x401d496c in js_InternalInvoke (cx=0x812f870, obj=0x87e8da0, 
    fval=142511528, flags=0, argc=1, argv=0xbfffc018, rval=0xbfffbee8)
    at ../../../js/src/jsinterp.c:805
#14 0x401a7087 in JS_CallFunctionValue (cx=0x812f870, obj=0x87e8da0, 
    fval=142511528, argc=1, argv=0xbfffc018, rval=0xbfffbee8)
    at ../../../js/src/jsapi.c:2817
#15 0x405ab33d in nsJSContext::CallEventHandler (this=0x812f838, 
    aTarget=0x87e8da0, aHandler=0x87e8da8, argc=1, argv=0xbfffc018, 
    aBoolResult=0xbfffbf68, aReverseReturnResult=0)
    at ../../../../dom/src/base/nsJSEnvironment.cpp:846
#16 0x405f9a6c in nsJSEventListener::HandleEvent (this=0x85fe638, 
    aEvent=0x8650adc) at ../../../../dom/src/events/nsJSEventListener.cpp:154
#17 0x415ab81c in nsEventListenerManager::HandleEventSubType (this=0x85fe5e0, 
    aListenerStruct=0x85fe670, aDOMEvent=0x8650adc, aCurrentTarget=0x837ba48, 
    aSubType=32, aPhaseFlags=7)
    at ../../../../layout/events/src/nsEventListenerManager.cpp:772
#18 0x415ae2d5 in nsEventListenerManager::HandleEvent (this=0x85fe5e0, 
    aPresContext=0x83213f0, aEvent=0xbfffc774, aDOMEvent=0xbfffc654, 
    aCurrentTarget=0x837ba48, aFlags=7, aEventStatus=0xbfffc6f0)
    at ../../../../layout/events/src/nsEventListenerManager.cpp:1646
#19 0x40879eba in nsXULElement::HandleDOMEvent (this=0x837ba38, 
    aPresContext=0x83213f0, aEvent=0xbfffc774, aDOMEvent=0xbfffc654, aFlags=1, 
    aEventStatus=0xbfffc6f0)
    at ../../../../rdf/content/src/nsXULElement.cpp:3349
#20 0x408b70f2 in nsXULCommandDispatcher::UpdateCommands (this=0x81d78a0, 
    aEventName=@0xbfffc860)
    at ../../../../rdf/content/src/nsXULCommandDispatcher.cpp:320
#21 0x408b64a2 in nsXULCommandDispatcher::SetFocusedElement (this=0x81d78a0, 
    aElement=0x8382ee4)
    at ../../../../rdf/content/src/nsXULCommandDispatcher.cpp:151
#22 0x408b75d9 in nsXULCommandDispatcher::Focus (this=0x81d78a0, 
    aEvent=0x864bd0c)
    at ../../../../rdf/content/src/nsXULCommandDispatcher.cpp:386
#23 0x415acb48 in nsEventListenerManager::HandleEvent (this=0x830c140, 
    aPresContext=0x83213f0, aEvent=0xbfffd940, aDOMEvent=0xbfffd68c, 
    aCurrentTarget=0x830b4b8, aFlags=4, aEventStatus=0xbfffd980)
    at ../../../../layout/events/src/nsEventListenerManager.cpp:1153
#24 0x4089197f in nsXULDocument::HandleDOMEvent (this=0x830b498, 
    aPresContext=0x83213f0, aEvent=0xbfffd940, aDOMEvent=0xbfffd68c, aFlags=4, 
    aEventStatus=0xbfffd980)
    at ../../../../rdf/content/src/nsXULDocument.cpp:2140
#25 0x40879e0f in nsXULElement::HandleDOMEvent (this=0x41e6b358, 
    aPresContext=0x83213f0, aEvent=0xbfffd940, aDOMEvent=0xbfffd68c, aFlags=4, 
    aEventStatus=0xbfffd980)
    at ../../../../rdf/content/src/nsXULElement.cpp:3341
#26 0x40879dca in nsXULElement::HandleDOMEvent (this=0x8382980, 
    aPresContext=0x83213f0, aEvent=0xbfffd940, aDOMEvent=0xbfffd68c, aFlags=4, 
    aEventStatus=0xbfffd980)
    at ../../../../rdf/content/src/nsXULElement.cpp:3337
#27 0x40879dca in nsXULElement::HandleDOMEvent (this=0x8382b50, 
    aPresContext=0x83213f0, aEvent=0xbfffd940, aDOMEvent=0xbfffd68c, aFlags=4, 
    aEventStatus=0xbfffd980)
    at ../../../../rdf/content/src/nsXULElement.cpp:3337
#28 0x40879dca in nsXULElement::HandleDOMEvent (this=0x8382bc8, 
    aPresContext=0x83213f0, aEvent=0xbfffd940, aDOMEvent=0xbfffd68c, aFlags=4, 
    aEventStatus=0xbfffd980)
    at ../../../../rdf/content/src/nsXULElement.cpp:3337
#29 0x40879dca in nsXULElement::HandleDOMEvent (this=0x8382ed8, 
    aPresContext=0x83213f0, aEvent=0xbfffd940, aDOMEvent=0xbfffd68c, aFlags=1, 
    aEventStatus=0xbfffd980)
    at ../../../../rdf/content/src/nsXULElement.cpp:3337
#30 0x415b9b00 in nsEventStateManager::SendFocusBlur (this=0x8629848, 
    aPresContext=0x83213f0, aContent=0x8382ed8)
    at ../../../../layout/events/src/nsEventStateManager.cpp:2414
#31 0x415b8360 in nsEventStateManager::SetContentState (this=0x8629848, 
    aContent=0x8382ed8, aState=2)
    at ../../../../layout/events/src/nsEventStateManager.cpp:2185
#32 0x4087da53 in nsXULElement::SetFocus (this=0x8382ed8, 
    aPresContext=0x83213f0)
    at ../../../../rdf/content/src/nsXULElement.cpp:4226
#33 0x4087d3b0 in nsXULElement::Focus (this=0x8382ed8)
    at ../../../../rdf/content/src/nsXULElement.cpp:4151
#34 0x408642d2 in XULElementFocus (cx=0x812f870, obj=0x8516ea8, argc=0, 
    argv=0x885faec, rval=0xbfffdcb8)
    at ../../../../rdf/content/src/nsJSXULElement.cpp:454
#35 0x401d45b6 in js_Invoke (cx=0x812f870, argc=0, flags=0)
    at ../../../js/src/jsinterp.c:716
#36 0x401e568b in js_Interpret (cx=0x812f870, result=0xbfffe684)
    at ../../../js/src/jsinterp.c:2517
#37 0x401d4615 in js_Invoke (cx=0x812f870, argc=1, flags=2)
    at ../../../js/src/jsinterp.c:732
#38 0x401d496c in js_InternalInvoke (cx=0x812f870, obj=0x8516fb0, 
    fval=142731920, flags=0, argc=1, argv=0xbfffe930, rval=0xbfffe800)
    at ../../../js/src/jsinterp.c:805
#39 0x401a7087 in JS_CallFunctionValue (cx=0x812f870, obj=0x8516fb0, 
    fval=142731920, argc=1, argv=0xbfffe930, rval=0xbfffe800)
    at ../../../js/src/jsapi.c:2817
#40 0x405ab33d in nsJSContext::CallEventHandler (this=0x812f838, 
    aTarget=0x8516fb0, aHandler=0x881ea90, argc=1, argv=0xbfffe930, 
    aBoolResult=0xbfffe880, aReverseReturnResult=0)
    at ../../../../dom/src/base/nsJSEnvironment.cpp:846
#41 0x405f9a6c in nsJSEventListener::HandleEvent (this=0x85facf8, 
    aEvent=0x88474bc) at ../../../../dom/src/events/nsJSEventListener.cpp:154
#42 0x415ab81c in nsEventListenerManager::HandleEventSubType (this=0x85faca0, 
    aListenerStruct=0x85fad30, aDOMEvent=0x88474bc, aCurrentTarget=0x8383188, 
    aSubType=4, aPhaseFlags=7)
    at ../../../../layout/events/src/nsEventListenerManager.cpp:772
#43 0x415abff5 in nsEventListenerManager::HandleEvent (this=0x85faca0, 
    aPresContext=0x83213f0, aEvent=0xbffff068, aDOMEvent=0xbfffef6c, 
    aCurrentTarget=0x8383188, aFlags=7, aEventStatus=0xbffff4cc)
    at ../../../../layout/events/src/nsEventListenerManager.cpp:915
#44 0x40879eba in nsXULElement::HandleDOMEvent (this=0x8383178, 
    aPresContext=0x83213f0, aEvent=0xbffff068, aDOMEvent=0xbfffef6c, aFlags=1, 
    aEventStatus=0xbffff4cc)
    at ../../../../rdf/content/src/nsXULElement.cpp:3349
#45 0x41613eda in PresShell::HandleEventInternal (this=0x8321b48, 
    aEvent=0xbffff068, aView=0x0, aStatus=0xbffff4cc)
    at ../../../../../layout/html/base/src/nsPresShell.cpp:4012
#46 0x41613dbc in PresShell::HandleEventWithTarget (this=0x8321b48, 
    aEvent=0xbffff068, aFrame=0x86c7b60, aContent=0x8383178, 
    aStatus=0xbffff4cc)
    at ../../../../../layout/html/base/src/nsPresShell.cpp:3993
#47 0x415b6244 in nsEventStateManager::CheckForAndDispatchClick (
    this=0x8629848, aPresContext=0x83213f0, aEvent=0xbffff5d0, 
    aStatus=0xbffff4cc)
    at ../../../../layout/events/src/nsEventStateManager.cpp:1773
#48 0x415b36eb in nsEventStateManager::PostHandleEvent (this=0x8629848, 
    aPresContext=0x83213f0, aEvent=0xbffff5d0, aTargetFrame=0x86c7b60, 
    aStatus=0xbffff4cc, aView=0x8321740)
    at ../../../../layout/events/src/nsEventStateManager.cpp:852
#49 0x4161403c in PresShell::HandleEventInternal (this=0x8321b48, 
    aEvent=0xbffff5d0, aView=0x8321740, aStatus=0xbffff4cc)
    at ../../../../../layout/html/base/src/nsPresShell.cpp:4032
#50 0x41613b39 in PresShell::HandleEvent (this=0x8321b48, aView=0x8321740, 
    aEvent=0xbffff5d0, aEventStatus=0xbffff4cc, aHandled=@0xbffff470)
    at ../../../../../layout/html/base/src/nsPresShell.cpp:3947
#51 0x41bac447 in nsView::HandleEvent (this=0x8321740, event=0xbffff5d0, 
    aEventFlags=28, aStatus=0xbffff4cc, aHandled=@0xbffff470)
    at ../../../view/src/nsView.cpp:769
#52 0x41bbf603 in nsViewManager2::DispatchEvent (this=0x8321620, 
    aEvent=0xbffff5d0, aStatus=0xbffff4cc)
    at ../../../view/src/nsViewManager2.cpp:1387
#53 0x41ba9e84 in HandleEvent (aEvent=0xbffff5d0)
    at ../../../view/src/nsView.cpp:68
#54 0x409f6c78 in nsWidget::DispatchEvent (this=0x83217b0, aEvent=0xbffff5d0, 
    aStatus=@0xbffff568) at ../../../../widget/src/gtk/nsWidget.cpp:1456
#55 0x409f68bc in nsWidget::DispatchWindowEvent (this=0x83217b0, 
    event=0xbffff5d0) at ../../../../widget/src/gtk/nsWidget.cpp:1347
#56 0x409f6d30 in nsWidget::DispatchMouseEvent (this=0x83217b0, 
    aEvent=@0xbffff5d0) at ../../../../widget/src/gtk/nsWidget.cpp:1483
#57 0x409f89e5 in nsWidget::OnButtonReleaseSignal (this=0x83217b0, 
    aGdkButtonEvent=0x8268988) at ../../../../widget/src/gtk/nsWidget.cpp:2269
#58 0x409ff690 in nsWindow::HandleGDKEvent (this=0x83217b0, event=0x8268988)
    at ../../../../widget/src/gtk/nsWindow.cpp:1299
#59 0x409ee8ad in dispatch_superwin_event (event=0x8268988, window=0x83217b0)
    at ../../../../widget/src/gtk/nsGtkEventHandler.cpp:941
#60 0x409ee504 in handle_gdk_event (event=0x8268988, data=0x0)
    at ../../../../widget/src/gtk/nsGtkEventHandler.cpp:788
#61 0x40b8700b in gdk_event_dispatch () from /usr/lib/libgdk-1.2.so.0
#62 0x40bb1be6 in g_main_dispatch () from /usr/lib/libglib-1.2.so.0
#63 0x40bb21a1 in g_main_iterate () from /usr/lib/libglib-1.2.so.0
#64 0x40bb2341 in g_main_run () from /usr/lib/libglib-1.2.so.0
#65 0x40adc209 in gtk_main () from /usr/lib/libgtk-1.2.so.0
#66 0x409e505a in nsAppShell::Run (this=0x80ed6f8)
    at ../../../../widget/src/gtk/nsAppShell.cpp:335
#67 0x40517e44 in nsAppShellService::Run (this=0x809f828)
    at ../../../../xpfe/appshell/src/nsAppShellService.cpp:386

#68 0x80534d5 in main1 (argc=2, argv=0xbffffad4, nativeApp=0x0)
    at ../../../xpfe/bootstrap/nsAppRunner.cpp:913
#69 0x8053b9e in main (argc=2, argv=0xbffffad4)
    at ../../../xpfe/bootstrap/nsAppRunner.cpp:1093
#70 0x4035f1eb in __libc_start_main (main=0x80539ec <main>, argc=2, 
    argv=0xbffffad4, init=0x804eeb4 <_init>, fini=0x805e8d0 <_fini>, 
    rtld_fini=0x4000a610 <_dl_fini>, stack_end=0xbffffacc)
    at ../sysdeps/generic/libc-start.c:90

Here is how to reproduce this on linux every time:

1. mozilla -editor
2. open Edit menu, close it (actually mousing over it is enought, so
   it gets loaded and created)
2. Open "Edit Mode" toolbar and switch to "HTML Source"

 -> Crash
On windows, I see the crash that Marc Attinasi sees, which seems to happen 
because we are hiding the "View" Menu which just so happens to contain the "HTML 
Source ..." menu item that fired off the command that is trying to hide it.

If I comment out all ShowMenuItem("viewMenu", ...) calls in SetDisplayMode() (in 
editor.js) I don't see the crash anymore, but I do occassionaly crash with the 
stack trace that beppe reported, which seems to be related to the hiding of the 
gFormatToolbar also in SetDisplayMode().

You'll notice that when the gFormatToolbar is hidden, a whole bunch of style 
warnings get printed to the console. (not sure if it's related or not) In any 
case commenting out the hiding of gFormatToolbar fixes the 2nd crash for me.
 
Talked to hyatt earlier this week and he said to assign this to pinkerton.
Assignee: kin → pinkerton
Status: ASSIGNED → NEW
ok, i think i see what's going on.
Target Milestone: M18 → M20
the "right" way to fix this bug is to not set the "hidden" attribute (which 
destroys the menu frames and causes the crash) but to instead set the "collapsed" 
attribute which implies |visibility: collapsed| and not |display: none|.

I'll fix up the mac menu code to look for "collapsed" in addition to "hidden". 
Reassigning to cmanske.
Assignee: pinkerton → cmanske
Whiteboard: nsbeta3+ → [nsbeta3+]
Changing to m18. Fix is ready.
Status: NEW → ASSIGNED
Target Milestone: M20 → M18
Fix is ready, but can't checkin until other work in these files are finished.
*** Bug 47728 has been marked as a duplicate of this bug. ***
*** Bug 47965 has been marked as a duplicate of this bug. ***
Checked in 8/9.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
verified in 8/11 build.
Status: RESOLVED → VERIFIED
*** Bug 49296 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.

Attachment

General

Created:
Updated:
Size: