-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Panic backtrace on Arm64 Windows is truncated #140489
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
Comments
Is rust responsible for calling |
Yes. |
I'll do some experiments with this later, for now I'm documenting it as I try to stand up the Arm64 Windows runner. @rustbot claim |
…eyouxu [win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows While trying to get the aarch64-msvc build working correctly (rust-lang#140136), various DebugInfo related tests were failing. I've added comments to each test to indicate why it is disabled and linked to appropriate bugs. * `tests/debuginfo/step-into-match.rs`: Stepping at the end of a function on goes to the callsite, not the instruction after it. * `tests/debuginfo/type-names.rs`: Arm64 Windows cdb doesn't support JavaScript extensions. Followed up with the Microsoft Debugger Tools team to fix this. * `tests/ui/runtime/backtrace-debuginfo.rs`: Backtraces are truncated due to rust-lang#140489
…eyouxu [win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows While trying to get the aarch64-msvc build working correctly (rust-lang#140136), various DebugInfo related tests were failing. I've added comments to each test to indicate why it is disabled and linked to appropriate bugs. * `tests/debuginfo/step-into-match.rs`: Stepping at the end of a function on goes to the callsite, not the instruction after it. * `tests/debuginfo/type-names.rs`: Arm64 Windows cdb doesn't support JavaScript extensions. Followed up with the Microsoft Debugger Tools team to fix this. * `tests/ui/runtime/backtrace-debuginfo.rs`: Backtraces are truncated due to rust-lang#140489
…eyouxu [win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows While trying to get the aarch64-msvc build working correctly (rust-lang#140136), various DebugInfo related tests were failing. I've added comments to each test to indicate why it is disabled and linked to appropriate bugs. * `tests/debuginfo/step-into-match.rs`: Stepping at the end of a function on goes to the callsite, not the instruction after it. * `tests/debuginfo/type-names.rs`: Arm64 Windows cdb doesn't support JavaScript extensions. Followed up with the Microsoft Debugger Tools team to fix this. * `tests/ui/runtime/backtrace-debuginfo.rs`: Backtraces are truncated due to rust-lang#140489
Rollup merge of rust-lang#140755 - dpaoliello:arm64windebuginfo, r=jieyouxu [win][arm64] Disable various DebugInfo tests that don't work on Arm64 Windows While trying to get the aarch64-msvc build working correctly (rust-lang#140136), various DebugInfo related tests were failing. I've added comments to each test to indicate why it is disabled and linked to appropriate bugs. * `tests/debuginfo/step-into-match.rs`: Stepping at the end of a function on goes to the callsite, not the instruction after it. * `tests/debuginfo/type-names.rs`: Arm64 Windows cdb doesn't support JavaScript extensions. Followed up with the Microsoft Debugger Tools team to fix this. * `tests/ui/runtime/backtrace-debuginfo.rs`: Backtraces are truncated due to rust-lang#140489
When running the
tests\ui\runtime\backtrace-debuginfo.rs
test again aarch64-pc-windows-msvc, the test fails because the backtrace has been truncated:Digging into this further, the issue appears to be that the call to
RtlVirtualUnwind
stops after unwinding afterstd::panicking::begin_panic::closure$0<ref$<str$> >
because the function reported byRtlLookupFunctionEntry
is incorrect.RtlLookupFunctionEntry
seems to be getting confused asstd::panicking::begin_panic::closure$0<ref$<str$> >
is a non-returning function where its last instruction is to branch to another non-returning function. Thus, the return address reported fromrust_panic_with_hook
is actually after the end ofstd::panicking::begin_panic::closure$0<ref$<str$> >
:We might need to, somehow, get LLVM to add some padding for this case.
The text was updated successfully, but these errors were encountered: