Closed Bug 50942 Opened 24 years ago Closed 24 years ago

Crash when attempting to install second xpi in same session [@ js_AllocStack]

Categories

(Core Graveyard :: Installer: XPInstall Engine, defect, P1)

x86
Windows NT
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: jimmykenlee, Assigned: dbragg)

References

Details

(Keywords: crash, platform-parity, topcrash, Whiteboard: [nsbeta3+][pdtp1])

Crash Data

Build: 2000-08-31-09-M18(WIN)

1. From http://jimbob/trigger3.html, trigger any test case
2. Click Install button from confirm dialog
3. Close empty, little dialog that unexpectedly appears (usually upper left
   corner of screen)
4. Trigger another test case

RESULT:
Crash.  No confirm dialog appears.

EXPECTED RESULT:
No dialog appears after dismissing confirm dialog (Choosing Cancel still brings 
up this unexpected dialog).  No crash.  Install occurs.

TalkBack Incident ID = 16634733

Stack Trace:
js_AllocStack [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 337] 
JS_PushArgumentsVA [d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 293] 
JS_PushArguments [d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 268] 
nsXPInstallManager::ConfirmInstall 
[d:\builds\seamonkey\mozilla\xpinstall\src\nsXPInstallManager.cpp, line 278] 
nsXPInstallManager::InitManager 
[d:\builds\seamonkey\mozilla\xpinstall\src\nsXPInstallManager.cpp, line 201] 
nsInstallTrigger::StartSoftwareUpdate 
[d:\builds\seamonkey\mozilla\xpinstall\src\nsInstallTrigger.cpp, line 267] 
InstallTriggerGlobalStartSoftwareUpdate 
[d:\builds\seamonkey\mozilla\xpinstall\src\nsJSInstallTriggerGlobal.cpp, line 
341] 
js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 717] 
js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2518] 
js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 733] 
js_InternalInvoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 806] 
JS_CallFunctionValue [d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 3149] 
nsJSContext::CallEventHandler 
[d:\builds\seamonkey\mozilla\dom\src\base\nsJSEnvironment.cpp, line 864] 
nsJSEventListener::HandleEvent 
[d:\builds\seamonkey\mozilla\dom\src\events\nsJSEventListener.cpp, line 155] 
nsEventListenerManager::HandleEventSubType 
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 
789] 
nsEventListenerManager::HandleEvent 
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 
938] 
nsGenericElement::HandleDOMEvent 
[d:\builds\seamonkey\mozilla\layout\base\src\nsGenericElement.cpp, line 1366] 
nsHTMLInputElement::HandleDOMEvent 
[d:\builds\seamonkey\mozilla\layout\html\content\src\nsHTMLInputElement.cpp, 
line 893] 
PresShell::HandleEventInternal 
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 4042] 
PresShell::HandleEventWithTarget 
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 4022] 
nsEventStateManager::CheckForAndDispatchClick 
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventStateManager.cpp, line 
1817] 
nsEventStateManager::PostHandleEvent 
[d:\builds\seamonkey\mozilla\layout\events\src\nsEventStateManager.cpp, line 
899] 
PresShell::HandleEventInternal 
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 4063] 
PresShell::HandleEvent 
[d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 3977] 
nsView::HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 379] 
nsView::HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 352] 
nsView::HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 352] 
nsViewManager2::DispatchEvent 
[d:\builds\seamonkey\mozilla\view\src\nsViewManager2.cpp, line 1429] 
HandleEvent [d:\builds\seamonkey\mozilla\view\src\nsView.cpp, line 68] 
nsWindow::DispatchEvent 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 618] 
nsWindow::DispatchWindowEvent 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 635] 
nsWindow::DispatchMouseEvent 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 3813] 
ChildWindow::DispatchMouseEvent 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 4021] 
nsWindow::ProcessMessage 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 2910] 
nsWindow::WindowProc 
[d:\builds\seamonkey\mozilla\widget\src\windows\nsWindow.cpp, line 884] 
USER32.dll + 0x1820 (0x77e71820)
Nominating for nsbeta3.  This problem is new today.  This crash is highly 
visible since the unexpected dialog that appears will be naturally closed by a 
user thereby setting up the crash.  This empty window should not even appear.
Keywords: crash, nsbeta3, pp
This will kill the SmartUpdate netcenter site.
Priority: P3 → P1
Whiteboard: [nsbeta3+]
PDT agrees P1
Handing over to Don
Assignee: dveditz → dbragg
You're so good to me Dan.

Accepting.
Status: NEW → ASSIGNED
Putting [pdtp1] in whiteboard
Whiteboard: [nsbeta3+] → [nsbeta3+][pdtp1]
This is basically bug 44173, but that was not considered a blocker until these 
horrible symptoms started showing up recently.

Please leave this bug open, though, and don't close as a duplicate. The symptoms 
in this bug are easily testable by QA, the underlying bug 44173 is more 
esoteric (and covers and additional case as well).
Opened bug 51619 on the mystery window problem
Depends on: 51619
Adding topcrash keyword since this is the second-highest unfixed crash on the
talkback lists.  Did this start at the same time as bug 51714?
[@ js_AllocStack]
Summary: Crash when attempting to install second xpi in same session → Crash when attempting to install second xpi in same session [@ js_AllocStack]
Fixed by getting and using the correct parent window.  This information was not 
easy to find.  We REALLY need some sort of utility function like 
"GetTopParentWindow" or at least "GetTopLevelWindow".  I had to get the parent 
from the JSContext using GetContextPrivate(cx).

The little window problem still needs to be fixed but it no longer affects 
XPInstall.  We have the correct parent window for our modal dialog.  This also 
fixes a couple of Dan's bugs regarding correct parentage for the confirm dialog 
but I don't know the numbers.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Build: 2000-09-15-08-M18(WIN)

This works fine now except for a specific case.  I am filing this as Bug 52827 
(bug still exists if alert() is used in install script).

Marking this bug verified for the general case.
Status: RESOLVED → VERIFIED
Crash Signature: [@ js_AllocStack]
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.