Closed Bug 382124 Opened 17 years ago Closed 17 years ago

Crash Reporter (= Breakpad) doesn't write minidumps on Windows 2000 (old DbgHelp.dll / MiniDumpWriteDump())

Categories

(Toolkit :: Crash Reporting, defect, P4)

x86
Windows 2000
defect

Tracking

()

RESOLVED WONTFIX

People

(Reporter: stevee, Assigned: dcamp)

References

()

Details

Attachments

(2 files)

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9a5pre) Gecko/20070526 Minefield/3.0a5pre ID:2007052604 [cairo] (official nightly full mar)

Filed on request from sayrer

1. Set MOZ_AIRBAG=1
2. Run firefox.exe (Talkback extension disabled already)
3. Visit a page that crashes (I used the testcase from bug 381655; https://bugzilla.mozilla.org/attachment.cgi?id=265733)
4. Firefox crashes (expected)
5. Three dialogs come up in response to the crash (see attachment)

I used my normal trunk profile (so not a new one)
Same happened with a new firefox profile.
I end up with a dir called:
- C:\Documents and Settings\Ste\Application Data\Mozilla\Firefox\Profiles\aaaaaaaa.Trunk to 3.0 (PLACES)\minidumps\
which has a .extra file in for each crash I did. But no .dmp file.

I also have a dir called:
- C:\Documents and Settings\Ste\Application Data\Mozilla\Firefox\Crash Reports\pending\
But that is empty.
Summary: Breakpad show error dialogs after a crash → Breakpad shows error dialogs after a crash
You know, I don't think Breakpad works on Win2k without a more recent DbgHelp.dll installed.  See http://code.google.com/p/google-breakpad/issues/detail?id=76

It sounds like you're not getting a minidump file at all, which is the problem.  The UI should definitely be better, though.
Summary: Breakpad shows error dialogs after a crash → Breakpad shows error dialogs after a crash: "Couldn't move crash data" and more
The UI should be better now, the minidump writing part needs to get fixed upstream.
Summary: Breakpad shows error dialogs after a crash: "Couldn't move crash data" and more → Breakpad doesn't write minidumps on Windows 2000 (old DbgHelp.dll)
So this is supposed to work on WinXP? I can see minidumps (15 of them) but all I see after crash is an error dialog, which I upload next...

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a5pre) Gecko/20070530 Minefield/3.0a5pre ID:2007053004 [cairo]
Attached image Error dialog on WinXP
If you have minidumps then that's a different bug.  Are there .extra files next to your .dmp files?
Yes, there are as many .dmp and .extra -files.
And those "Crash Reports" and "pending" dirs are empty.
Please file a new bug.  Including the full paths to the pending directory as well as your profile directory would be helpful.  Thanks!
since 382508 is closed, this bug should be closed too, shouldn't it?
(In reply to comment #11)
> since 382508 is closed, this bug should be closed too, shouldn't it?

I don't think so - they're different issues.
Flags: blocking1.9?
Schrep, mconnor:

We don't currently have Breakpad support on Win2k.  Fixing that is non-trivial, but probably ~1 week of work.  Is this something we want for 1.9?  If not, we should just ensure that Breakpad gets disabled when running on Win2k.
I think that the solution to this bug should be to install the exception handler and display the crash-reporting UI which says "oops we crashed, would you like to restart" without the "submit stuff to the server" verbiage. Is that possible?
The Breakpad callback takes a "success" argument that indicates whether it had any luck writing a dump.  If you see that argument is false in the callback, you can inform the reporter app that there's no dump.

The reporter app could also figure out that there's no dump when it doesn't see one on disk.

Another option is to ship the dbghelp.dll redistributable, or possibly to make it available in an extra download (packaged up in an extension?)
The solution is rather simple: Include DbgHelp.DLL into the Firefox Installer package. If the installer detects Windows 2000, then let it copy that DLL into the Firefox program folder, along with Firefox.exe and all other files that belong there. 
I guess it would not hurt if DbgHelp.DLL is also there in the Firefox program folder on Windows XP but I am sure it can be controlled via the installer.
Blocking on making the crash reporting UI allow restart on win2k, even though breakpad doesn't work. We're not going to bloat the Firefox installer with dbhelp.dll
Assignee: nobody → dcamp
Flags: blocking1.9? → blocking1.9+
(In reply to comment #17)
> Blocking on making the crash reporting UI allow restart on win2k, even though
> breakpad doesn't work. We're not going to bloat the Firefox installer with
> dbhelp.dll
> 
 I can say that having placed a copy of an appropriate version of dbghelp.dll in my Minefield (Trunk) program folder appears to enable Breakpad to work and provide crash reports. (A recent report example is available here: http://crash-stats.mozilla.com/report/index/8bf3cf68-5757-11dc-9da9-001a4bd43e5c) Minefield appears to restart flawlessly from Breakpad, too.

If you are not going to "bloat" the installer with dbghelp.dll, then I would strongly recommend having someone write an add-on adding the file to Minefield program folders on Windoze 2000 systems as Mark suggested above. (See https://bugzilla.mozilla.org/show_bug.cgi?id=382124#c15)
We are not shipping dbghelp.dll.  We can add some documentation somewhere telling people how to get it for themselves.  An extension could be written, but I'm not going to do it.  The priority in this bug will be making the crashreporter app handle this situation gracefully, and still offer to restart the app.
DbgHelp.DLL is approximately 625 kB in size. Is that really "bloat"? I doubt it since it can be compressed using only Zip to 293 kB - and that's indeed not that large.
The irony is that for 293 kB you can have graceful restarts on Windoze 2000 systems, and the bug is resolved. Then, whomever is working on the crash reporter can focus on why it appears to only work intermittently instead of writing code for "graceful" restarts went the proper version of dbghelp.dll is not present. If I were signing off on money for this, it is a no-brainer. Include dbghelp.dll and focus on why crash reporter works only intermittently.
Priority: -- → P4
<http://msdn2.microsoft.com/en-us/library/ms680360.aspx>
[
MiniDumpWriteDump Function

Redistributable 	Requires DbgHelp.dll 5.1 or later.
]
which is what is said in the Google issue link.

But here is my test result:

[Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.9b2pre) Gecko/2007111903 SeaMonkey/2.0a1pre] (nightly) (W2Ksp4)

[
<dbghelp.dll>:

*5.0.2195.6613, 160 kB: (Windows 2000 sp4)
 No XYZ.dmp file, as described by previous comments.

*5.1.2600.2180, 625 kB: (The one from Windows XP !?)
*6.0.17.0, 703 kB:
*6.1.17.1, 748 kB:
 XYZ.dmp file is created but empty;
 "Failed to submit crash report" dialog.

*6.2.13.1, 795 kB:
*6.3.5.1, 316 kB:
*6.3.17.0, 918 kB:
*6.6.7.5, 1006 kB:
*6.8.4.0, 1021 kB: (Debugging Tools for Windows v6.8.4.0)
 XYZ.dmp file is created (non empty), and can be submitted.
]
Then, it seems there is 2 (different) bad cases.
Summary: Breakpad doesn't write minidumps on Windows 2000 (old DbgHelp.dll) → Crash Reporter (= Breakpad) doesn't write minidumps on Windows 2000 (old DbgHelp.dll / MiniDumpWriteDump())
Dear Serge,

thank you for that hint with Windows Debugging Tools.
They are available as a free download at
http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#ERB
Moving to wanted list.. please re-nom if you disagree..
Flags: wanted1.9+
Flags: blocking1.9-
Flags: blocking1.9+
This bug is WONTFIX per Ted and comments 17 and 19.

I've spun off the part of this bug that was blocking: crash reporter UI for restarting when an error exists. See bug 411438.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → WONTFIX
Depends on: 417595
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: