-
Notifications
You must be signed in to change notification settings - Fork 3.1k
[publish images] upload encrypted core dumps from CI #19189
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
Open
190n
wants to merge
48
commits into
main
Choose a base branch
from
ben/coredump
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Updated 1:44 PM PT - May 29th, 2025
❌ @190n, your commit cae54f8 has some failures in 🧪 To try this PR locally: bunx bun-pr 19189 That installs a local version of the PR into your bun-19189 --bun |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Makes
runner.node.mjs
upload core dumps from any crashes that occurred on Linux in testing as a Buildkite artifact. These are uploaded as a gzipped tarball, encrypted with an age public key. They can only be decrypted with the private key which our team will have (these contain env vars and therefore API keys so they need to be secret).I've been testing this with a test that intentionally crashes.
To debug a core dump from CI:
bun-cores.tar.gz.age
on thetest-bun
step), and the URL to thebun-profile.zip
artifact for that platform.bun scripts/debug-coredump.ts -p <pid> -b <zip file URL> -c <cores URL> -i <path to age identity file>
Example:
This will open in lldb by default, which is nice because you can debug cores from another platform. Or you can specify a different debugger with
-g
. CodeLLDB theoretically has support for core dumps by adding a new launch configuration, but it didn't work for me.If interesting parts of the stack trace are in a dynamic library (libc, libc++, Node-API module...) you will need to have that library (the same exact version that was used by the CI runner) downloaded too to get the best debugging experience.
It will be nice to have these on macOS and Windows, too, but I'm not as familiar with core dumps on those platforms so I will do that later.
How did you verify your code works?
CI, plus some manual testing with
machine.mjs
before I opened this PR