Closed Bug 26218 Opened 25 years ago Closed 25 years ago

Chatzilla crashes when launched from the browser.

Categories

(Other Applications :: ChatZilla, defect, P2)

x86
Other
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: kinmoz, Assigned: waterson)

Details

(Keywords: crash)

In my 02/02/2000 WinNt debug build, launching Chatzilla from the browser's task
menu (Tasks->IRC) crashes the entire app. Here's the stack trace:


nsTitledButtonFrame::Init(nsTitledButtonFrame * const 0x0b9c0618, nsIPresContext
* 0x0c214c30, nsIContent * 0x0c40cc20, nsIFrame * 0x00ddb688, nsIStyleContext *
0x0c40db80, nsIFrame * 0x00000000) line 279 + 13 bytes
nsCSSFrameConstructor::InitAndRestoreFrame(nsIPresContext * 0x0c214c30,
nsFrameConstructorState & {...}, nsIContent * 0x0c40cc20, nsIFrame * 0x00ddb688,
nsIStyleContext * 0x0c40db80, nsIFrame * 0x00000000, nsIFrame * 0x0b9c0618) line
5147 + 32 bytes
nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * 0x0c214230,
nsIPresContext * 0x0c214c30, nsFrameConstructorState & {...}, nsIContent *
0x0c40cc20, nsIFrame * 0x00ddb688, nsIAtom * 0x01696320, nsIStyleContext *
0x0c40db80, nsFrameItems & {...}, int & 0) line 4367
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x0c214230, nsIPresContext
* 0x0c214c30, nsFrameConstructorState & {...}, nsIContent * 0x0c40cc20, nsIFrame
* 0x00ddb688, nsFrameItems & {...}) line 5448 + 54 bytes
nsCSSFrameConstructor::ProcessChildren(nsIPresShell * 0x0c214230, nsIPresContext
* 0x0c214c30, nsFrameConstructorState & {...}, nsIContent * 0x0c40cf50, nsIFrame
* 0x00ddb688, int 0, nsFrameItems & {...}, int 0) line 8716 + 37 bytes
nsCSSFrameConstructor::ConstructXULFrame(nsIPresShell * 0x0c214230,
nsIPresContext * 0x0c214c30, nsFrameConstructorState & {...}, nsIContent *
0x0c40cf50, nsIFrame * 0x0b9cd504, nsIAtom * 0x01695600, nsIStyleContext *
0x0c40c130, nsFrameItems & {...}, int & 0) line 4374 + 36 bytes
nsCSSFrameConstructor::ConstructFrame(nsIPresShell * 0x0c214230, nsIPresContext
* 0x0c214c30, nsFrameConstructorState & {...}, nsIContent * 0x0c40cf50, nsIFrame
* 0x0b9cd504, nsFrameItems & {...}) line 5448 + 54 bytes
nsCSSFrameConstructor::ContentAppended(nsCSSFrameConstructor * const 0x0c214430,
nsIPresContext * 0x0c214c30, nsIContent * 0x0c340df0, int 0) line 6068
StyleSetImpl::ContentAppended(StyleSetImpl * const 0x0c2144d0, nsIPresContext *
0x0c214c30, nsIContent * 0x0c340df0, int 0) line 939
PresShell::ContentAppended(PresShell * const 0x0c214238, nsIDocument *
0x0c212280, nsIContent * 0x0c340df0, int 0) line 2487 + 46 bytes
nsXULDocument::ContentAppended(nsXULDocument * const 0x0c212280, nsIContent *
0x0c340df0, int 0) line 1497
nsXULElement::AppendChildTo(nsXULElement * const 0x0c340df0, nsIContent *
0x0c40cf50, int 1) line 2121
nsXULElement::InsertBefore(nsXULElement * const 0x0c340e04, nsIDOMNode *
0x0c40cf64, nsIDOMNode * 0x00000000, nsIDOMNode * * 0x0012bd74) line 933 + 27 bytes
nsXULElement::AppendChild(nsXULElement * const 0x0c340e04, nsIDOMNode *
0x0c40cf64, nsIDOMNode * * 0x0012bd74) line 1027
NodeAppendChild(JSContext * 0x0c1e6540, JSObject * 0x0b9a80b0, unsigned int 1,
long * 0x0b996e34, long * 0x0012be30) line 601 + 25 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 1, unsigned int 0) line 666 + 26
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012c6ac) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 2, unsigned int 0) line 682 + 13
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012cee4) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 1, unsigned int 0) line 682 + 13
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012d71c) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 2, unsigned int 0) line 682 + 13
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012df54) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 0, unsigned int 0) line 682 + 13
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012e78c) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 0, unsigned int 0) line 682 + 13
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012efc4) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 1, unsigned int 2) line 682 + 13
bytes
js_InternalInvoke(JSContext * 0x0c1e6540, JSObject * 0x0b9687a8, long 14598480,
unsigned int 0, unsigned int 1, long * 0x0012f14c, long * 0x0012f0f8) line 759 +
19 bytes
JS_CallFunctionValue(JSContext * 0x0c1e6540, JSObject * 0x0b9687a8, long
14598480, unsigned int 1, long * 0x0012f14c, long * 0x0012f0f8) line 2772 + 31 bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x0c1e66d0, void * 0x0b9687a8,
void * 0x00dec150, unsigned int 1, void * 0x0012f14c, int * 0x0012f148) line 562
+ 33 bytes
nsJSEventListener::HandleEvent(nsIDOMEvent * 0x0c3ccb84) line 128 + 57 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x0c26bb90,
nsIDOMEvent * 0x0c3ccb84, unsigned int 1) line 677 + 19 bytes
nsEventListenerManager::HandleEvent(nsIPresContext * 0x0c214c30, nsEvent *
0x0012fbec, nsIDOMEvent * * 0x0012f548, unsigned int 7, nsEventStatus *
0x0012fc2c) line 1228 + 31 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x0c1e6734,
nsIPresContext * 0x0c214c30, nsEvent * 0x0012fbec, nsIDOMEvent * * 0x0012f548,
unsigned int 1, nsEventStatus * 0x0012fc2c) line 3331
nsWebShell::OnEndDocumentLoad(nsWebShell * const 0x0c1e3270, nsIDocumentLoader *
0x0c1e30a0, nsIChannel * 0x0c210250, unsigned int 0) line 3156 + 34 bytes
nsDocLoaderImpl::FireOnEndDocumentLoad(nsDocLoaderImpl * 0x0c1e30a0, nsIChannel
* 0x0c210250, unsigned int 0) line 603
nsDocLoaderImpl::DocLoaderIsEmpty(unsigned int 0) line 494
nsDocLoaderImpl::DocLoaderIsEmpty(unsigned int 0) line 466
nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x0c37daa4, nsIChannel *
0x0c37eda0, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x00000000) line 438
nsLoadGroup::RemoveChannel(nsLoadGroup * const 0x0c37da40, nsIChannel *
0x0c37eda0, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x00000000) line 535 + 42 bytes
nsInputStreamChannel::OnStopRequest(nsInputStreamChannel * const 0x0c37eda4,
nsIChannel * 0x0c37ec30, nsISupports * 0x00000000, unsigned int 0, const
unsigned short * 0x00000000) line 367
nsOnStopRequestEvent::HandleEvent(nsOnStopRequestEvent * const 0x0c37e860) line 279
nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x0c37d460) line 93 + 12 bytes
PL_HandleEvent(PLEvent * 0x0c37d460) line 526 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00c905d0) line 487 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x006e0468, unsigned int 49401, unsigned int 0,
long 13174224) line 975 + 9 bytes
USER32! 77e71250()
00c905d0



