Search before asking
Motivation
When a test crashes in the Build and Test workflow, build_support/run-test.sh prints a backtrace if it can find a core dump, but then deletes the core file together with the test work directory. The workflow also does not enable core dump generation or upload debugging artifacts.
As a result, crashes reported as (core dumped) cannot be investigated offline after the CI job finishes. Preserving the dump and its matching executable would make intermittent native crashes diagnosable.
Solution
- Enable unlimited core dumps and set
kernel.core_pattern=core.%e.%p in the same shell that runs ci/scripts/build_paimon.sh.
- Keep printing all-thread backtraces in CI.
- Move discovered core files to the persistent test debug directory instead of deleting them.
- Preserve the exact matching test executable alongside each core dump.
- Upload the debug directory as a matrix-specific artifact when a build-and-test job fails, with a short retention period.
Anything else?
The implementation is available in #312.
Are you willing to submit a PR?
Search before asking
Motivation
When a test crashes in the Build and Test workflow,
build_support/run-test.shprints a backtrace if it can find a core dump, but then deletes the core file together with the test work directory. The workflow also does not enable core dump generation or upload debugging artifacts.As a result, crashes reported as
(core dumped)cannot be investigated offline after the CI job finishes. Preserving the dump and its matching executable would make intermittent native crashes diagnosable.Solution
kernel.core_pattern=core.%e.%pin the same shell that runsci/scripts/build_paimon.sh.Anything else?
The implementation is available in #312.
Are you willing to submit a PR?