Closed Bug 7157 Opened 25 years ago Closed 25 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: 25 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.