Closed Bug 312517 Opened 19 years ago Closed 18 years ago

closing a window twice from a web page crashes [@ nsHTMLInputElement::SetFocus]

Categories

(Core :: DOM: UI Events & Focus Handling, defect)

1.8 Branch
x86
Windows XP
defect
Not set
critical

Tracking

()

RESOLVED DUPLICATE of bug 311479

People

(Reporter: timeless, Unassigned)

Details

(Keywords: crash)

Crash Data

this is being hit by our qa (and by me using a similar branch build), i haven't
had time to test on a ff/sm branch nightly.

the testcase (which i'll post monday) calls window.close() and top.close(). I
think we should wallpaper over this crash for the branch and probably trunk.

  if (win) {
    nsIFocusController *focusController = win->GetRootFocusController();
-null-
    PRBool isActive = PR_FALSE;
    focusController->GetActive(&isActive);
-crash-
 # 
00 gklayout!nsHTMLInputElement::SetFocus(class nsPresContext * aPresContext =
0x0b5dad00)+0x80 (FPO: [Uses EBP] [1,39,0]) (CONV: thiscall)
01 gklayout!nsEventStateManager::ChangeFocusWith(class nsIContent *
aFocusContent = 0x0b6de980, nsIEventStateManager::EFocusedWithType aFocusedWith
= eEventFocusedByMouse (1))+0x31 (FPO: [Non-Fpo]) (CONV: stdcall)
02 gklayout!nsEventStateManager::PostHandleEvent(class nsPresContext *
aPresContext = 0x0b6de980, class nsEvent * aEvent = 0x0b6cf12c, class nsIFrame *
aTargetFrame = 0x0b6de9bc, nsEventStatus * aStatus = 0x0b6de980, class nsIView *
aView = 0x0b6d1110)+0x711 (FPO: [Uses EBP] [6,131,0]) (CONV: stdcall)
03 gklayout!PresShell::HandleEventInternal(class nsEvent * aEvent = 0x00000000,
class nsIView * aView = 0x0b6d1110, unsigned int aFlags = 1, nsEventStatus *
aStatus = 0x0012f908)+0x397 (FPO: [Non-Fpo]) (CONV: thiscall)
04 gklayout!PresShell::HandleEvent(class nsIView * aView = 0x0b6d1110, class
nsGUIEvent * aEvent = 0x0012f9e4, nsEventStatus * aEventStatus = 0x0012f908, int
aForceHandle = 0xb6cf12c, int * aHandled = 0x0b6de980)+0x210 (FPO: [Non-Fpo])
(CONV: stdcall)
05 gklayout!nsViewManager::HandleEvent(class nsView * aView = 0x00000000, class
nsGUIEvent * aEvent = 0x0012f9e4, int aCaptured = 1)+0x206 (FPO: [Non-Fpo])
(CONV: thiscall)
06 gklayout!nsViewManager::DispatchEvent(class nsGUIEvent * aEvent = 0x3d888889,
nsEventStatus * aStatus = 0x0012f990)+0x63a (FPO: [Non-Fpo]) (CONV: stdcall)
07 gklayout!HandleEvent(class nsGUIEvent * aEvent = 0x0012f9e4)+0x27 (FPO:
[Non-Fpo]) (CONV: cdecl)
08 gkwidget!nsWindow::DispatchEvent(class nsGUIEvent * event = 0x00000000,
nsEventStatus * aStatus = 0x0b6d1020)+0x35 (FPO: [3,0,0]) (CONV: stdcall)
09 gkwidget!nsWindow::DispatchWindowEvent(class nsGUIEvent * event =
0x00000000)+0x16 (FPO: [Non-Fpo]) (CONV: thiscall)
0a gkwidget!nsWindow::DispatchMouseEvent(unsigned int aEventType = 0x12e,
unsigned int wParam = 1, struct nsPoint * aPoint = 0x00000000)+0x2e1 (FPO: [Uses
EBP] [3,34,0]) (CONV: thiscall)
0b gkwidget!ChildWindow::DispatchMouseEvent(unsigned int aEventType = 0x11e85cd,
unsigned int wParam = 0x201, struct nsPoint * aPoint = 0x00000001)+0x61 (FPO:
[3,0,0]) (CONV: thiscall)
0c gkwidget!nsWindow::ProcessMessage(unsigned int msg = 0x201, unsigned int
wParam = 1, long lParam = 0x3e001c, long * aRetValue = 0x0012fd14)+0xc3a (FPO:
[Non-Fpo]) (CONV: thiscall)
0d gkwidget!nsWindow::WindowProc(struct HWND__ * hWnd = 0x00081426, unsigned int
msg = 0x201, unsigned int wParam = 1, long lParam = 0xb6d1024)+0x9c (FPO:
[Non-Fpo]) (CONV: stdcall)
0e USER32!InternalCallWinProc+0x28
0f USER32!UserCallWinProcCheckWow+0x150 (FPO: [Non-Fpo])
10 USER32!DispatchMessageWorker+0x306 (FPO: [Non-Fpo])
11 USER32!DispatchMessageW+0xf (FPO: [Non-Fpo])
12 gkwidget!nsAppShell::Run(void)+0x10c (FPO: [Non-Fpo]) (CONV: stdcall)
13 appcomps!nsAppStartup::Run(void)+0xd (FPO: [1,0,0]) (CONV: stdcall)
14 HsEngine!main1(int argc = 3, char ** argv = 0x002a48a8, class nsISupports *
nativeApp = 0x0012f568)+0x355 (FPO: [Non-Fpo]) (CONV: cdecl)
15 HsEngine!main(int argc = 3, char ** argv = 0x002a48a8)+0xc5 (FPO: [Non-Fpo])
(CONV: cdecl)
16 HsEngine!WinMain(struct HINSTANCE__ * __formal = 0x7c816d4f, struct
HINSTANCE__ * __formal = 0x00360030, char * args = 0x00310034 "", int __formal =
0x7ffdc000)+0x18 (FPO: [4,0,0]) (CONV: stdcall)
17 HsEngine!WinMainCRTStartup(void)+0x185 (FPO: [Non-Fpo]) (CONV: cdecl)
18 kernel32!BaseProcessStart+0x23 (FPO: [Non-Fpo])
bz suggested he had fixed a similar bug recently (bug 311479), as the testcase
doesn't crash on ff branch, and our branch doesn't have that change, i'm going
to try to pull that change in. at which point we'll probably resolve this bug as
a duplicate.
Have you fixed it yet, timeless?

*** This bug has been marked as a duplicate of 311479 ***
Status: UNCONFIRMED → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
Crash Signature: [@ nsHTMLInputElement::SetFocus]
Component: Event Handling → User events and focus handling
You need to log in before you can comment on or make changes to this bug.