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

RESOLVED DUPLICATE of bug 311479

Status

()

Core
Event Handling
--
critical
RESOLVED DUPLICATE of bug 311479
12 years ago
12 years ago

People

(Reporter: timeless, Unassigned)

Tracking

({crash})

1.8 Branch
x86
Windows XP
crash
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(crash signature)

(Reporter)

Description

12 years ago
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])
(Reporter)

Comment 1

12 years ago
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.

Comment 2

12 years ago
Have you fixed it yet, timeless?

*** This bug has been marked as a duplicate of 311479 ***
Status: UNCONFIRMED → RESOLVED
Last Resolved: 12 years ago
Resolution: --- → DUPLICATE
Crash Signature: [@ nsHTMLInputElement::SetFocus]
You need to log in before you can comment on or make changes to this bug.