Closed Bug 61 Opened 27 years ago Closed 26 years ago

Navigator shutdown set-zero-context bug

Categories

(MozillaClassic Graveyard :: Windows FE, defect, P3)

1998-03-31
x86
Windows NT

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: donwulff, Assigned: danm.moz)

Details

Created by Jukka Santala (donwulff@iki.fi) on Tuesday, April 7, 1998 4:56:14 AM PDT Additional Details : The call stack backtrace tells more than a thousand words : (It''s an assert instead of prot. fault because this has the below patch compiled in; it doesn''t affect the actual bug, just lets me recover from the error gracefully) XP_AssertAtLine(char * 0x00866778, int 63) line 2649 CFormButton::SetContext(CAbstractCX * 0x00000000) line 63 + 36 bytes CFormElement::GetFormElement(CAbstractCX * 0x00000000, LO_FormElementData_struct * 0x00a5c8c0) line 135 FE_FreeFormElement(MWContext_ * 0x009ebd30, LO_FormElementData_struct * 0x00a5c8c0) line 720 + 11 bytes lo_FreeDocumentFormListData(MWContext_ * 0x009ebd30, lo_SavedFormListData_struct * 0x00a2d5e0) line 858 + 19 bytes LO_FreeDocumentFormListData(MWContext_ * 0x009ebd30, void * 0x00a2d5e0) line 6387 + 13 bytes SHIST_FreeHistoryEntry(MWContext_ * 0x009ebd30, _History_entry * 0x00a29c30) line 101 + 16 bytes SHIST_EndSession(MWContext_ * 0x009ebd30) line 438 + 13 bytes CAbstractCX::DestroyContext() line 116 + 740 bytes CDCCX::DestroyContext() line 186 CPaneCX::DestroyContext() line 304 CWinCX::DestroyContext() line 619 CGenericView::FrameClosing() line 215 CMainFrame::OnClose() line 660 CWnd::OnWndMsg(unsigned int 16, unsigned int 0, long 0, long * 0x0012fd3c) line 1815 CWnd::WindowProc(unsigned int 16, unsigned int 0, long 0) line 1575 + 30 bytes AfxCallWndProc(CWnd * 0x00399ff0 {CMainFrame hWnd=0x0009035a}, HWND__ * 0x0009035a, unsigned int 16, unsigned int 0, long 0) line 217 + 26 bytes AfxWndProc(HWND__ * 0x0009035a, unsigned int 16, unsigned int 0, long 0) line 371 AfxWndProcBase(HWND__ * 0x0009035a, unsigned int 16, unsigned int 0, long 0) line 203 + 21 bytes USER32! 77e72cc4() USER32! 77e72ce2() CNetscapeStatusBar::CParentSubclass::ParentSubclassProc(HWND __ * 0x0009035a, unsigned int 16, unsigned int 0, long 0) line 1077 + 29 bytes USER32! 77e713ed() Temporary patch (Munched by the form): diff --unified --recursive mozorg/ns/cmd/winfe/fmbutton.cpp mozilla/ns/cmd/winfe/fmbutton.cpp --- mozorg/ns/cmd/winfe/fmbutton.cpp Mon Mar 30 17:57:41 1998 +++ mozilla/ns/cmd/winfe/fmbutton.cpp Mon Apr 06 18:42:09 1998 @@ -60,8 +60,9 @@ // Call the base. CFormElement::SetContext(pCX); + XP_ASSERT(pCX); //Update the widget if present for correct callbacks. - if(m_pWidget) { + if(m_pWidget&&pCX) { m_pWidget->RegisterContext(pCX->GetContext()); } } This will solve the immediate problem, but as to how and why pCX gets to be null is another story.
Assignee: nobody → blythe
Component: Windows FE
Assignee: blythe → danm
It gets NULL I'm guessing because earlier in the stack it is being deleted. Handing over to forms expert to evaluate the patch. I think it's good.
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
The context is zero because someone higher up the call stack didn't want to have to be bothered by no stinking contexts, so it sent in a zero. donwulff's patch is fine under the circumstances, but I'm going to skip it because law@netscape.com already patched it one call higher up -- in GetFormElement, on 16 July 98. I say "already": Jukka saw this problem three months earlier. Sorry about the delay. I plead distraction; we plan to be more responsive in the future.
Status: RESOLVED → VERIFIED
QA Contact: 3849
fixed on old codebase -- marking verified
width of field QU_CONTENT_OID is too small in table SD_QUOTE_DETAIL
You need to log in before you can comment on or make changes to this bug.