Uh oh!
There was an error while loading. Please reload this page.
Fix backtraces with -C panic=abort on qnx; emit unwind tables by default - #147454
Conversation
rustbot
commented
Oct 7, 2025
These commits modify compiler targets. |
rustbot
commented
Oct 7, 2025
There was a problem hiding this comment.
Looks reasonable enough to me but let's cc the target maintainers: @flba-eb@gh-tr@jonathanpallant@japaric
BoxyUwU
commented
Oct 14, 2025
r? compiler |
jackh726
commented
Oct 14, 2025
Going to assign to wesley, since they seem to have given approval pending any feedback from target maintainers r? @wesleywiser |
rustbot
commented
Oct 14, 2025
|
jonathanpallant
commented
Oct 14, 2025
I don't know enough about unwinding on QNX to comment here. |
flba-eb
commented
Oct 14, 2025
I cannot test this right now, but it seems to make sense. Also, risk is low as the default can easily be changed at the command line. Thanks, @Hoverbear ! |
wesleywiser
commented
Oct 17, 2025
Target maintainers seem generally in favor so @bors r+ rollup |
bors
commented
Oct 17, 2025
…tables-qnx, r=wesleywiser Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default While syncing rust-lang#143613 into Ferrocene as part of ferrocene/ferrocene#1803, we noted a failure on our QNX targets: ``` ---- [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs stdout ---- error: test did not exit with success! code=Some(134) so test would pass with `run-crash` status: exit status: 134 command: RUSTC="/home/ci/project/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUST_TEST_THREADS="1" "/home/ci/project/build/x86_64-unknown-linux-gnu/stage1-tools-bin/remote-test-client" "run" "0" "/home/ci/project/build/x86_64-unknown-linux-gnu/test/ui/panics/panic-abort-backtrace-without-debuginfo/a" --- stdout ------------------------------- uploaded "/home/ci/project/build/x86_64-unknown-linux-gnu/test/ui/panics/panic-abort-backtrace-without-debuginfo/a", waiting for result died due to signal 6 ------------------------------------------ --- stderr ------------------------------- thread 'main' (1) panicked at /home/ci/project/tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs:39:9: ERROR: no `this_function_must_be_in_the_backtrace` in stderr! actual stderr: thread 'main' (1) panicked at /home/ci/project/tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs:27:5: generate panic backtrace stack backtrace: 0: 0x4e66a53643 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h55e010263b1e3169 1: 0x4e66a68cd2 - core::fmt::write::h0d6e2e8752abc333 2: 0x4e66a16919 - std::io::Write::write_fmt::h71c4c024d832b384 3: 0x4e66a1f8e2 - std::sys::backtrace::BacktraceLock::print::hdd80dfdf90bb7100 4: 0x4e66a221e0 - std::panicking::default_hook::{{closure}}::h77758f25a686500f 5: 0x4e66a21f69 - std::panicking::default_hook::ha63f7d476af6c267 6: 0x4e66a22999 - std::panicking::panic_with_hook::h3a36a8a0f0dd8ccd 7: 0x4e66a21cac - std::panicking::begin_panic::{{closure}}::h570dedb92e232392 8: 0x4e66a1fa69 - std::sys::backtrace::__rust_end_short_backtrace::h5366eec354f92733 9: 0x4e669f9589 - std::panicking::begin_panic::h04a4bd4c33dd4056 10: 0x4e66a00aca - panic_abort_backtrace_without_debuginfo::and_this_function_too::h5b034b94cbe9c3d3 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ------------------------------------------ ---- [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs stdout end ---- failures: [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs test result: FAILED. 19958 passed; 1 failed; 328 ignored; 0 measured; 0 filtered out; finished in 1827.71s Some tests failed in compiletest suite=ui mode=ui host=x86_64-unknown-linux-gnu target=x86_64-pc-nto-qnx710 Build completed unsuccessfully in 0:43:28 Exited with code exit status 1 ``` This patch applies the same fix as the one found in rust-lang#143613 of adding the `default_uwtable: true` to the target. I've run it locally, when ferrocene/ferrocene#1803 merges we'll know it has passed within our CI, which is about a close an analog as I can offer to Rust.
…tables-qnx, r=wesleywiser Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default While syncing rust-lang#143613 into Ferrocene as part of ferrocene/ferrocene#1803, we noted a failure on our QNX targets: ``` ---- [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs stdout ---- error: test did not exit with success! code=Some(134) so test would pass with `run-crash` status: exit status: 134 command: RUSTC="/home/ci/project/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUST_TEST_THREADS="1" "/home/ci/project/build/x86_64-unknown-linux-gnu/stage1-tools-bin/remote-test-client" "run" "0" "/home/ci/project/build/x86_64-unknown-linux-gnu/test/ui/panics/panic-abort-backtrace-without-debuginfo/a" --- stdout ------------------------------- uploaded "/home/ci/project/build/x86_64-unknown-linux-gnu/test/ui/panics/panic-abort-backtrace-without-debuginfo/a", waiting for result died due to signal 6 ------------------------------------------ --- stderr ------------------------------- thread 'main' (1) panicked at /home/ci/project/tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs:39:9: ERROR: no `this_function_must_be_in_the_backtrace` in stderr! actual stderr: thread 'main' (1) panicked at /home/ci/project/tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs:27:5: generate panic backtrace stack backtrace: 0: 0x4e66a53643 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h55e010263b1e3169 1: 0x4e66a68cd2 - core::fmt::write::h0d6e2e8752abc333 2: 0x4e66a16919 - std::io::Write::write_fmt::h71c4c024d832b384 3: 0x4e66a1f8e2 - std::sys::backtrace::BacktraceLock::print::hdd80dfdf90bb7100 4: 0x4e66a221e0 - std::panicking::default_hook::{{closure}}::h77758f25a686500f 5: 0x4e66a21f69 - std::panicking::default_hook::ha63f7d476af6c267 6: 0x4e66a22999 - std::panicking::panic_with_hook::h3a36a8a0f0dd8ccd 7: 0x4e66a21cac - std::panicking::begin_panic::{{closure}}::h570dedb92e232392 8: 0x4e66a1fa69 - std::sys::backtrace::__rust_end_short_backtrace::h5366eec354f92733 9: 0x4e669f9589 - std::panicking::begin_panic::h04a4bd4c33dd4056 10: 0x4e66a00aca - panic_abort_backtrace_without_debuginfo::and_this_function_too::h5b034b94cbe9c3d3 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ------------------------------------------ ---- [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs stdout end ---- failures: [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs test result: FAILED. 19958 passed; 1 failed; 328 ignored; 0 measured; 0 filtered out; finished in 1827.71s Some tests failed in compiletest suite=ui mode=ui host=x86_64-unknown-linux-gnu target=x86_64-pc-nto-qnx710 Build completed unsuccessfully in 0:43:28 Exited with code exit status 1 ``` This patch applies the same fix as the one found in rust-lang#143613 of adding the `default_uwtable: true` to the target. I've run it locally, when ferrocene/ferrocene#1803 merges we'll know it has passed within our CI, which is about a close an analog as I can offer to Rust.
Rollup of 7 pull requests Successful merges: - #140153 (Implement `Debug` for `EncodeWide`) - #147454 (Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default) - #147468 (Implement fs api set_times and set_times_nofollow) - #147494 (std::thread spawn: Docs: Link to Builder::spawn; Make same.) - #147783 (bootstrap: migrate to object 0.37) - #147792 (Fix autodiff incorrectly applying fat-lto to proc-macro crates ) - #147809 (rustdoc: Fix passes order so intra-doc links are collected after stripping passes) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 8 pull requests Successful merges: - #140153 (Implement `Debug` for `EncodeWide`) - #145724 (the `#[track_caller]` shim should not inherit `#[no_mangle]`) - #147258 (iter repeat: panic on last) - #147454 (Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default) - #147468 (Implement fs api set_times and set_times_nofollow) - #147764 (Undo CopyForDeref assertion in const qualif) - #147805 (use module_child index as disambiguator for external items) - #147824 (docs: update Motor OS target docs) r? `@ghost` `@rustbot` modify labels: rollup
Uh oh!
There was an error while loading. Please reload this page.
Rollup merge of #147454 - ferrocene:hoverbear/panic-abort-uwtables-qnx, r=wesleywiser Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default While syncing #143613 into Ferrocene as part of ferrocene/ferrocene#1803, we noted a failure on our QNX targets: ``` ---- [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs stdout ---- error: test did not exit with success! code=Some(134) so test would pass with `run-crash` status: exit status: 134 command: RUSTC="/home/ci/project/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" RUST_TEST_THREADS="1" "/home/ci/project/build/x86_64-unknown-linux-gnu/stage1-tools-bin/remote-test-client" "run" "0" "/home/ci/project/build/x86_64-unknown-linux-gnu/test/ui/panics/panic-abort-backtrace-without-debuginfo/a" --- stdout ------------------------------- uploaded "/home/ci/project/build/x86_64-unknown-linux-gnu/test/ui/panics/panic-abort-backtrace-without-debuginfo/a", waiting for result died due to signal 6 ------------------------------------------ --- stderr ------------------------------- thread 'main' (1) panicked at /home/ci/project/tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs:39:9: ERROR: no `this_function_must_be_in_the_backtrace` in stderr! actual stderr: thread 'main' (1) panicked at /home/ci/project/tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs:27:5: generate panic backtrace stack backtrace: 0: 0x4e66a53643 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h55e010263b1e3169 1: 0x4e66a68cd2 - core::fmt::write::h0d6e2e8752abc333 2: 0x4e66a16919 - std::io::Write::write_fmt::h71c4c024d832b384 3: 0x4e66a1f8e2 - std::sys::backtrace::BacktraceLock::print::hdd80dfdf90bb7100 4: 0x4e66a221e0 - std::panicking::default_hook::{{closure}}::h77758f25a686500f 5: 0x4e66a21f69 - std::panicking::default_hook::ha63f7d476af6c267 6: 0x4e66a22999 - std::panicking::panic_with_hook::h3a36a8a0f0dd8ccd 7: 0x4e66a21cac - std::panicking::begin_panic::{{closure}}::h570dedb92e232392 8: 0x4e66a1fa69 - std::sys::backtrace::__rust_end_short_backtrace::h5366eec354f92733 9: 0x4e669f9589 - std::panicking::begin_panic::h04a4bd4c33dd4056 10: 0x4e66a00aca - panic_abort_backtrace_without_debuginfo::and_this_function_too::h5b034b94cbe9c3d3 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace ------------------------------------------ ---- [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs stdout end ---- failures: [ui] tests/ui/panics/panic-abort-backtrace-without-debuginfo.rs test result: FAILED. 19958 passed; 1 failed; 328 ignored; 0 measured; 0 filtered out; finished in 1827.71s Some tests failed in compiletest suite=ui mode=ui host=x86_64-unknown-linux-gnu target=x86_64-pc-nto-qnx710 Build completed unsuccessfully in 0:43:28 Exited with code exit status 1 ``` This patch applies the same fix as the one found in #143613 of adding the `default_uwtable: true` to the target. I've run it locally, when ferrocene/ferrocene#1803 merges we'll know it has passed within our CI, which is about a close an analog as I can offer to Rust.
Rollup of 8 pull requests Successful merges: - rust-lang/rust#140153 (Implement `Debug` for `EncodeWide`) - rust-lang/rust#145724 (the `#[track_caller]` shim should not inherit `#[no_mangle]`) - rust-lang/rust#147258 (iter repeat: panic on last) - rust-lang/rust#147454 (Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default) - rust-lang/rust#147468 (Implement fs api set_times and set_times_nofollow) - rust-lang/rust#147764 (Undo CopyForDeref assertion in const qualif) - rust-lang/rust#147805 (use module_child index as disambiguator for external items) - rust-lang/rust#147824 (docs: update Motor OS target docs) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 8 pull requests Successful merges: - rust-lang/rust#140153 (Implement `Debug` for `EncodeWide`) - rust-lang/rust#145724 (the `#[track_caller]` shim should not inherit `#[no_mangle]`) - rust-lang/rust#147258 (iter repeat: panic on last) - rust-lang/rust#147454 (Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default) - rust-lang/rust#147468 (Implement fs api set_times and set_times_nofollow) - rust-lang/rust#147764 (Undo CopyForDeref assertion in const qualif) - rust-lang/rust#147805 (use module_child index as disambiguator for external items) - rust-lang/rust#147824 (docs: update Motor OS target docs) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 8 pull requests Successful merges: - rust-lang/rust#140153 (Implement `Debug` for `EncodeWide`) - rust-lang/rust#145724 (the `#[track_caller]` shim should not inherit `#[no_mangle]`) - rust-lang/rust#147258 (iter repeat: panic on last) - rust-lang/rust#147454 (Fix backtraces with `-C panic=abort` on qnx; emit unwind tables by default) - rust-lang/rust#147468 (Implement fs api set_times and set_times_nofollow) - rust-lang/rust#147764 (Undo CopyForDeref assertion in const qualif) - rust-lang/rust#147805 (use module_child index as disambiguator for external items) - rust-lang/rust#147824 (docs: update Motor OS target docs) r? `@ghost` `@rustbot` modify labels: rollup
While syncing #143613 into Ferrocene as part of ferrocene/ferrocene#1803, we noted a failure on our QNX targets:
This patch applies the same fix as the one found in #143613 of adding the
default_uwtable: trueto the target.I've run it locally, when ferrocene/ferrocene#1803 merges we'll know it has passed within our CI, which is about a close an analog as I can offer to Rust.