Closed Bug 14104 Opened 25 years ago Closed 25 years ago

All dialogs give alerts, then crash

Categories

(SeaMonkey :: UI Design, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: morse, Assigned: davidm)

References

()

Details

This is occuring for all dialogs.  Simplest test case is to get a javascript
alert.  Namely display the following content:

<html>
  <header>
    <script>
      alert("hi")
    </script>
  </header>
<html>

What happens is that first you get an assertion.  You can continue from there
and the assertion keeps coming back a few times.  Then finally you'll get a hard
crash.  Below are the stack traces at both the assertion and at the crash.

At Assertion
-------------

NTDLL! 77f76274()
nsDebug::PreCondition(const char * 0x02574590, const char * 0x02574584, const
char * 0x02574560, int 294) line 163 + 13 bytes
nsEditor::GetDocument(nsEditor * const 0x02a5d490, nsIDOMDocument * *
0x0012cae8) line 294 + 41 bytes
nsHTMLEditor::~nsHTMLEditor() line 176
nsHTMLEditorLog::~nsHTMLEditorLog() line 47 + 22 bytes
nsHTMLEditorLog::`scalar deleting destructor'(unsigned int 1) + 15 bytes
nsEditor::Release(nsEditor * const 0x02a5d490) line 178 + 102 bytes
nsHTMLEditor::Release(nsHTMLEditor * const 0x02a5d490) line 211 + 12 bytes
nsHTMLEditorLog::Release(nsHTMLEditorLog * const 0x02a5d490) line 50 + 12 bytes
nsCOMPtr<nsIEditor>::assign_with_AddRef(nsISupports * 0x00000000) line 633
nsCOMPtr<nsIEditor>::operator=(nsIEditor * 0x00000000) line 533
nsGfxTextControlFrame::~nsGfxTextControlFrame() line 246
nsGfxTextControlFrame::`scalar deleting destructor'(unsigned int 1) + 15 bytes
nsFrame::Destroy(nsFrame * const 0x02a5d590, nsIPresContext & {...}) line 317 +
34 bytes
nsFrameList::DestroyFrames(nsIPresContext & {...}) line 29
nsContainerFrame::Destroy(nsContainerFrame * const 0x00e78ec0, nsIPresContext &
{...}) line 88
nsFrameList::DestroyFrames(nsIPresContext & {...}) line 29
nsContainerFrame::Destroy(nsContainerFrame * const 0x00e76028, nsIPresContext &
{...}) line 88
nsFrameList::DestroyFrame(nsIPresContext & {...}, nsIFrame * 0x00e76028) line
115
nsBoxFrame::RemoveFrame(nsBoxFrame * const 0x00e740a8, nsIPresContext & {...},
nsIPresShell & {...}, nsIAtom * 0x00000000, nsIFrame * 0x00e76028) line 1388
FrameManager::RemoveFrame(FrameManager * const 0x02aa0370, nsIPresContext &
{...}, nsIPresShell & {...}, nsIFrame * 0x00e740a8, nsIAtom * 0x00000000,
nsIFrame * 0x00e76028) line 381
nsCSSFrameConstructor::ContentRemoved(nsCSSFrameConstructor * const 0x02aa7fd0,
nsIPresContext * 0x02aa06c0, nsIContent * 0x02a8a8b0, nsIContent * 0x02a93760,
int 2) line 6137 + 58 bytes
nsCSSFrameConstructor::RecreateFramesForContent(nsIPresContext * 0x02aa06c0,
nsIContent * 0x02a93760) line 7523 + 28 bytes
nsCSSFrameConstructor::AttributeChanged(nsCSSFrameConstructor * const
0x02aa7fd0, nsIPresContext * 0x02aa06c0, nsIContent * 0x02a93760, nsIAtom *
0x00f3e490, int 2) line 6673 + 16 bytes
StyleSetImpl::AttributeChanged(StyleSetImpl * const 0x02aa2d30, nsIPresContext *
0x02aa06c0, nsIContent * 0x02a93760, nsIAtom * 0x00f3e490, int -1) line 909
PresShell::AttributeChanged(PresShell * const 0x02aa7ec8, nsIDocument *
0x0299ba00, nsIContent * 0x02a93760, nsIAtom * 0x00f3e490, int -1) line 1652 +
53 bytes
XULDocumentImpl::AttributeChanged(XULDocumentImpl * const 0x0299ba00, nsIContent
* 0x02a93760, nsIAtom * 0x00f3e490, int -1) line 2155
RDFElementImpl::SetAttribute(RDFElementImpl * const 0x02a93760, int 0, nsIAtom *
0x00f3e490, const nsString & {...}, int 1) line 2433
RDFElementImpl::SetAttribute(RDFElementImpl * const 0x02a93750, const nsString &
{...}, const nsString & {...}) line 1217 + 35 bytes
ElementSetAttribute(JSContext * 0x025dba00, JSObject * 0x01fc9750, unsigned int
2, long * 0x00e700ac, long * 0x0012d424) line 258 + 23 bytes
js_Invoke(JSContext * 0x025dba00, unsigned int 2, unsigned int 0) line 654 + 26
bytes
js_Interpret(JSContext * 0x025dba00, long * 0x0012dc54) line 2228 + 15 bytes
js_Invoke(JSContext * 0x025dba00, unsigned int 0, unsigned int 0) line 670 + 13
bytes
js_Interpret(JSContext * 0x025dba00, long * 0x0012e440) line 2228 + 15 bytes
js_Invoke(JSContext * 0x025dba00, unsigned int 1, unsigned int 2) line 670 + 13
bytes
js_InternalCall(JSContext * 0x025dba00, JSObject * 0x01eb4c98, long 33330296,
unsigned int 1, long * 0x0012e55c, long * 0x0012e5c4) line 747 + 15 bytes
JS_CallFunctionValue(JSContext * 0x025dba00, JSObject * 0x01eb4c98, long
33330296, unsigned int 1, long * 0x0012e55c, long * 0x0012e5c4) line 2662 + 29
bytes
nsJSEventListener::HandleEvent(nsIDOMEvent * 0x0299a650) line 110 + 43 bytes
nsEventListenerManager::HandleEvent(nsIPresContext & {...}, nsEvent *
0x0012e848, nsIDOMEvent * * 0x0012e724, unsigned int 7, nsEventStatus &
nsEventStatus_eIgnore) line 991 + 21 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x025dbb74,
nsIPresContext & {...}, nsEvent * 0x0012e848, nsIDOMEvent * * 0x0012e724,
unsigned int 1, nsEventStatus & nsEventStatus_eIgnore) line 2848
nsWebShell::OnEndDocumentLoad(nsWebShell * const 0x025df654, nsIDocumentLoader *
0x025dfce0, nsIChannel * 0x02a898e0, unsigned int 0, nsIDocumentLoaderObserver *
0x025df654) line 3307 + 34 bytes
nsDocLoaderImpl::FireOnEndDocumentLoad(nsDocLoaderImpl * 0x025dfce0, unsigned
int 0) line 1094
nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x025dfce4, nsIChannel *
0x02b74520, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x00000000) line 965
nsLoadGroup::RemoveChannel(nsLoadGroup * const 0x025dd6d0, nsIChannel *
0x02b74520, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x00000000) line 593 + 39 bytes
nsFileChannel::OnStopRequest(nsFileChannel * const 0x02b74524, nsIChannel *
0x02b741c0, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x00000000) line 474
nsOnStopRequestEvent::HandleEvent(nsOnStopRequestEvent * const 0x02b75640) line
269
nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x02b75644) line 144 + 12 bytes
PL_HandleEvent(PLEvent * 0x02b75644) line 509 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x025dd980) line 470 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x00720496, unsigned int 49393, unsigned int 0,
long 39704960) line 938 + 9 bytes
USER32! 77e71268()
025dd980()


