Closed Bug 7157 Opened 26 years ago Closed 26 years ago

Closing prefs window crashes browser

Categories

(SeaMonkey :: Preferences, defect, P3)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: morse, Assigned: danm.moz)

Details

I'm using a fresh build (after the xpcom2 landing). I go to the preference panel and change a preference. Then hit OK. I get the following crash. NTDLL! 77f76148() nsDebug::PreCondition(char * 0x0170fe84, char * 0x0170fe74, char * 0x0170fe40, int 31) line 122 + 13 bytes nsBaseWidget::Release(nsBaseWidget * const 0x02f67c54) line 31 + 38 bytes nsWebShell::~nsWebShell() line 553 + 27 bytes nsWebShell::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsWebShell::Release(nsWebShell * const 0x02f66a50) line 633 + 95 bytes PresShell::HandleEvent(PresShell * const 0x02cef4d4, nsIView * 0x02c34970, nsGUIEvent * 0x0012e060, nsEventStatus & nsEventStatus_eConsumeDoDefault) line 2034 + 18 bytes nsView::HandleEvent(nsView * const 0x02c34970, nsGUIEvent * 0x0012e060, unsigned int 8, nsEventStatus & nsEventStatus_eConsumeDoDefault, int & 0) line 833 nsView::HandleEvent(nsView * const 0x02cfed90, nsGUIEvent * 0x0012e060, unsigned int 8, nsEventStatus & nsEventStatus_eConsumeDoDefault, int & 0) line 818 nsView::HandleEvent(nsView * const 0x02cfd5b0, nsGUIEvent * 0x0012e060, unsigned int 8, nsEventStatus & nsEventStatus_eConsumeDoDefault, int & 0) line 818 nsView::HandleEvent(nsView * const 0x02cfd4e0, nsGUIEvent * 0x0012e060, unsigned int 8, nsEventStatus & nsEventStatus_eConsumeDoDefault, int & 0) line 818 nsView::HandleEvent(nsView * const 0x02cef120, nsGUIEvent * 0x0012e060, unsigned int 28, nsEventStatus & nsEventStatus_eConsumeDoDefault, int & 0) line 818 nsViewManager::DispatchEvent(nsViewManager * const 0x02cefa00, nsGUIEvent * 0x0012e060, nsEventStatus & nsEventStatus_eConsumeDoDefault) line 1733 HandleEvent(nsGUIEvent * 0x0012e060) line 67 nsWindow::DispatchEvent(nsWindow * const 0x02c34a44, nsGUIEvent * 0x0012e060, nsEventStatus & nsEventStatus_eIgnore) line 410 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012e060) line 431 nsWindow::DispatchStandardEvent(unsigned int 104) line 446 + 15 bytes nsWindow::DispatchFocus(unsigned int 104) line 2959 + 12 bytes nsWindow::ProcessMessage(unsigned int 8, unsigned int 656596, long 0, long * 0x0012e1d8) line 2313 + 19 bytes nsWindow::WindowProc(void * 0x000d04f0, unsigned int 8, unsigned int 656596, long 0) line 474 + 27 bytes USER32! 77e71ab7() USER32! 77e71a77() NTDLL! 77f7624f() nsWindow::~nsWindow() line 150 ChildWindow::~ChildWindow() + 15 bytes ChildWindow::`scalar deleting destructor'() + 15 bytes nsBaseWidget::Release(nsBaseWidget * const 0x02f67c54) line 31 + 99 bytes nsWebShell::~nsWebShell() line 553 + 27 bytes nsWebShell::`scalar deleting destructor'(unsigned int 1) + 15 bytes nsWebShell::Release(nsWebShell * const 0x02f66a50) line 633 + 95 bytes PresShell::HandleEvent(PresShell * const 0x02cef4d4, nsIView * 0x02c34970, nsGUIEvent * 0x0012e614, nsEventStatus & nsEventStatus_eIgnore) line 2034 + 18 bytes nsView::HandleEvent(nsView * const 0x02c34970, nsGUIEvent * 0x0012e614, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 833 nsView::HandleEvent(nsView * const 0x02cfed90, nsGUIEvent * 0x0012e614, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 818 nsView::HandleEvent(nsView * const 0x02cfd5b0, nsGUIEvent * 0x0012e614, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 818 nsView::HandleEvent(nsView * const 0x02cfd4e0, nsGUIEvent * 0x0012e614, unsigned int 8, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 818 nsView::HandleEvent(nsView * const 0x02cef120, nsGUIEvent * 0x0012e614, unsigned int 28, nsEventStatus & nsEventStatus_eIgnore, int & 0) line 818 nsViewManager::DispatchEvent(nsViewManager * const 0x02cefa00, nsGUIEvent * 0x0012e614, nsEventStatus & nsEventStatus_eIgnore) line 1733 HandleEvent(nsGUIEvent * 0x0012e614) line 67 nsWindow::DispatchEvent(nsWindow * const 0x02c34a44, nsGUIEvent * 0x0012e614, nsEventStatus & nsEventStatus_eIgnore) line 410 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012e614) line 431 nsWindow::DispatchMouseEvent(unsigned int 301, nsPoint * 0x00000000) line 2881 + 15 bytes nsWindow::ProcessMessage(unsigned int 514, unsigned int 0, long 589843, long * 0x0012e790) line 2243 + 24 bytes nsWindow::WindowProc(void * 0x000d04f0, unsigned int 514, unsigned int 0, long 589843) line 474 + 27 bytes
Also crashes on Windows 98. A talkback report was sent but it apparently hasn't shown up at cyclone yet (reported using 'cpratt@netscape.com'). Additionally, some prefs which should already be set aren't.
cc:'ing mcmullen. Also happens on Mac.
Summary: Changing preferences crashes browser → Closing prefs window crashes browser
This is not about changing prefs. It is about closing the prefs window. So I changed the summary accordingly. Copying danm, since this looks like a zombie of a big bug that I thought we had fixed.
Assignee: chofmann → danm
Status: NEW → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
As John says, setting a preference is completely unnecessary to reproduce this bug. "Close while crashing" is going to be a common symptom of a variety of bugs. This time, it was because of the crazy straw we start honking on when we hit the webshell's destructor. I've moved the destructor reentrancy protection up a little earlier. Actually, fixing this bug just uncovers another very similar crash in prefscore. But you didn't hear me say that.
Status: RESOLVED → VERIFIED
Not crashing using the 1999060108 build under NT. Marking verified fixed.
Target Milestone: M7
Bulk move of all Pref UI component bugs to new Preferences component. Pref UI component will be deleted.
Component: Pref UI → Preferences
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.