about summary refs log tree commit diff
path: root/src/librustc_driver
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2019-09-26 16:17:00 -0400
committerAaron Hill <aa1ronham@gmail.com>2019-09-26 16:17:00 -0400
commite9aa0e7540b2bc0e644dde84aeca41d055e7511f (patch)
tree7099969a5a450fe11cbb27c9873d369ff89809ce /src/librustc_driver
parentddf43867a9cbb3766b48552632a602498fae2699 (diff)
downloadrust-e9aa0e7540b2bc0e644dde84aeca41d055e7511f.tar.gz
rust-e9aa0e7540b2bc0e644dde84aeca41d055e7511f.zip
Use existing Handler to print query stack
When the panic handler is run, the existing Handler may be in a weird
state if it was responsible for triggering the panic. By using a freshly
created Handler, we avoid trying to re-entrantly lock a HandlerInner,
which was causing a double panic on ICEs.
Diffstat (limited to 'src/librustc_driver')
-rw-r--r--src/librustc_driver/lib.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/librustc_driver/lib.rs b/src/librustc_driver/lib.rs
index 4a868136741..d0a319df2e6 100644
--- a/src/librustc_driver/lib.rs
+++ b/src/librustc_driver/lib.rs
@@ -1231,7 +1231,7 @@ pub fn report_ice(info: &panic::PanicInfo<'_>, bug_report_url: &str) {
     let backtrace = env::var_os("RUST_BACKTRACE").map(|x| &x != "0").unwrap_or(false);
 
     if backtrace {
-        TyCtxt::try_print_query_stack();
+        TyCtxt::try_print_query_stack(&handler);
     }
 
     #[cfg(windows)]