******************

At Crash
---------

NTDLL! 77f76274()
nsWindow::Create(nsWindow * const 0x02ba38d4, nsIWidget * 0x00000000, const
nsRect & {...}, nsEventStatus (nsGUIEvent *)* 0x01c43b63 HandleEvent(nsGUIEvent
*), nsIDeviceContext * 0x02b76f70, nsIAppShell * 0x00000000, nsIToolkit *
0x00000000, nsWidgetInitData * 0x00000000) line 602
nsView::CreateWidget(nsView * const 0x02ba3a10, const nsID & {...},
nsWidgetInitData * 0x00000000, void * 0x00000000, int 1) line 1234
DocumentViewerImpl::MakeWindow(void * 0x00000000, const nsRect & {...},
nsScrollPreference nsScrollPreference_kAuto) line 887 + 34 bytes
DocumentViewerImpl::Init(DocumentViewerImpl * const 0x02b81bf0, void *
0x00000000, nsIDeviceContext * 0x02b76f70, nsIPref * 0x00aa48a0, const nsRect &
{...}, nsScrollPreference nsScrollPreference_kAuto) line 394
nsWebShell::Embed(nsWebShell * const 0x02b75730, nsIContentViewer * 0x02b81bf0,
const char * 0x02b767e0, nsISupports * 0x00000000) line 867 + 69 bytes
nsDocumentBindInfo::OnStartRequest(nsDocumentBindInfo * const 0x02b76820,
nsIChannel * 0x02b765c0, nsISupports * 0x00000000) line 1887 + 36 bytes
nsChannelListener::OnStartRequest(nsChannelListener * const 0x02b76760,
nsIChannel * 0x02b765c0, nsISupports * 0x00000000) line 2225 + 43 bytes
nsInputStreamChannel::OnStartRequest(nsInputStreamChannel * const 0x02b765c4,
nsIChannel * 0x02b76680, nsISupports * 0x00000000) line 314
nsOnStartRequestEvent::HandleEvent(nsOnStartRequestEvent * const 0x02b76030)
line 207
nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x02b76034) line 144 + 12 bytes
PL_HandleEvent(PLEvent * 0x02b76034) line 509 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x025dd980) line 470 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x00720496, unsigned int 49393, unsigned int 0,
long 39704960) line 938 + 9 bytes
USER32! 77e71268()
025dd980()
I am getting the assertions but not the crash with a build from after 5:00pm 9/
16.
You're absolutely right, the behavior has changed.  I pulled another tree at 9PM
and am seeing only the assert and not the crash.

It's still a bummer to use the cookie nag box on a debug build with all these
asserts coming in, but I could always comment out the assert in my private tree.
Furthermore, nobody else could even get a nag box because in this new build you
crash trying to set that preference (see bug 14141).
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
marking works for me. I assert doing anything ( load a page, resize the window,
open a new window.,...) with my windows build so hopefully someone will fix
whatever they broke
Status: RESOLVED → VERIFIED
I haven't seen any crashing in dialogs using the provided test case (which I've
posted to the URL above) in the 1999111016 build on NT.
Changing component to XP Apps. (HTML Dialogs is going away.)
Component: HTML Dialogs → XPApps
Product: Core → Mozilla Application Suite
You need to log in before you can comment on or make changes to this bug.