Note that if I have the XUL cache turned on, an assertion is also thrown before
this crash. I don't know if i
Hmmm this seemed to be cut off when I posted the bug:

Note that if I have the XUL cache turned on, an assertion is also thrown before
this crash. I don't know if it's related or not, but when the cache is off, we
don't hit the assertion. In any case, cc'ing waterson and mscott since they were
doing stuff with the XUL cache recently. Here's the trace for the assertion:


NTDLL! 77f76148()
nsDebug::Assertion(const char * 0x01733ba4, const char * 0x1009d1f0, const char
* 0x01733b6c, int 251) line 189 + 13 bytes
nsDebug::NotReached(const char * 0x01733ba4, const char * 0x01733b6c, int 251)
line 296 + 22 bytes
nsCachedChromeChannel::GetOwner(nsCachedChromeChannel * const 0x0c3f7dc0,
nsISupports * * 0x0012d518) line 251 + 21 bytes
nsDocument::Reset(nsIChannel * 0x0c3f7dc0, nsILoadGroup * 0x0c37da40) line 836
nsHTMLDocument::Reset(nsIChannel * 0x0c3f7dc0, nsILoadGroup * 0x0c37da40) line
315 + 16 bytes
nsHTMLDocument::OpenCommon(nsIURI * 0x0c20e7b0) line 1755 + 32 bytes
nsHTMLDocument::Open(nsHTMLDocument * const 0x0c383134, JSContext * 0x0c1e6540,
long * 0x0b996d48, unsigned int 0) line 1834 + 18 bytes
NSHTMLDocumentOpen(JSContext * 0x0c1e6540, JSObject * 0x0b9a7bb8, unsigned int
0, long * 0x0b996d48, long * 0x0012d6d8) line 1052 + 35 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 0, unsigned int 0) line 666 + 26
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012df54) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 1, unsigned int 0) line 682 + 13
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012e78c) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 0, unsigned int 0) line 682 + 13
bytes
js_Interpret(JSContext * 0x0c1e6540, long * 0x0012efc4) line 2262 + 15 bytes
js_Invoke(JSContext * 0x0c1e6540, unsigned int 1, unsigned int 2) line 682 + 13
bytes
js_InternalInvoke(JSContext * 0x0c1e6540, JSObject * 0x0b9687a8, long 14598480,
unsigned int 0, unsigned int 1, long * 0x0012f14c, long * 0x0012f0f8) line 759 +
19 bytes
JS_CallFunctionValue(JSContext * 0x0c1e6540, JSObject * 0x0b9687a8, long
14598480, unsigned int 1, long * 0x0012f14c, long * 0x0012f0f8) line 2772 + 31 bytes
nsJSContext::CallEventHandler(nsJSContext * const 0x0c1e66d0, void * 0x0b9687a8,
void * 0x00dec150, unsigned int 1, void * 0x0012f14c, int * 0x0012f148) line 562
+ 33 bytes
nsJSEventListener::HandleEvent(nsIDOMEvent * 0x0c3ccb84) line 128 + 57 bytes
nsEventListenerManager::HandleEventSubType(nsListenerStruct * 0x0c26bb90,
nsIDOMEvent * 0x0c3ccb84, unsigned int 1) line 677 + 19 bytes
nsEventListenerManager::HandleEvent(nsIPresContext * 0x0c214c30, nsEvent *
0x0012fbec, nsIDOMEvent * * 0x0012f548, unsigned int 7, nsEventStatus *
0x0012fc2c) line 1228 + 31 bytes
GlobalWindowImpl::HandleDOMEvent(GlobalWindowImpl * const 0x0c1e6734,
nsIPresContext * 0x0c214c30, nsEvent * 0x0012fbec, nsIDOMEvent * * 0x0012f548,
unsigned int 1, nsEventStatus * 0x0012fc2c) line 3331
nsWebShell::OnEndDocumentLoad(nsWebShell * const 0x0c1e3270, nsIDocumentLoader *
0x0c1e30a0, nsIChannel * 0x0c210250, unsigned int 0) line 3156 + 34 bytes
nsDocLoaderImpl::FireOnEndDocumentLoad(nsDocLoaderImpl * 0x0c1e30a0, nsIChannel
* 0x0c210250, unsigned int 0) line 603
nsDocLoaderImpl::DocLoaderIsEmpty(unsigned int 0) line 494
nsDocLoaderImpl::DocLoaderIsEmpty(unsigned int 0) line 466
nsDocLoaderImpl::OnStopRequest(nsDocLoaderImpl * const 0x0c37daa4, nsIChannel *
0x0c37eda0, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x00000000) line 438
nsLoadGroup::RemoveChannel(nsLoadGroup * const 0x0c37da40, nsIChannel *
0x0c37eda0, nsISupports * 0x00000000, unsigned int 0, const unsigned short *
0x00000000) line 535 + 42 bytes
nsInputStreamChannel::OnStopRequest(nsInputStreamChannel * const 0x0c37eda4,
nsIChannel * 0x0c37ec30, nsISupports * 0x00000000, unsigned int 0, const
unsigned short * 0x00000000) line 367
nsOnStopRequestEvent::HandleEvent(nsOnStopRequestEvent * const 0x0c37e860) line 279
nsStreamListenerEvent::HandlePLEvent(PLEvent * 0x0c37d460) line 93 + 12 bytes
PL_HandleEvent(PLEvent * 0x0c37d460) line 526 + 10 bytes
PL_ProcessPendingEvents(PLEventQueue * 0x00c905d0) line 487 + 9 bytes
_md_EventReceiverProc(HWND__ * 0x006e0468, unsigned int 49401, unsigned int 0,
long 13174224) line 975 + 9 bytes
USER32! 77e71250()
00c905d0()

Argh. The assertion is caused because I need to hook up a couple methods to 
deal with JS exception and error handling. I'll do that today. It's filed 
already as bug 25333. I don't know about the crash, though.
Seconded on NT 4.0 SP 6a SMP, nsTitledButtonFream.cpp, 
nsTitledButtonFrame::Init(), nsIFrame* aPrevInFlow when coming to function. In 
code:

    nsIDocument* doc;
    if (NS_SUCCEEDED(mContent->GetDocument(doc))) {
      doc->GetBaseURL(baseURL); // <- crash, doc == NULL
      NS_RELEASE(doc);
    }

This problem wasn't present on the build after the tree re-opened on 1st 
February, I believe, so it's a recent change.
Looks like my changes for bug 18127 to try to make XUL elements work like HTML 
elements. I've backed out the problem children, and will make sure this works 
before rolling foward again.
Assignee: rginda → waterson
Priority: P3 → P2
Target Milestone: M14
Status: NEW → ASSIGNED
ok, did a -good- checkin for 20677 and 23905 this time.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Adding crash keyword
Keywords: crash
verified on winnt 2000061608
Status: RESOLVED → VERIFIED
Product: Core → Other Applications
You need to log in before you can comment on or make changes to this bug.