-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
MINOR: [CI][C++] Enable core dumps and stack traces in Linux/macOS jobs #43937
Conversation
d16d213
to
32ab6de
Compare
@github-actions crossbow submit -g cpp |
@github-actions crossbow submit cuda wheelcp312* |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
@kou Does this look ok? |
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
80b2205
to
44b7271
Compare
@github-actions crossbow submit -g cpp |
Revision: 44b7271 Submitted crossbow builds: ursacomputing/crossbow @ actions-3a98f95e07 |
Ok, we're now getting automatic backtraces on Linux x86, macOS x86, macOS ARM64 (but for some reason the backtrace on macOS ARM64 is incomplete). On the Linux ARM64 self-hosted runner, setting a custom core pattern is forbidden. |
@github-actions crossbow submit test-fedora-39-cpp test-ubuntu-20.04-cpp-bundled test-ubuntu-20.04-cpp-minimal-with-formats test-ubuntu-24.04-cpp-gcc-13-bundled |
Revision: 5aa9253 Submitted crossbow builds: ursacomputing/crossbow @ actions-262efe6260
|
@github-actions crossbow submit -g cpp -g python -g r |
@github-actions crossbow submit wheellinux* wheelmacos* |
@kou This PR went a bit further as it now re-enables automatic tracebacks on Linux and macOS (see example builds above). Do you want to give it another review? |
Revision: c65527a Submitted crossbow builds: ursacomputing/crossbow @ actions-272dc0e9a9 |
Revision: c65527a Submitted crossbow builds: ursacomputing/crossbow @ actions-20f4348f5c |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
Great! It'll be very helpful to debug CI failures.
It seems that Flight related core dump in "test-ubuntu-24.04-cpp-gcc-14" doesn't work well but we can work on this later:
https://github.com/ursacomputing/crossbow/actions/runs/10794268803/job/29938165812#step:7:3929
Test #77: arrow-flight-test ............................***Failed 0.28 sec
Running arrow-flight-test, redirecting output into /build/cpp/build/test-logs/arrow-flight-test.txt (attempt 1/1)
/arrow/cpp/build-support/run-test.sh: line 88: 47057 Aborted (core dumped) $TEST_EXECUTABLE "$@" > $LOGFILE.raw 2>&1
Running main() from ./googletest/src/gtest_main.cc
run: > | ||
source ci/scripts/util_enable_core_dumps.sh |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, this breaks integration test.
(archery docker run ...
isn't executed.)
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit e710b6e. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 5 possible false positives for unstable benchmarks that are known to sometimes produce them. |
…bs (apache#43937) ### Rationale for this change In apache#43936 I noticed that core dumps were not written out for crashing C++ tests. One problem is that, by default, Ubuntu hosts pipe core dumps to `apport`, but it is not available inside containers. Another is that the `ulimit` must be set in the host, not in the container. In addition, this PR restores automatic traceback generation when running C++ tests, on Linux and macOS jobs. ### Are these changes tested? Manually by introducing a spurious segfault and running Docker containers. ### Are there any user-facing changes? No. Lead-authored-by: Antoine Pitrou <antoine@python.org> Co-authored-by: Antoine Pitrou <pitrou@free.fr> Co-authored-by: Sutou Kouhei <kou@cozmixng.org> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
I'm seeing the following on the R binary builds, which looks related?
https://github.com/ursacomputing/crossbow/actions/runs/10808019175/job/29980088987 |
Oh, it should be |
Rationale for this change
In #43936 I noticed that core dumps were not written out for crashing C++ tests. One problem is that, by default, Ubuntu hosts pipe core dumps to
apport
, but it is not available inside containers. Another is that theulimit
must be set in the host, not in the container.In addition, this PR restores automatic traceback generation when running C++ tests, on Linux and macOS jobs.
Are these changes tested?
Manually by introducing a spurious segfault and running Docker containers.
Are there any user-facing changes?
No.