Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixes to run on current Node.js versions and handle crash reports from current clients #31

Merged
merged 7 commits into from
Dec 20, 2024

Conversation

Jimbly
Copy link
Collaborator

@Jimbly Jimbly commented Dec 20, 2024

This is a collection of fixes I needed to make as I updated my servers from Node 16 to Node 22, and added an Electron-based client submitting crash reports (uses crashpad, not breakpad, on the front end, which shouldn't matter, but apparently hit some bug in busboy).

  • Add package-lock.json for more easily installing a currently known-good set of dependencies
  • Replace minidump with @jimbly/minidump
    • Includes update to minidump@0.22 to support Node 22.x+
    • Includes not-yet-merged PRs to fix:
      • (Linux binaries only) Uses latest breakpad version to support parsing dumps sent from Windows 11 22H2 clients minidump/#94
      • Fixes failing to install outside of git repositories or if yarn is not installed minidump/#95
      • Fixes callback being called multiple times upon error minidump/#97
      • Allow installation on Windows again
      • Includes pre-built (albeit old) Win32 binaries for Windows since the current version of Breakpad no longer compiles for Windows
  • Allow viewing crash dump information even if minidump_stackwalk fails to execute
  • Update to latest connect-busboy
    • Fixes two 'finish' events emitted when handling uploads from Electron/crashpad, causing "headers already sent" error (which was showing up as "[Object object]" in the console)
  • Fix caught Errors turning into [Object object] on the console
  • Add missing grunt-shell dependency
  • Upgrade to sqlite3@5 to support Node 16.x+

As of this update, I'm running the latest version here in production on a Node v22.12.0 server, with a sqlite database backend, and successfully receiving crash reports from older breakpad and Electron/crashpad clients (and, very importantly, actually getting useful callstacks from those old clients when running on Windows 11 which apparently broke some months ago due to an dbghelp.dll update in Windows, although the dumps were still valid and debuggable, of course).

Fixes two 'finish' events emitted when handling uploads from Electron/crashpad, causing "headers already sent" error (which was showing up as "[Object object]" in the console
Includes update to minidump@0.22 to support Node 22.x+
Includes not-yet-merged PRs to fix:
Fixes callback being called multiple times upon error
Fixes failing to install outside of git repositories or if yarn is not installed
Allow installation on Windows again
Includes pre-built (albeit old) Win32 binaries for Windows
(Linux binaries only) Uses latest breakpad version to support parsing dumps sent from Windows 11 22H2 clients
@Jimbly Jimbly merged commit 0ee01e5 into acrisci:master Dec 20, 2024
@Jimbly Jimbly deleted the misc-fixes branch December 20, 2024 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant