Skip to content

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

Draft
wants to merge 24 commits into
base: main
Choose a base branch
from
Draft

upload encrypted core dumps from CI #19189

wants to merge 24 commits into from

Conversation

190n
Copy link
Collaborator

@190n 190n commented Apr 22, 2025

What does this PR do?

Makes runner.node.mjs upload core dumps from any crashes that occurred 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 added a test that intentionally crashes so I can see if this works.

I will write down exact commands once this is really working, but the workflow will look something like:

  • Download the tarball of core dumps for the platform you care about as well as the bun-profile binary for the same
  • Debug it: gdb/lldb -q path/to/bun-profile path/to/bun-profile-XYZ.core

If parts of the stack trace are in a dynamic library (libc, libc++, Node-API module...) you may 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 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

@robobun
Copy link

robobun commented Apr 22, 2025

Updated 1:45 PM PT - Apr 25th, 2025

@190n, your commit ac9eb8a has 4 failures in Build #15625:


🧪   try this PR locally:

bunx bun-pr 19189

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.

3 participants