Closed Bug 146530 Opened 23 years ago Closed 20 years ago

Shutdown crash [@ AddNullTerminator]

Categories

(SeaMonkey :: UI Design, defect)

x86
Windows 2000
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: jaimejr, Assigned: law)

References

Details

(Keywords: crash, topcrash, Whiteboard: [adt3 rtm])

Crash Data

Build ID: Gecko/20020523 Netscape/7.0b1 Reproducible: Frequently Steps: 1. Download the Stub Installer 2. Double click the Stub Installer, with QuickLaunch running 3. Run a Custom Install, make selections as desired, then click NEXT to all screens 4. Get error message, that Netscape must be shut down before installing. Click OK Results: Recieved an XPCOM: Event Reciever: Netscape.ex - Application Error ... The instruction at "0x61172c21" referenced memory at "0x6117e878". The memory could not be written error, upon install with QuickLaunch ON for a single profile. Resulted in a crash in addition to Error.
This is [ADT1 RTM] as it will significantly impact most user's installing on WinXP, with 128MB of memory. This might be resolved by http://bugscape.mcom.com/show_bug.cgi?id=15904
Keywords: nsbeta1
Whiteboard: [ADT1 RTM]
Keywords: crash
Did any of the install happen? It's not clear to me if you mean the currently running old version crashed or if the install continued and then crashed as it was launching the newly installed browser. Why do you think this is related to bugscape 15904? The stack traces look completely different. This one's crashing in strings doing something with the command line.
Answers to Dan's Questions: Q1) Did any of the install happen? A1) Yes, after the two error dialogue you receive: 1) From MachV when QuickLaunch is running, and you kick off an install, and the 2) The XPCOM error, looks likes its from the WindowsXP OS. You can continue the install by clicking OK to both dialogues. [Note: At this point the user has already double-clicked on the stub installer, and some files have been downloaded]. Q2) It's not clear to me if you mean the currently running old version crashed or if the install continued and then crashed as it was launching the newly installed browser. A2) To be clear, it appeared to ME, as though, "the currently running old version crashed" as the installer attempted to *shutdown*. Hence, the reference to http://bugscape.mcom.com/show_bug.cgi?id=15904 (Crashes on shutdown [@ Xprt.dll]), which manifests itself when the user tries to manually shutdown Netscape from the SysTray. Q3) Why do you think this is related to bugscape 15904? The stack traces look completely different. This one's crashing in strings doing something with the command line. A3) See A2 above for how I came to this assumption. I have been able to frequently reproduce both crashes, and they appeared to occur, when shutting down the application, either manually, or when killing the app as part of an install. Did this help?
is this a mozilla or netscape bug?
Severity: critical → normal
Doesn't look like any Netscape specific code: Call Stack: (Signature = AddNullTerminator 9f2fe034) AddNullTerminator [d:\builds\seamonkey\mozilla\string\obsolete\nsStr.h, line 340] nsStrPrivate::EnsureCapacity [d:\builds\seamonkey\mozilla\string\obsolete\nsStr.cpp, line 126] nsStrPrivate::GrowCapacity [d:\builds\seamonkey\mozilla\string\obsolete\nsStr.cpp, line 151] nsCString::SetCapacity [d:\builds\seamonkey\mozilla\string\obsolete\nsString.cpp, line 181] nsString::SetLength [d:\builds\seamonkey\mozilla\string\obsolete\nsString2.cpp, line 178] nsACString::UncheckedAppendFromReadable [d:\builds\seamonkey\mozilla\string\src\nsAString.cpp, line 885] nsACString::do_AppendFromElement [d:\builds\seamonkey\mozilla\string\src\nsAString.cpp, line 904] nsNativeAppSupportWin::GetCmdLineArgs [d:\builds\seamonkey\mozilla\xpfe\bootstrap\nsNativeAppSupportWin.cpp, line 1709] nsNativeAppSupportWin::HandleRequest [d:\builds\seamonkey\mozilla\xpfe\bootstrap\nsNativeAppSupportWin.cpp, line 1533] MessageWindow::WindowProc [d:\builds\seamonkey\mozilla\xpfe\bootstrap\nsNativeAppSupportWin.cpp, line 834] USER32.dll + 0x3a5f (0x77d43a5f) USER32.dll + 0x3b2e (0x77d43b2e) USER32.dll + 0x5874 (0x77d45874) USER32.dll + 0xbab6 (0x77d4bab6) ntdll.dll + 0x108f (0x77f5108f) USER32.dll + 0x3fb0 (0x77d43fb0) ole32.dll + 0x36d7e (0x771e6d7e) ole32.dll + 0x36ce0 (0x771e6ce0) ole32.dll + 0x17ed9 (0x771c7ed9) ole32.dll + 0x174dc (0x771c74dc) ole32.dll + 0x174a8 (0x771c74a8) ole32.dll + 0x45192 (0x771f5192) _CRT_INIT@12() _DllMainCRTStartup@12() ntdll.dll + 0x2e3aa (0x77f7e3aa) ntdll.dll + 0x1b1c6 (0x77f6b1c6) kernel32.dll + 0x15c84 (0x77e75c84) kernel32.dll + 0x15cc7 (0x77e75cc7) msvcrt.dll + 0x279c8 (0x77c379c8) kernel32.dll + 0x1eb69 (0x77e7eb69)
This bug is particular to the nightly you were running at the time. As long as people in the field don't have the buggy version we can move on. Test cases: - run <old version> - leave window open, start install of new version - click button to close old version when prompted, shouldn't crash. Where <old version> is 6.1, 6.2.x and 7.0b1 (and 6.0 if you have time, but I don't think we worry as much about that). The 6.2 can be any of that series.
Status: NEW → RESOLVED
Closed: 23 years ago
Keywords: nsbeta1nsbeta1+
QA Contact: bugzilla → ktrina
Resolution: --- → WORKSFORME
Ok ... However, I do not beleive it to be "particular to the nightly you were running at the time", because this was also seen by Scott Davison (Web Properties), during launch day testing for Netscape 7.0 PR1.
Severity: normal → critical
multiple stack traces
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Summary: Recieved an XPCOM: then a crash → Shutdown crash [@AddNullTerminator]
Crashing in strings, installer is not doing anything in particular here. Strings might not be the problem either, we're probably trying to do something with an object that's already been released.
Assignee: dveditz → jaggernaut
Status: REOPENED → NEW
Component: Installer → String
QA Contact: ktrina → scc
This isn't strings.
Assignee: jaggernaut → sgehani
Component: String → XP Apps
QA Contact: scc → paw
-> law for a look
Assignee: sgehani → law
Keywords: nsbeta1+nsbeta1
Whiteboard: [ADT1 RTM]
Probably what is happening is that the installer is launching another instance of the executable while the first one is still in the process of shutting down. There is a known problem (sorry, I don't know the bug # off-hand) where this will crash if the second instance sends a request to the shutting-down instance within a particular window of time. A simple fix might be to add code that notes that we're shutting down and checks that state before accepting incoming IPC requests. The shutdown happens when we travel certain paths through nsNativeAppSupportWin::OnLastWindowClosing, or, in the code that handles the "Exit Mozilla" QuickLaunch systray menu item. All incoming requests come through nsNativeAppSupportWin::HandleRequest. Note that this is similar to the code that we recently added to block such requests when we're restarting in QuickLaunch mode. My suggested fix would basically add a PRBool static data member to nsNativeAppSupportWin. Let's call it "mShuttingDown." Add code to OnLastWindowClosing to set that data member to PR_TRUE in the case where we know we're going to be terminating after the last window closes. Add similar code to the place where we detect the selection of "Exit Mozilla." Then add code (or embellish the current code that checks for !mInitWindow) in HandleRequest so that it ignores requests if mShuttingDown is PR_TRUE. I'll try that myself, when I get time. Or, somebody else could give it a go. I *think* we could test by running the patched version while installing an unpatched version (meaning that we can test this without having to build an installer version with the patch).
I don't think all the black boxes were doing an install. Another way to reproduce (sometimes) is to shutdown windows. Sometimes that leads to the Xprt.dll crash instead though. the installer does not launch Mozilla immediately after shutting it down. It does initialize a stripped-down XPCOM, but in a temp installation that doesn't have any of the browser startup/shutdown/attach-to-another-process code in it.
Nav triage team: nsbeta1+, adt3 rtm
Keywords: nsbeta1nsbeta1+
Whiteboard: [adt3 rtm]
Nav triage team: nsbeta1-
Keywords: nsbeta1+nsbeta1-
Target Milestone: --- → mozilla1.2alpha
Summary: Shutdown crash [@AddNullTerminator] → Shutdown crash [@ AddNullTerminator]
Target Milestone: mozilla1.2alpha → ---
Keywords: topcrash
Product: Core → Mozilla Application Suite
Status: NEW → RESOLVED
Closed: 23 years ago20 years ago
Resolution: --- → WORKSFORME
Crash Signature: [@ AddNullTerminator]
You need to log in before you can comment on or make changes to this bug.