Skip to content

Add initial debug fmt for Backtrace - #69038

Merged
bors merged 15 commits into
rust-lang:masterfrom
yaahc:backtrace-debug
Feb 13, 2020
Merged

Add initial debug fmt for Backtrace#69038
bors merged 15 commits into
rust-lang:masterfrom
yaahc:backtrace-debug

Conversation

@yaahc

@yaahcyaahc commented Feb 10, 2020

Copy link
Copy Markdown
Member

Fixes the first point in #65280

related to #53487

@rust-highfive

Copy link
Copy Markdown
Contributor

r? @shepmaster

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfiverust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Feb 10, 2020
@yaahc

Copy link
Copy Markdown
MemberAuthor

I'm starting with this most basic version of a Debug format that just derives everything and doesn't force any symbol resolution as a starting point for the rest of the PR, I still haven't tested how this looks in practice because compile times but I'm working on getting a unit test that I can use as a playground to render the format pre and post resolution so I can paste that into this issue for review.

@yaahc

Copy link
Copy Markdown
MemberAuthor

This is the current format from this PR, lmk what further changes are necessary.

uncaptured: Backtrace { inner: Disabled }
captured: Backtrace { inner: Captured(Mutex { data: Capture { actual_start: 2, resolved: false, frames: [BacktraceFrame { frame: Frame { ip: 0x55c1fc866e5d, symbol_address: 0x55c1fc866de0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x55c1fc866dd0, symbol_address: 0x55c1fc866dc0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x55c1fc9469d0, symbol_address: 0x55c1fc946960 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf110f, symbol_address: 0x7fb01daf10d0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d84d0c4, symbol_address: 0x7fb01d84d0b0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf32fc, symbol_address: 0x7fb01daf32c0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01dafc16f, symbol_address: 0x7fb01dafc000 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf9264, symbol_address: 0x7fb01daf9040 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf3426, symbol_address: 0x7fb01daf3400 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d84d0c4, symbol_address: 0x7fb01d84d0b0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf31ba, symbol_address: 0x7fb01daf3170 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf3923, symbol_address: 0x7fb01daf38c0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d81ee4f, symbol_address: 0x7fb01d81ee10 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d81eea3, symbol_address: 0x7fb01d81ee90 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d84237a, symbol_address: 0x7fb01d842360 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d847f66, symbol_address: 0x7fb01d847f60 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01dd5c6db, symbol_address: 0x7fb01dd5c600 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d2de88f, symbol_address: 0x7fb01d2de889 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x0, symbol_address: 0x0 }, symbols: [] }] } }) }
display print: stack backtrace:
0: std::backtrace::tests::debug_backtrace_fmt
1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2: __rust_maybe_catch_panic
3: std::panicking::try
4: test::run_test_in_process
5: std::sys_common::backtrace::__rust_begin_short_backtrace
6: std::panicking::try::do_call
7: __rust_maybe_catch_panic
8: std::panicking::try
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
12: std::sys_common::thread::start_thread
13: std::sys::unix::thread::Thread::new::thread_start
14: start_thread
15: __clone
resolved: Backtrace { inner: Captured(Mutex { data: Capture { actual_start: 2, resolved: true, frames: [BacktraceFrame { frame: Frame { ip: 0x55c1fc866e5d, symbol_address: 0x55c1fc866de0 }, symbols: [BacktraceSymbol { name: Some(std::backtrace::Backtrace::create::h303e7cdb3e3586ac), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x55c1fc866dd0, symbol_address: 0x55c1fc866dc0 }, symbols: [BacktraceSymbol { name: Some(std::backtrace::Backtrace::force_capture::hdf88ce801a691ed1), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x55c1fc9469d0, symbol_address: 0x55c1fc946960 }, symbols: [BacktraceSymbol { name: Some(std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf110f, symbol_address: 0x7fb01daf10d0 }, symbols: [BacktraceSymbol { name: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d84d0c4, symbol_address: 0x7fb01d84d0b0 }, symbols: [BacktraceSymbol { name: Some("__rust_maybe_catch_panic"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf32fc, symbol_address: 0x7fb01daf32c0 }, symbols: [BacktraceSymbol { name: Some(std::panicking::try::hc8e0ebad5360bb9e), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01dafc16f, symbol_address: 0x7fb01dafc000 }, symbols: [BacktraceSymbol { name: Some(test::run_test_in_process::h23ee0e24f420835e), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf9264, symbol_address: 0x7fb01daf9040 }, symbols: [BacktraceSymbol { name: Some(std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf3426, symbol_address: 0x7fb01daf3400 }, symbols: [BacktraceSymbol { name: Some(std::panicking::try::do_call::he44bd66b51853864), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d84d0c4, symbol_address: 0x7fb01d84d0b0 }, symbols: [BacktraceSymbol { name: Some("__rust_maybe_catch_panic"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf31ba, symbol_address: 0x7fb01daf3170 }, symbols: [BacktraceSymbol { name: Some(std::panicking::try::h9e6571690ab8a505), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01daf3923, symbol_address: 0x7fb01daf38c0 }, symbols: [BacktraceSymbol { name: Some(core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d81ee4f, symbol_address: 0x7fb01d81ee10 }, symbols: [BacktraceSymbol { name: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d81eea3, symbol_address: 0x7fb01d81ee90 }, symbols: [BacktraceSymbol { name: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d84237a, symbol_address: 0x7fb01d842360 }, symbols: [BacktraceSymbol { name: Some(std::sys_common::thread::start_thread::h44e11c2292c6e0da), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d847f66, symbol_address: 0x7fb01d847f60 }, symbols: [BacktraceSymbol { name: Some(std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01dd5c6db, symbol_address: 0x7fb01dd5c600 }, symbols: [BacktraceSymbol { name: Some("start_thread"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fb01d2de88f, symbol_address: 0x7fb01d2de889 }, symbols: [BacktraceSymbol { name: Some("__clone"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x0, symbol_address: 0x0 }, symbols: [BacktraceSymbol { name: None, filename: None, lineno: None }] }] } }) }

As generated by this small snippet

#[cfg(test)]mod tests {usesuper::*;#[test]fndebug_backtrace_fmt(){let bt = Backtrace::capture();eprintln!("uncaptured: {:?}", bt);let bt = Backtrace::force_capture();eprintln!("captured: {:?}", bt);eprintln!("display print: {}", bt);eprintln!("resolved: {:?}", bt);unimplemented!();}}

cc @dtolnay@seanmonstar@mitsuhiko

@dtolnay

Copy link
Copy Markdown
Member

r? @dtolnay

@dtolnaydtolnay left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That representation looks extremely verbose to me. I expect that debug-printed backtraces are going to be a thing that humans see somewhat often (unfortunately) from unwrapped or debug printed error objects containing a backtrace. Could you see if you can strip out everything that wouldn't be informative to the reader?

Before:

Backtrace{inner:Captured(Mutex{data:Capture{actual_start:2,resolved:true,frames:[BacktraceFrame{frame:Frame{ip:0x55c1fc866e5d,symbol_address:0x55c1fc866de0,},symbols:[BacktraceSymbol{name:Some(
std::backtrace::Backtrace::create,),filename:None,lineno:None,},],},BacktraceFrame{frame:Frame{ip:0x55c1fc866dd0,symbol_address:0x55c1fc866dc0,},symbols:[BacktraceSymbol{name:Some(
std::backtrace::Backtrace::force_capture,),filename:None,lineno:None,},],},
...
...
...],},},),}

More reasonable:

Backtrace["std::backtrace::Backtrace::create","std::backtrace::Backtrace::force_capture","core::ops::function::FnOnce::call_once @ /rustc/src/libcore/ops/function.rs:231",]

or list-of-maps style as suggested in #65280:

Backtrace[{fn:"std::backtrace::Backtrace::create"},{fn:"std::backtrace::Backtrace::force_capture"},{fn:"core::ops::function::FnOnce::call_once", file:"/rustc/src/libcore/ops/function.rs", line:231},]

@yaahc

yaahc commented Feb 10, 2020

Copy link
Copy Markdown
MemberAuthor

Sure, but I'm not sure how to handle the fact that a backtrace frame can have multiple symbols. Also, I'd personally prefer the to use Some(..) / None to indicate the presence or absense of a field over having the fields be optionally printed or formatted into the single string per frame.

How do you feel about this format

Backtrace [
{ [ fn: Some("std::backtrace::Backtrace::create"), file: None, line: None ] },
{ [ fn: Some("std::backtrace::Backtrace::force_capture"), file: None, line: None ] },
{ [ fn: Some("core::ops::function::FnOnce::call_once"), file: Some("/rustc/src/libcore/ops/function.rs"), line: Some(231) },
]

@dtolnay

Copy link
Copy Markdown
Member
  • Regarding multiple symbols, you should match the behavior of the Display impl (https://github.com/rust-lang/rust/blob/1.41.0/src/libstd/backtrace.rs#L304-L318) of rendering just symbols, not frames, for frames that have any symbols. You don't need an additional level of nesting like you showed.

  • Regarding Some/None, I don't think adding file: None, line: None to every line is valuable, it would just be noise. The goal is to expose just the information from the current backtrace representation but in a format that isn't completely out of place when inserted into the middle of a Debug printed struct.

@rust-highfive

Copy link
Copy Markdown
Contributor

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-10T21:16:04.3738146Z ========================== Starting Command Output ===========================
2020-02-10T21:16:04.3739375Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/b7c60885-cd42-4005-b6de-fbb3217c4f3b.sh
2020-02-10T21:16:04.3739421Z 2020-02-10T21:16:04.3742723Z ##[section]Finishing: Disable git automatic line ending conversion
2020-02-10T21:16:04.3747857Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-10T21:16:04.3749434Z Task : Get sources
2020-02-10T21:16:04.3749465Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-10T21:16:04.3749494Z Version : 1.0.0
2020-02-10T21:16:04.3749523Z Author : Microsoft
---
2020-02-10T21:16:05.2041904Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-02-10T21:16:05.2117749Z ##[command]git config gc.auto 0
2020-02-10T21:16:05.2186960Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-02-10T21:16:05.2250780Z ##[command]git config --get-all http.proxy
2020-02-10T21:16:05.2392119Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/69038/merge:refs/remotes/pull/69038/merge
---
2020-02-10T22:12:50.9746056Z .................................................................................................... 1700/9625
2020-02-10T22:12:55.7227809Z .................................................................................................... 1800/9625
2020-02-10T22:13:07.5722556Z .............................i...................................................................... 1900/9625
2020-02-10T22:13:14.2055778Z .................................................................................................... 2000/9625
2020-02-10T22:13:27.9675106Z ...................iiiii............................................................................ 2100/9625
2020-02-10T22:13:37.5152393Z .................................................................................................... 2300/9625
2020-02-10T22:13:39.8342465Z .................................................................................................... 2400/9625
2020-02-10T22:13:44.5163986Z .................................................................................................... 2500/9625
2020-02-10T22:14:04.6911641Z .................................................................................................... 2600/9625
---
2020-02-10T22:16:35.1191277Z ......................................................................i...............i............. 4900/9625
2020-02-10T22:16:42.4680448Z .................................................................................................... 5000/9625
2020-02-10T22:16:50.1364069Z .................................................................................................... 5100/9625
2020-02-10T22:16:54.6249787Z ............i....................................................................................... 5200/9625
2020-02-10T22:17:05.2259031Z ......................................................................................ii.ii........i 5300/9625
2020-02-10T22:17:12.7905735Z ........................i........................................................................... 5500/9625
2020-02-10T22:17:20.8853804Z .................................................................................................... 5600/9625
2020-02-10T22:17:28.9210739Z ..........................................................................i......................... 5700/9625
2020-02-10T22:17:36.0222048Z .................................................................................................... 5800/9625
2020-02-10T22:17:36.0222048Z .................................................................................................... 5800/9625
2020-02-10T22:17:42.1331552Z .................................................................................................... 5900/9625
2020-02-10T22:17:51.8170801Z ..................................................................ii...i..ii...........i............ 6000/9625
2020-02-10T22:18:12.2764491Z .................................................................................................... 6200/9625
2020-02-10T22:18:19.5860612Z .................................................................................................... 6300/9625
2020-02-10T22:18:19.5860612Z .................................................................................................... 6300/9625
2020-02-10T22:18:27.2474248Z ..............................................................................................i..ii. 6400/9625
2020-02-10T22:18:55.4449095Z .................................................................................................... 6600/9625
2020-02-10T22:19:04.9639452Z .................................................................................i.................. 6700/9625
2020-02-10T22:19:07.0652415Z .................................................................................................... 6800/9625
2020-02-10T22:19:09.2905335Z .........................................................................................i.......... 6900/9625
---
2020-02-10T22:20:44.9493709Z .................................................................................................... 7600/9625
2020-02-10T22:20:48.8117411Z .................................................................................................... 7700/9625
2020-02-10T22:20:54.1515616Z .................................................................................................... 7800/9625
2020-02-10T22:21:02.1518884Z .................................................................................................... 7900/9625
2020-02-10T22:21:10.7530908Z ...................................................................iiiiiii.i........................ 8000/9625
2020-02-10T22:21:25.8828478Z .......i......i..................................................................................... 8200/9625
2020-02-10T22:21:31.2802725Z .................................................................................................... 8300/9625
2020-02-10T22:21:44.3010359Z .................................................................................................... 8400/9625
2020-02-10T22:21:53.5602129Z .................................................................................................... 8500/9625
---
2020-02-10T22:24:15.7910478Z finished in 7.276
2020-02-10T22:24:15.7910791Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-10T22:24:15.7910829Z 2020-02-10T22:24:15.7910871Z running 178 tests
2020-02-10T22:24:18.6187918Z iiii......i...........ii..iiii...i....i...........i............i..i..................i....i......... 100/178
2020-02-10T22:24:20.9070859Z ...i.i.i...iii..iiiiiiiiiiiiiiii.......................iii............ii......
2020-02-10T22:24:20.9072005Z 2020-02-10T22:24:20.9074078Z finished in 5.381
2020-02-10T22:24:20.9248390Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-10T22:24:21.0871722Z ---
2020-02-10T22:24:23.7910095Z finished in 2.071
2020-02-10T22:24:23.7910393Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-10T22:24:23.7910434Z 2020-02-10T22:24:23.7910516Z running 9 tests
2020-02-10T22:24:23.7910821Z iiiiiiiii
2020-02-10T22:24:23.7911167Z 2020-02-10T22:24:23.7911224Z finished in 0.151
2020-02-10T22:24:23.7911525Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-10T22:24:23.7911565Z ---
2020-02-10T22:24:42.6950763Z finished in 19.511
2020-02-10T22:24:42.7146198Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-10T22:24:43.3022233Z 2020-02-10T22:24:43.3060338Z running 116 tests
2020-02-10T22:24:56.0315892Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii..........i.....i..i.......ii.i.ii. 100/116
2020-02-10T22:24:57.7877785Z ....iiii.....ii.
2020-02-10T22:24:57.7881816Z 2020-02-10T22:24:57.7887144Z finished in 15.074
2020-02-10T22:24:57.7892155Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-10T22:24:57.7892776Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-02-10T22:38:04.5315773Z 2020-02-10T22:38:04.5327440Z Doc-tests core
2020-02-10T22:38:09.1630912Z 2020-02-10T22:38:09.1631834Z running 2471 tests
2020-02-10T22:38:17.9778801Z ......iiiii......................................................................................... 100/2471
2020-02-10T22:38:27.0103272Z ..................................................................................ii................ 200/2471
2020-02-10T22:38:46.5435238Z .................i.................................................................................. 400/2471
2020-02-10T22:38:46.5435238Z .................i.................................................................................. 400/2471
2020-02-10T22:38:55.8034017Z ......................................................................i..i..................iiii.... 500/2471
2020-02-10T22:39:11.3983262Z .................................................................................................... 700/2471
2020-02-10T22:39:19.5972233Z .................................................................................................... 800/2471
2020-02-10T22:39:27.6918051Z .................................................................................................... 900/2471
2020-02-10T22:39:35.8973210Z .................................................................................................... 1000/2471
---
2020-02-10T22:42:54.0602964Z .....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:13
2020-02-10T22:42:54.0719500Z .................. 600/761
2020-02-10T22:42:56.0997571Z .....................thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:633:13
2020-02-10T22:42:56.0997909Z thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13
2020-02-10T22:42:56.1006534Z ....thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:563:13
2020-02-10T22:42:56.1014394Z thread '.<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:694:13
2020-02-10T22:42:56.1023122Z ...thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
2020-02-10T22:42:56.1029596Z right: `2`', src/libstd/sync/mutex.rs:657:13
2020-02-10T22:42:56.1076915Z ..........thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', src/libstd/sync/rwlock.rs:792:13
2020-02-10T22:42:56.1089883Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', src/libstd/sync/rwlock.rs:768:13
2020-02-10T22:42:56.1102512Z ..thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:704:13
---
2020-02-10T22:42:58.7918766Z .thread '<unnamed>' panicked at 'Box<Any>', src/libstd/thread/mod.rs:1727:37
2020-02-10T22:43:04.2842444Z .............
2020-02-10T22:43:04.2843490Z failures:
2020-02-10T22:43:04.2843685Z 2020-02-10T22:43:04.2844532Z ---- backtrace::tests::debug_backtrace_fmt stdout ----
2020-02-10T22:43:04.2844934Z uncaptured: Backtrace { inner: Disabled }
2020-02-10T22:43:04.2845428Z captured: Backtrace { inner: Captured(Mutex { data: Capture { actual_start: 2, resolved: false, frames: [BacktraceFrame { frame: Frame { ip: 0x55cb610e94ed, symbol_address: 0x55cb610e9470 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x55cb610e9460, symbol_address: 0x55cb610e9450 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x55cb60fa0440, symbol_address: 0x55cb60fa03d0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe38955990f, symbol_address: 0x7fe3895598d0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe3892baeb7, symbol_address: 0x7fe3892baea0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe389578acf, symbol_address: 0x7fe3895786c0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe38954b689, symbol_address: 0x7fe38954b660 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe389550419, symbol_address: 0x7fe3895503f0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe3892baeb7, symbol_address: 0x7fe3892baea0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe389551cf6, symbol_address: 0x7fe389551c70 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe38928358f, symbol_address: 0x7fe389283550 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe3892b8d80, symbol_address: 0x7fe3892b8cf0 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe3897be6db, symbol_address: 0x7fe3897be600 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x7fe388d4c88f, symbol_address: 0x7fe388d4c889 }, symbols: [] }, BacktraceFrame { frame: Frame { ip: 0x0, symbol_address: 0x0 }, symbols: [] }] } }) }
2020-02-10T22:43:04.2845803Z display print: stack backtrace:
2020-02-10T22:43:04.2846007Z 0: std::backtrace::tests::debug_backtrace_fmt
2020-02-10T22:43:04.2846252Z 1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-10T22:43:04.2846897Z 3: test::run_test::run_test_inner::{{closure}}
2020-02-10T22:43:04.2847105Z 4: std::sys_common::backtrace::__rust_begin_short_backtrace
2020-02-10T22:43:04.2847305Z 5: std::panicking::try::do_call
2020-02-10T22:43:04.2847517Z 6: __rust_maybe_catch_panic
2020-02-10T22:43:04.2847517Z 6: __rust_maybe_catch_panic
2020-02-10T22:43:04.2847713Z 7: core::ops::function::FnOnce::call_once{{vtable.shim}}
2020-02-10T22:43:04.2847913Z 8: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-10T22:43:04.2848130Z 9: std::sys::unix::thread::Thread::new::thread_start
2020-02-10T22:43:04.2848320Z 10: start_thread
2020-02-10T22:43:04.2848528Z 11: __clone
2020-02-10T22:43:04.2848856Z 2020-02-10T22:43:04.2849934Z resolved: Backtrace { inner: Captured(Mutex { data: Capture { actual_start: 2, resolved: true, frames: [BacktraceFrame { frame: Frame { ip: 0x55cb610e94ed, symbol_address: 0x55cb610e9470 }, symbols: [BacktraceSymbol { name: Some(std::backtrace::Backtrace::create::h26aebea81d476f1b), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x55cb610e9460, symbol_address: 0x55cb610e9450 }, symbols: [BacktraceSymbol { name: Some(std::backtrace::Backtrace::force_capture::hf39c0dfe00bac326), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x55cb60fa0440, symbol_address: 0x55cb60fa03d0 }, symbols: [BacktraceSymbol { name: Some(std::backtrace::tests::debug_backtrace_fmt::h71b86f37709cb25c), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe38955990f, symbol_address: 0x7fe3895598d0 }, symbols: [BacktraceSymbol { name: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h32a44b4cd9f1561a), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe3892baeb7, symbol_address: 0x7fe3892baea0 }, symbols: [BacktraceSymbol { name: Some("__rust_maybe_catch_panic"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe389578acf, symbol_address: 0x7fe3895786c0 }, symbols: [BacktraceSymbol { name: Some(test::run_test::run_test_inner::{{closure}}::hdb23088fbce26e99), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe38954b689, symbol_address: 0x7fe38954b660 }, symbols: [BacktraceSymbol { name: Some(std::sys_common::backtrace::__rust_begin_short_backtrace::h4642da7dd96fa758), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe389550419, symbol_address: 0x7fe3895503f0 }, symbols: [BacktraceSymbol { name: Some(std::panicking::try::do_call::h81299d9bc08a2e2c), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe3892baeb7, symbol_address: 0x7fe3892baea0 }, symbols: [BacktraceSymbol { name: Some("__rust_maybe_catch_panic"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe389551cf6, symbol_address: 0x7fe389551c70 }, symbols: [BacktraceSymbol { name: Some(core::ops::function::FnOnce::call_once{{vtable.shim}}::he89292d7784fbe20), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe38928358f, symbol_address: 0x7fe389283550 }, symbols: [BacktraceSymbol { name: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hfe0665775bd2b721), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe3892b8d80, symbol_address: 0x7fe3892b8cf0 }, symbols: [BacktraceSymbol { name: Some(std::sys::unix::thread::Thread::new::thread_start::h36d1e478cadb3b18), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe3897be6db, symbol_address: 0x7fe3897be600 }, symbols: [BacktraceSymbol { name: Some("start_thread"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x7fe388d4c88f, symbol_address: 0x7fe388d4c889 }, symbols: [BacktraceSymbol { name: Some("__clone"), filename: None, lineno: None }] }, BacktraceFrame { frame: Frame { ip: 0x0, symbol_address: 0x0 }, symbols: [BacktraceSymbol { name: None, filename: None, lineno: None }] }] } }) }
2020-02-10T22:43:04.2851175Z thread '<unnamed>' panicked at 'not implemented', src/libstd/backtrace.rs:389:9
2020-02-10T22:43:04.2851669Z 2020-02-10T22:43:04.2851836Z 2020-02-10T22:43:04.2852015Z failures:
2020-02-10T22:43:04.2854945Z backtrace::tests::debug_backtrace_fmt
2020-02-10T22:43:04.2854945Z backtrace::tests::debug_backtrace_fmt
2020-02-10T22:43:04.2855208Z 2020-02-10T22:43:04.2855422Z test result: FAILED. 760 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
2020-02-10T22:43:04.2855622Z 2020-02-10T22:43:04.2868610Z error: test failed, to rerun pass '-p std --lib'
2020-02-10T22:43:04.2897647Z 2020-02-10T22:43:04.2902435Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "std" "--" "--quiet"
2020-02-10T22:43:04.2902533Z expected success, got: exit code: 101
2020-02-10T22:43:04.2902656Z ---
2020-02-10T22:43:04.2994938Z local time: Mon Feb 10 22:43:04 UTC 2020
2020-02-10T22:43:04.8525558Z network time: Mon, 10 Feb 2020 22:43:04 GMT
2020-02-10T22:43:04.8526973Z == end clock drift check ==
2020-02-10T22:43:05.2451095Z 2020-02-10T22:43:05.2565917Z ##[error]Bash exited with code '1'.
2020-02-10T22:43:05.2580653Z ##[section]Finishing: Run build
2020-02-10T22:43:05.2599451Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-10T22:43:05.2601027Z Task : Get sources
2020-02-10T22:43:05.2601079Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-10T22:43:05.2601130Z Version : 1.0.0
2020-02-10T22:43:05.2601162Z Author : Microsoft
2020-02-10T22:43:05.2601162Z Author : Microsoft
2020-02-10T22:43:05.2601213Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-02-10T22:43:05.2601251Z ==============================================================================
2020-02-10T22:43:05.6753233Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-02-10T22:43:05.6790155Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-10T22:43:05.6903259Z Cleaning up task key
2020-02-10T22:43:05.6904113Z Start cleaning up orphan processes.
2020-02-10T22:43:05.7010552Z Terminate orphan process: pid (4584) (python)
2020-02-10T22:43:05.7259042Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@yaahc

Copy link
Copy Markdown
MemberAuthor

you should match the behavior of the Display impl

The logic within backtrace-rs doesn't create a new header when printing mulitple symbols within the same frame, so it has a notion internally of which symbol within a frame its rendering and it does not format symbols uniformly regardless of what frame they're from.

@yaahc

yaahc commented Feb 10, 2020

Copy link
Copy Markdown
MemberAuthor

Okay, independent of my previous comment, here is the current format @dtolnay with the changes you've requested.

uncaptured: disabled backtrace
captured: Backtrace [ { fn: Some(std::backtrace::Backtrace::create::ha19bbd9f10287f80) }, { fn: Some(std::backtrace::Backtrace::force_capture::h5e8065a48ff91123) }, { fn: Some(std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b) }, { fn: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892) }, { fn: Some("__rust_maybe_catch_panic") }, { fn: Some(std::panicking::try::hc8e0ebad5360bb9e) }, { fn: Some(test::run_test_in_process::h23ee0e24f420835e) }, { fn: Some(std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf) }, { fn: Some(std::panicking::try::do_call::he44bd66b51853864) }, { fn: Some("__rust_maybe_catch_panic") }, { fn: Some(std::panicking::try::h9e6571690ab8a505) }, { fn: Some(core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9) }, { fn: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2) }, { fn: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf) }, { fn: Some(std::sys_common::thread::start_thread::h44e11c2292c6e0da) }, { fn: Some(std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02) }, { fn: Some("start_thread") }, { fn: Some("__clone") }, { fn: None }]
display print: stack backtrace:
0: std::backtrace::tests::debug_backtrace_fmt
1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2: __rust_maybe_catch_panic
3: std::panicking::try
4: test::run_test_in_process
5: std::sys_common::backtrace::__rust_begin_short_backtrace
6: std::panicking::try::do_call
7: __rust_maybe_catch_panic
8: std::panicking::try
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
12: std::sys_common::thread::start_thread
13: std::sys::unix::thread::Thread::new::thread_start
14: start_thread
15: __clone
resolved: Backtrace [ { fn: Some(std::backtrace::Backtrace::create::ha19bbd9f10287f80) }, { fn: Some(std::backtrace::Backtrace::force_capture::h5e8065a48ff91123) }, { fn: Some(std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b) }, { fn: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892) }, { fn: Some("__rust_maybe_catch_panic") }, { fn: Some(std::panicking::try::hc8e0ebad5360bb9e) }, { fn: Some(test::run_test_in_process::h23ee0e24f420835e) }, { fn: Some(std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf) }, { fn: Some(std::panicking::try::do_call::he44bd66b51853864) }, { fn: Some("__rust_maybe_catch_panic") }, { fn: Some(std::panicking::try::h9e6571690ab8a505) }, { fn: Some(core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9) }, { fn: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2) }, { fn: Some(<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf) }, { fn: Some(std::sys_common::thread::start_thread::h44e11c2292c6e0da) }, { fn: Some(std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02) }, { fn: Some("start_thread") }, { fn: Some("__clone") }, { fn: None }]

Fixing the Some around fn right now.

@yaahc

yaahc commented Feb 10, 2020

Copy link
Copy Markdown
MemberAuthor

Current version, this adds some unknown frames that get skipped by the default logic, do we want to include said filtering logic as well?

uncaptured: disabled backtrace
captured: Backtrace [ { fn: "std::backtrace::Backtrace::create::ha19bbd9f10287f80" }, { fn: "std::backtrace::Backtrace::force_capture::h5e8065a48ff91123" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try::hc8e0ebad5360bb9e" }, { fn: "test::run_test_in_process::h23ee0e24f420835e" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf" }, { fn: "std::panicking::try::do_call::he44bd66b51853864" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try::h9e6571690ab8a505" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf" }, { fn: "std::sys_common::thread::start_thread::h44e11c2292c6e0da" }, { fn: "std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02" }, { fn: "start_thread" }, { fn: "__clone" }, { fn: "<unknown>" }]
display print: stack backtrace:
0: std::backtrace::tests::debug_backtrace_fmt
1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2: __rust_maybe_catch_panic
3: std::panicking::try
4: test::run_test_in_process
5: std::sys_common::backtrace::__rust_begin_short_backtrace
6: std::panicking::try::do_call
7: __rust_maybe_catch_panic
8: std::panicking::try
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
12: std::sys_common::thread::start_thread
13: std::sys::unix::thread::Thread::new::thread_start
14: start_thread
15: __clone
resolved: Backtrace [ { fn: "std::backtrace::Backtrace::create::ha19bbd9f10287f80" }, { fn: "std::backtrace::Backtrace::force_capture::h5e8065a48ff91123" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try::hc8e0ebad5360bb9e" }, { fn: "test::run_test_in_process::h23ee0e24f420835e" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf" }, { fn: "std::panicking::try::do_call::he44bd66b51853864" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try::h9e6571690ab8a505" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf" }, { fn: "std::sys_common::thread::start_thread::h44e11c2292c6e0da" }, { fn: "std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02" }, { fn: "start_thread" }, { fn: "__clone" }, { fn: "<unknown>" }]

Comment threadsrc/libstd/backtrace.rs Outdated
Comment threadsrc/libstd/backtrace.rs Outdated
Comment threadsrc/libstd/backtrace.rs Outdated
@rust-highfive

Copy link
Copy Markdown
Contributor

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-10T23:48:51.8492051Z ========================== Starting Command Output ===========================
2020-02-10T23:48:51.8494984Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/417dfd62-653a-4527-a4ee-443c8b0afbb2.sh
2020-02-10T23:48:51.8495026Z 2020-02-10T23:48:51.8500240Z ##[section]Finishing: Disable git automatic line ending conversion
2020-02-10T23:48:51.8509413Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-10T23:48:51.8511345Z Task : Get sources
2020-02-10T23:48:51.8511397Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-10T23:48:51.8511430Z Version : 1.0.0
2020-02-10T23:48:51.8511464Z Author : Microsoft
---
2020-02-10T23:48:52.9108329Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-02-10T23:48:52.9127073Z ##[command]git config gc.auto 0
2020-02-10T23:48:52.9129383Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-02-10T23:48:52.9135038Z ##[command]git config --get-all http.proxy
2020-02-10T23:48:52.9141518Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/69038/merge:refs/remotes/pull/69038/merge
---
2020-02-11T00:50:02.8990924Z .................................................................................................... 1700/9625
2020-02-11T00:50:08.2310806Z .................................................................................................... 1800/9625
2020-02-11T00:50:21.6133458Z .............................i...................................................................... 1900/9625
2020-02-11T00:50:29.3927065Z .................................................................................................... 2000/9625
2020-02-11T00:50:44.5634448Z ...................iiiii............................................................................ 2100/9625
2020-02-11T00:50:54.9954849Z .................................................................................................... 2300/9625
2020-02-11T00:50:57.6704352Z .................................................................................................... 2400/9625
2020-02-11T00:51:02.7746790Z .................................................................................................... 2500/9625
2020-02-11T00:51:24.8966987Z .................................................................................................... 2600/9625
---
2020-02-11T00:54:09.3531654Z ......................................................................i...............i............. 4900/9625
2020-02-11T00:54:17.5519514Z .................................................................................................... 5000/9625
2020-02-11T00:54:26.1257590Z .................................................................................................... 5100/9625
2020-02-11T00:54:31.1064342Z ............i....................................................................................... 5200/9625
2020-02-11T00:54:42.7562099Z ......................................................................................ii.ii........i 5300/9625
2020-02-11T00:54:51.1065455Z ........................i........................................................................... 5500/9625
2020-02-11T00:54:59.6613256Z .................................................................................................... 5600/9625
2020-02-11T00:55:08.4184073Z ..........................................................................i......................... 5700/9625
2020-02-11T00:55:16.3522925Z .................................................................................................... 5800/9625
2020-02-11T00:55:16.3522925Z .................................................................................................... 5800/9625
2020-02-11T00:55:24.0572843Z .................................................................................................... 5900/9625
2020-02-11T00:55:33.6166860Z ..................................................................ii...i..ii...........i............ 6000/9625
2020-02-11T00:55:56.1044635Z .................................................................................................... 6200/9625
2020-02-11T00:56:04.1885828Z .................................................................................................... 6300/9625
2020-02-11T00:56:04.1885828Z .................................................................................................... 6300/9625
2020-02-11T00:56:12.6853888Z ..............................................................................................i..ii. 6400/9625
2020-02-11T00:56:39.3559346Z .................................................................................................... 6600/9625
2020-02-11T00:56:50.0721973Z .................................................................................i.................. 6700/9625
2020-02-11T00:56:52.4072838Z .................................................................................................... 6800/9625
2020-02-11T00:56:54.8276718Z ........................................................................................i........... 6900/9625
---
2020-02-11T00:58:40.3730992Z .................................................................................................... 7600/9625
2020-02-11T00:58:44.8278281Z .................................................................................................... 7700/9625
2020-02-11T00:58:50.7144208Z .................................................................................................... 7800/9625
2020-02-11T00:58:59.4862106Z .................................................................................................... 7900/9625
2020-02-11T00:59:08.8693534Z ...................................................................iiiiiii.i........................ 8000/9625
2020-02-11T00:59:25.2352247Z .......i......i..................................................................................... 8200/9625
2020-02-11T00:59:30.9963361Z .................................................................................................... 8300/9625
2020-02-11T00:59:45.4167546Z .................................................................................................... 8400/9625
2020-02-11T00:59:55.4477199Z .................................................................................................... 8500/9625
---
2020-02-11T01:02:27.5543684Z finished in 7.653
2020-02-11T01:02:27.5752988Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T01:02:27.7854296Z 2020-02-11T01:02:27.7854647Z running 178 tests
2020-02-11T01:02:30.9494460Z iiii......i...........ii..iiii...i....i...........i............i..i..................i....i......... 100/178
2020-02-11T01:02:33.5114515Z ...i.i.i...iii..iiiiiiiiiiiiiiii.......................iii............ii......
2020-02-11T01:02:33.5116459Z 2020-02-11T01:02:33.5119250Z finished in 5.936
2020-02-11T01:02:33.5326449Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T01:02:33.7176048Z ---
2020-02-11T01:02:35.8171611Z finished in 2.284
2020-02-11T01:02:35.8406755Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T01:02:36.0145388Z 2020-02-11T01:02:36.0146137Z running 9 tests
2020-02-11T01:02:36.0147023Z iiiiiiiii
2020-02-11T01:02:36.0148797Z 2020-02-11T01:02:36.0149120Z finished in 0.174
2020-02-11T01:02:36.0366402Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T01:02:36.2400017Z ---
2020-02-11T01:02:57.4923112Z finished in 21.455
2020-02-11T01:02:57.5178548Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T01:02:57.7336653Z 2020-02-11T01:02:57.7337339Z running 116 tests
2020-02-11T01:03:11.7256230Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii..........i.....i..i.......ii.i.ii. 100/116
2020-02-11T01:03:13.6860888Z ....iiii.....ii.
2020-02-11T01:03:13.6861994Z 2020-02-11T01:03:13.6866271Z finished in 16.169
2020-02-11T01:03:13.6872003Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T01:03:13.6873254Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-02-11T01:17:32.9760218Z 2020-02-11T01:17:32.9761619Z Doc-tests core
2020-02-11T01:17:38.1837298Z 2020-02-11T01:17:38.1837687Z running 2471 tests
2020-02-11T01:17:48.0256569Z ......iiiii......................................................................................... 100/2471
2020-02-11T01:17:57.6469667Z ..................................................................................ii................ 200/2471
2020-02-11T01:18:20.0964372Z .................i.................................................................................. 400/2471
2020-02-11T01:18:20.0964372Z .................i.................................................................................. 400/2471
2020-02-11T01:18:30.6779725Z ......................................................................i..i..................iiii.... 500/2471
2020-02-11T01:18:48.4805966Z .................................................................................................... 700/2471
2020-02-11T01:18:57.8216882Z .................................................................................................... 800/2471
2020-02-11T01:19:07.1382928Z .................................................................................................... 900/2471
2020-02-11T01:19:16.3098374Z .................................................................................................... 1000/2471
---
2020-02-11T01:22:55.5286584Z .................................................thread '<unnamed>' panicked at 'explicit panic', src/libstd/io/stdio.rs:871:13
2020-02-11T01:22:55.5286827Z .. 300/761
2020-02-11T01:22:55.6397193Z .................................................................................................... 400/761
2020-02-11T01:22:57.7257523Z .................................................................................................... 500/761
2020-02-11T01:22:57.7501238Z ..................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2741:22
2020-02-11T01:22:57.7521768Z ....thread 'thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2766:17
2020-02-11T01:22:57.7553486Z .<unnamed>' panicked at '.called `Result::unwrap()` on an `Err` value: RecvError..', thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2645:13
2020-02-11T01:22:57.7563337Z ............src/libstd/sync/mpsc/mod.rs:2778.:.21
2020-02-11T01:22:57.9996391Z ...............................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1997:22
2020-02-11T01:22:58.0049423Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2034:21
2020-02-11T01:22:58.0076151Z .......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:13
2020-02-11T01:22:58.0350817Z .................. 600/761
2020-02-11T01:23:00.0657751Z ....................thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:633:13
2020-02-11T01:23:00.0669705Z ..thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13
---
2020-02-11T01:23:02.7421175Z thread '<unnamed>' panicked at 'Box<Any>', src/libstd/thread/mod.rs:1727:37
2020-02-11T01:23:08.2530966Z ..............
2020-02-11T01:23:08.2531089Z failures:
2020-02-11T01:23:08.2531121Z 2020-02-11T01:23:08.2531867Z ---- backtrace::tests::debug_backtrace_fmt stdout ----
2020-02-11T01:23:08.2531924Z uncaptured: disabled backtrace
2020-02-11T01:23:08.2532129Z captured: Backtrace [ { fn: "std::backtrace::Backtrace::create::hc0c9abf45a573850" }, { fn: "std::backtrace::Backtrace::force_capture::hc439a737dfaa04f1" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::h4c24c9a7f263a28f" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::{{closure}}::hc35c4f50b6b35d53" }, { fn: "core::ops::function::FnOnce::call_once::hf1be62ec30e8403f" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h46e5a10d3747a497" }, { fn: "__rust_maybe_catch_panic" }, { fn: "test::run_test::run_test_inner::{{closure}}::h06ed7df7a8568a36" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace::hca1d6956c2c841b0" }, { fn: "std::panicking::try::do_call::h3d11d5c5aa46f34c" }, { fn: "__rust_maybe_catch_panic" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}::h0c0304b1966be275" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hd81dad5a20042ecf" }, { fn: "std::sys::unix::thread::Thread::new::thread_start::h4b273b4a85f28390" }, { fn: "start_thread" }, { fn: "__clone" }, { fn: "<unknown>" }]
2020-02-11T01:23:08.2532304Z display print: stack backtrace:
2020-02-11T01:23:08.2532356Z 0: std::backtrace::tests::debug_backtrace_fmt
2020-02-11T01:23:08.2532429Z 1: std::backtrace::tests::debug_backtrace_fmt::{{closure}}
2020-02-11T01:23:08.2532481Z 2: core::ops::function::FnOnce::call_once
2020-02-11T01:23:08.2532534Z 3: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-11T01:23:08.2532869Z 5: test::run_test::run_test_inner::{{closure}}
2020-02-11T01:23:08.2532920Z 6: std::sys_common::backtrace::__rust_begin_short_backtrace
2020-02-11T01:23:08.2533082Z 7: std::panicking::try::do_call
2020-02-11T01:23:08.2533134Z 8: __rust_maybe_catch_panic
2020-02-11T01:23:08.2533134Z 8: __rust_maybe_catch_panic
2020-02-11T01:23:08.2533183Z 9: core::ops::function::FnOnce::call_once{{vtable.shim}}
2020-02-11T01:23:08.2533252Z 10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-11T01:23:08.2533306Z 11: std::sys::unix::thread::Thread::new::thread_start
2020-02-11T01:23:08.2533353Z 12: start_thread
2020-02-11T01:23:08.2533415Z 13: __clone
2020-02-11T01:23:08.2533445Z 2020-02-11T01:23:08.2533627Z resolved: Backtrace [ { fn: "std::backtrace::Backtrace::create::hc0c9abf45a573850" }, { fn: "std::backtrace::Backtrace::force_capture::hc439a737dfaa04f1" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::h4c24c9a7f263a28f" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::{{closure}}::hc35c4f50b6b35d53" }, { fn: "core::ops::function::FnOnce::call_once::hf1be62ec30e8403f" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h46e5a10d3747a497" }, { fn: "__rust_maybe_catch_panic" }, { fn: "test::run_test::run_test_inner::{{closure}}::h06ed7df7a8568a36" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace::hca1d6956c2c841b0" }, { fn: "std::panicking::try::do_call::h3d11d5c5aa46f34c" }, { fn: "__rust_maybe_catch_panic" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}::h0c0304b1966be275" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hd81dad5a20042ecf" }, { fn: "std::sys::unix::thread::Thread::new::thread_start::h4b273b4a85f28390" }, { fn: "start_thread" }, { fn: "__clone" }, { fn: "<unknown>" }]
2020-02-11T01:23:08.2534089Z thread '<unnamed>' panicked at 'not implemented', src/libstd/backtrace.rs:418:9
2020-02-11T01:23:08.2534216Z 2020-02-11T01:23:08.2534243Z 2020-02-11T01:23:08.2534286Z failures:
2020-02-11T01:23:08.2534347Z backtrace::tests::debug_backtrace_fmt
2020-02-11T01:23:08.2534347Z backtrace::tests::debug_backtrace_fmt
2020-02-11T01:23:08.2534385Z 2020-02-11T01:23:08.2534436Z test result: FAILED. 760 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
2020-02-11T01:23:08.2534489Z 2020-02-11T01:23:08.2540604Z error: test failed, to rerun pass '-p std --lib'
2020-02-11T01:23:08.2547649Z 2020-02-11T01:23:08.2548406Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "std" "--" "--quiet"
2020-02-11T01:23:08.2548494Z expected success, got: exit code: 101
2020-02-11T01:23:08.2548544Z ---
2020-02-11T01:23:08.2637046Z local time: Tue Feb 11 01:23:08 UTC 2020
2020-02-11T01:23:10.0317026Z network time: Tue, 11 Feb 2020 01:23:08 GMT
2020-02-11T01:23:10.0317721Z == end clock drift check ==
2020-02-11T01:23:10.0317763Z 2020-02-11T01:23:10.0379607Z ##[error]Bash exited with code '1'.
2020-02-11T01:23:10.0423579Z ##[section]Finishing: Run build
2020-02-11T01:23:10.0447313Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T01:23:10.0449217Z Task : Get sources
2020-02-11T01:23:10.0449269Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-11T01:23:10.0449517Z Version : 1.0.0
2020-02-11T01:23:10.0449563Z Author : Microsoft
2020-02-11T01:23:10.0449563Z Author : Microsoft
2020-02-11T01:23:10.0449614Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-02-11T01:23:10.0449692Z ==============================================================================
2020-02-11T01:23:10.5146203Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-02-11T01:23:10.5172343Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T01:23:10.5294926Z Cleaning up task key
2020-02-11T01:23:10.5295906Z Start cleaning up orphan processes.
2020-02-11T01:23:10.5413480Z Terminate orphan process: pid (3789) (python)
2020-02-11T01:23:10.5460508Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@yaahc

Copy link
Copy Markdown
MemberAuthor

Okay here is the current version

captured: Backtrace [{ fn: "std::backtrace::Backtrace::create::ha19bbd9f10287f80" }, { fn: "std::backtrace::Backtrace::force_capture::h5e8065a48ff91123" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892" }, { fn: ""__rust_maybe_catch_panic"" }, { fn: "std::panicking::try::hc8e0ebad5360bb9e" }, { fn: "test::run_test_in_process::h23ee0e24f420835e" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf" }, { fn: "std::panicking::try::do_call::he44bd66b51853864" }, { fn: ""__rust_maybe_catch_panic"" }, { fn: "std::panicking::try::h9e6571690ab8a505" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf" }, { fn: "std::sys_common::thread::start_thread::h44e11c2292c6e0da" }, { fn: "std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02" }, { fn: ""start_thread"" }, { fn: ""__clone"" }]
display print: stack backtrace:
0: std::backtrace::tests::debug_backtrace_fmt
1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2: __rust_maybe_catch_panic
3: std::panicking::try
4: test::run_test_in_process
5: std::sys_common::backtrace::__rust_begin_short_backtrace
6: std::panicking::try::do_call
7: __rust_maybe_catch_panic
8: std::panicking::try
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
12: std::sys_common::thread::start_thread
13: std::sys::unix::thread::Thread::new::thread_start
14: start_thread
15: __clone
resolved: Backtrace [{ fn: "std::backtrace::Backtrace::create::ha19bbd9f10287f80" }, { fn: "std::backtrace::Backtrace::force_capture::h5e8065a48ff91123" }, { fn: "std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892" }, { fn: ""__rust_maybe_catch_panic"" }, { fn: "std::panicking::try::hc8e0ebad5360bb9e" }, { fn: "test::run_test_in_process::h23ee0e24f420835e" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf" }, { fn: "std::panicking::try::do_call::he44bd66b51853864" }, { fn: ""__rust_maybe_catch_panic"" }, { fn: "std::panicking::try::h9e6571690ab8a505" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf" }, { fn: "std::sys_common::thread::start_thread::h44e11c2292c6e0da" }, { fn: "std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02" }, { fn: ""start_thread"" }, { fn: ""__clone"" }]
resolved alt: Backtrace [
{ fn: "std::backtrace::Backtrace::create::ha19bbd9f10287f80" },
{ fn: "std::backtrace::Backtrace::force_capture::h5e8065a48ff91123" },
{ fn: "std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b" },
{ fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892" },
{ fn: ""__rust_maybe_catch_panic"" },
{ fn: "std::panicking::try::hc8e0ebad5360bb9e" },
{ fn: "test::run_test_in_process::h23ee0e24f420835e" },
{ fn: "std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf" },
{ fn: "std::panicking::try::do_call::he44bd66b51853864" },
{ fn: ""__rust_maybe_catch_panic"" },
{ fn: "std::panicking::try::h9e6571690ab8a505" },
{ fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9" },
{ fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2" },
{ fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf" },
{ fn: "std::sys_common::thread::start_thread::h44e11c2292c6e0da" },
{ fn: "std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02" },
{ fn: ""start_thread"" },
{ fn: ""__clone"" },
]

I manually added "" around the symbols, but it looks like some symbols are already strings, so I think I'm going to remove that for consistency with the previous impl.

Comment threadsrc/libstd/backtrace.rs Outdated
@yaahc

Copy link
Copy Markdown
MemberAuthor

and here we go again, for possibly the last time she says with great hubris

uncaptured: disabled backtrace
captured: Backtrace [{ fn: std::backtrace::Backtrace::create::ha19bbd9f10287f80 }, { fn: std::backtrace::Backtrace::force_capture::h5e8065a48ff91123 }, { fn: std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892 }, { fn: __rust_maybe_catch_panic }, { fn: std::panicking::try::hc8e0ebad5360bb9e }, { fn: test::run_test_in_process::h23ee0e24f420835e }, { fn: std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf }, { fn: std::panicking::try::do_call::he44bd66b51853864 }, { fn: __rust_maybe_catch_panic }, { fn: std::panicking::try::h9e6571690ab8a505 }, { fn: core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9 }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2 }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf }, { fn: std::sys_common::thread::start_thread::h44e11c2292c6e0da }, { fn: std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02 }, { fn: start_thread }, { fn: __clone }]
display print: stack backtrace:
0: std::backtrace::tests::debug_backtrace_fmt
1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2: __rust_maybe_catch_panic
3: std::panicking::try
4: test::run_test_in_process
5: std::sys_common::backtrace::__rust_begin_short_backtrace
6: std::panicking::try::do_call
7: __rust_maybe_catch_panic
8: std::panicking::try
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
12: std::sys_common::thread::start_thread
13: std::sys::unix::thread::Thread::new::thread_start
14: start_thread
15: __clone
resolved: Backtrace [{ fn: std::backtrace::Backtrace::create::ha19bbd9f10287f80 }, { fn: std::backtrace::Backtrace::force_capture::h5e8065a48ff91123 }, { fn: std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892 }, { fn: __rust_maybe_catch_panic }, { fn: std::panicking::try::hc8e0ebad5360bb9e }, { fn: test::run_test_in_process::h23ee0e24f420835e }, { fn: std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf }, { fn: std::panicking::try::do_call::he44bd66b51853864 }, { fn: __rust_maybe_catch_panic }, { fn: std::panicking::try::h9e6571690ab8a505 }, { fn: core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9 }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2 }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf }, { fn: std::sys_common::thread::start_thread::h44e11c2292c6e0da }, { fn: std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02 }, { fn: start_thread }, { fn: __clone }]
resolved alt: Backtrace [
{ fn: std::backtrace::Backtrace::create },
{ fn: std::backtrace::Backtrace::force_capture },
{ fn: std::backtrace::tests::debug_backtrace_fmt },
{ fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once },
{ fn: __rust_maybe_catch_panic },
{ fn: std::panicking::try },
{ fn: test::run_test_in_process },
{ fn: std::sys_common::backtrace::__rust_begin_short_backtrace },
{ fn: std::panicking::try::do_call },
{ fn: __rust_maybe_catch_panic },
{ fn: std::panicking::try },
{ fn: core::ops::function::FnOnce::call_once{{vtable.shim}} },
{ fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once },
{ fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once },
{ fn: std::sys_common::thread::start_thread },
{ fn: std::sys::unix::thread::Thread::new::thread_start },
{ fn: start_thread },
{ fn: __clone },
]

@yaahc

yaahc commented Feb 11, 2020

Copy link
Copy Markdown
MemberAuthor

Sigh...

Why are these lines

 { fn: std::backtrace::Backtrace::create },
{ fn: std::backtrace::Backtrace::force_capture },

being skipped in the display impl ._. investigates

Edit:

its because of actual_start, the display impl defaults to short, which skips the first few frames. I opted to always do the Full version of what the display impl does, I think its safe to leave it in, but lmk what you think @dtolnay

@dtolnay

Copy link
Copy Markdown
Member

Nice! Almost there I think. Thanks for sticking with this.

  • On the skipped frames due to actual_start, I would say let's skip them in the Debug impl as well. The reason they are skipped by default in Display is they are totally useless unless you are debugging something extremely niche, such as the backtrace-capturing code itself. Let's go for the side of eliminating noise since its already been made easy.

  • One thing I notice in your most recent paste is that the one-line representation starts with std::backtrace::Backtrace::create::ha19bbd9f10287f80 while the multi line representation starts with std::backtrace::Backtrace::create without a hash. This looks like an unintended side effect of forwarding through the Formatter flags. Could you take a look? Ideally we wouldn't have the hash in either case, matching the Display impl.

  • I am fine with having the symbol name unquoted, but I noticed that this entry in particular is harder to read:

    { fn: core::ops::function::FnOnce::call_once{{vtable.shim}} }

    Did you notice that one? Does it affect whether you think putting the symbol in quotes would be neater? Now that you've figured out how to print no quotes at all, it seems like it would be easy to put a quote before and after if you wanted.

    { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}" }

@rust-highfive

Copy link
Copy Markdown
Contributor

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-11T01:47:27.8626224Z ========================== Starting Command Output ===========================
2020-02-11T01:47:27.8628303Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/5d083af4-c170-4734-ab97-b3ff37cc4cf6.sh
2020-02-11T01:47:27.8628398Z 2020-02-11T01:47:27.8631863Z ##[section]Finishing: Disable git automatic line ending conversion
2020-02-11T01:47:27.8639261Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T01:47:27.8641240Z Task : Get sources
2020-02-11T01:47:27.8641289Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-11T01:47:27.8641391Z Version : 1.0.0
2020-02-11T01:47:27.8641440Z Author : Microsoft
---
2020-02-11T01:47:28.7357467Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-02-11T01:47:28.7460478Z ##[command]git config gc.auto 0
2020-02-11T01:47:28.7519256Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-02-11T01:47:28.7572386Z ##[command]git config --get-all http.proxy
2020-02-11T01:47:28.7717971Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/69038/merge:refs/remotes/pull/69038/merge
---
2020-02-11T02:41:49.8584858Z .................................................................................................... 1700/9625
2020-02-11T02:41:54.4752166Z .................................................................................................... 1800/9625
2020-02-11T02:42:06.1287852Z .............................i...................................................................... 1900/9625
2020-02-11T02:42:13.0208603Z .................................................................................................... 2000/9625
2020-02-11T02:42:26.6059757Z ...................iiiii............................................................................ 2100/9625
2020-02-11T02:42:35.9417151Z .................................................................................................... 2300/9625
2020-02-11T02:42:38.2549629Z .................................................................................................... 2400/9625
2020-02-11T02:42:42.8879435Z .................................................................................................... 2500/9625
2020-02-11T02:43:02.6987570Z .................................................................................................... 2600/9625
---
2020-02-11T02:45:32.7715316Z ......................................................................i...............i............. 4900/9625
2020-02-11T02:45:40.3214876Z .................................................................................................... 5000/9625
2020-02-11T02:45:47.9733497Z .................................................................................................... 5100/9625
2020-02-11T02:45:52.4895429Z ............i....................................................................................... 5200/9625
2020-02-11T02:46:02.9822466Z ......................................................................................ii.ii........i 5300/9625
2020-02-11T02:46:10.5732347Z ........................i........................................................................... 5500/9625
2020-02-11T02:46:18.4010402Z .................................................................................................... 5600/9625
2020-02-11T02:46:26.3138018Z ..........................................................................i......................... 5700/9625
2020-02-11T02:46:33.4665059Z .................................................................................................... 5800/9625
2020-02-11T02:46:33.4665059Z .................................................................................................... 5800/9625
2020-02-11T02:46:39.6281997Z .................................................................................................... 5900/9625
2020-02-11T02:46:49.6106702Z ..................................................................ii...i..ii...........i............ 6000/9625
2020-02-11T02:47:09.9598649Z .................................................................................................... 6200/9625
2020-02-11T02:47:14.5688825Z .................................................................................................... 6300/9625
2020-02-11T02:47:14.5688825Z .................................................................................................... 6300/9625
2020-02-11T02:47:18.5480557Z ..............................................................................................i..ii. 6400/9625
2020-02-11T02:47:40.0152685Z .................................................................................................... 6600/9625
2020-02-11T02:47:49.5962252Z .................................................................................i.................. 6700/9625
2020-02-11T02:47:51.6551443Z .................................................................................................... 6800/9625
2020-02-11T02:47:53.8193228Z ........................................................................................i........... 6900/9625
---
2020-02-11T02:49:28.9011128Z .................................................................................................... 7600/9625
2020-02-11T02:49:33.1199700Z .................................................................................................... 7700/9625
2020-02-11T02:49:38.6562327Z .................................................................................................... 7800/9625
2020-02-11T02:49:46.8247164Z .................................................................................................... 7900/9625
2020-02-11T02:49:55.7827864Z ...................................................................iiiiiii.i........................ 8000/9625
2020-02-11T02:50:11.0183708Z .......i......i..................................................................................... 8200/9625
2020-02-11T02:50:16.4036921Z .................................................................................................... 8300/9625
2020-02-11T02:50:29.6543549Z .................................................................................................... 8400/9625
2020-02-11T02:50:38.9062476Z .................................................................................................... 8500/9625
---
2020-02-11T02:52:57.1405865Z finished in 7.173
2020-02-11T02:52:57.1597707Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T02:52:57.3672262Z 2020-02-11T02:52:57.3673084Z running 178 tests
2020-02-11T02:53:00.8333305Z iiii......i...........ii..iiii...i....i...........i............i..i..................i....i......... 100/178
2020-02-11T02:53:02.5611113Z ...i.i.i...iii..iiiiiiiiiiiiiiii.......................iii............ii......
2020-02-11T02:53:02.5611707Z 2020-02-11T02:53:02.5612275Z finished in 5.401
2020-02-11T02:53:02.5800326Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T02:53:02.7533306Z ---
2020-02-11T02:53:04.7218865Z finished in 2.141
2020-02-11T02:53:04.7417584Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T02:53:04.9050162Z 2020-02-11T02:53:04.9050403Z running 9 tests
2020-02-11T02:53:04.9051226Z iiiiiiiii
2020-02-11T02:53:04.9051675Z 2020-02-11T02:53:04.9054760Z finished in 0.163
2020-02-11T02:53:04.9272731Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T02:53:05.1208304Z ---
2020-02-11T02:53:24.7817601Z finished in 19.855
2020-02-11T02:53:24.8044526Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T02:53:25.0069952Z 2020-02-11T02:53:25.0070134Z running 116 tests
2020-02-11T02:53:37.8007809Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii..........i.....i..i.......ii.i.ii. 100/116
2020-02-11T02:53:40.3410150Z ....iiii.....ii.
2020-02-11T02:53:40.3410611Z 2020-02-11T02:53:40.3410664Z finished in 14.772
2020-02-11T02:53:40.3410947Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T02:53:40.3411284Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-02-11T03:05:58.1721788Z 2020-02-11T03:05:58.1722608Z Doc-tests core
2020-02-11T03:06:02.6451922Z 2020-02-11T03:06:02.6452671Z running 2471 tests
2020-02-11T03:06:11.1973996Z ......iiiii......................................................................................... 100/2471
2020-02-11T03:06:19.5280245Z ..................................................................................ii................ 200/2471
2020-02-11T03:06:38.8220304Z .................i.................................................................................. 400/2471
2020-02-11T03:06:38.8220304Z .................i.................................................................................. 400/2471
2020-02-11T03:06:47.8501858Z ......................................................................i..i..................iiii.... 500/2471
2020-02-11T03:07:03.1207388Z .................................................................................................... 700/2471
2020-02-11T03:07:11.0746267Z .................................................................................................... 800/2471
2020-02-11T03:07:19.0356112Z .................................................................................................... 900/2471
2020-02-11T03:07:27.0157317Z .................................................................................................... 1000/2471
---
2020-02-11T03:10:38.4902251Z .................................................................................................... 500/761
2020-02-11T03:10:38.5292011Z ..................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2741:22
2020-02-11T03:10:38.5305745Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2778:21
2020-02-11T03:10:38.5308922Z thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2766:17
2020-02-11T03:10:38.5323754Z .......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2645:13
2020-02-11T03:10:38.8265023Z ..........................................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1997:22
2020-02-11T03:10:38.8283695Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libstd/sync/mpsc/mod.rs:2022:17
2020-02-11T03:10:38.8298776Z .thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:2034.:21.
2020-02-11T03:10:38.8310410Z .....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libstd/sync/mpsc/mod.rs:1916:13
2020-02-11T03:10:40.8729366Z ....................thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:633:13
2020-02-11T03:10:40.8746805Z ..thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:587:13
2020-02-11T03:10:40.8758387Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:563:13
2020-02-11T03:10:40.8764794Z .thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:694:13
---
2020-02-11T03:10:43.5621239Z .thread '<unnamed>' panicked at 'Box<Any>', src/libstd/thread/mod.rs:1727:37
2020-02-11T03:10:49.0539432Z .............
2020-02-11T03:10:49.0539586Z failures:
2020-02-11T03:10:49.0539641Z 2020-02-11T03:10:49.0540647Z ---- backtrace::tests::debug_backtrace_fmt stdout ----
2020-02-11T03:10:49.0540766Z uncaptured: disabled backtrace
2020-02-11T03:10:49.0541075Z captured: Backtrace [{ fn: std::backtrace::Backtrace::create::hdeef3b580b4db842 }, { fn: std::backtrace::Backtrace::force_capture::haa57f8e507856668 }, { fn: std::backtrace::tests::debug_backtrace_fmt::ha299b18b904f6ae1 }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h5df0e898b301d82a }, { fn: __rust_maybe_catch_panic }, { fn: test::run_test::run_test_inner::{{closure}}::hfbb6c9beffe5df6d }, { fn: std::sys_common::backtrace::__rust_begin_short_backtrace::h3aede521c9ff7629 }, { fn: std::panicking::try::do_call::h02bc59bce1d83dd1 }, { fn: __rust_maybe_catch_panic }, { fn: core::ops::function::FnOnce::call_once{{vtable.shim}}::h0806fc5f2dbe969f }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h508ce35e9da003b7 }, { fn: std::sys::unix::thread::Thread::new::thread_start::h7d4e50e6e9ddd29f }, { fn: start_thread }, { fn: __clone }]
2020-02-11T03:10:49.0541335Z display print: stack backtrace:
2020-02-11T03:10:49.0541432Z 0: std::backtrace::tests::debug_backtrace_fmt
2020-02-11T03:10:49.0541560Z 1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-11T03:10:49.0542012Z 3: test::run_test::run_test_inner::{{closure}}
2020-02-11T03:10:49.0542120Z 4: std::sys_common::backtrace::__rust_begin_short_backtrace
2020-02-11T03:10:49.0542212Z 5: std::panicking::try::do_call
2020-02-11T03:10:49.0542299Z 6: __rust_maybe_catch_panic
2020-02-11T03:10:49.0542299Z 6: __rust_maybe_catch_panic
2020-02-11T03:10:49.0542407Z 7: core::ops::function::FnOnce::call_once{{vtable.shim}}
2020-02-11T03:10:49.0542506Z 8: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-11T03:10:49.0542604Z 9: std::sys::unix::thread::Thread::new::thread_start
2020-02-11T03:10:49.0542849Z 10: start_thread
2020-02-11T03:10:49.0542931Z 11: __clone
2020-02-11T03:10:49.0542987Z 2020-02-11T03:10:49.0543282Z resolved: Backtrace [{ fn: std::backtrace::Backtrace::create::hdeef3b580b4db842 }, { fn: std::backtrace::Backtrace::force_capture::haa57f8e507856668 }, { fn: std::backtrace::tests::debug_backtrace_fmt::ha299b18b904f6ae1 }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h5df0e898b301d82a }, { fn: __rust_maybe_catch_panic }, { fn: test::run_test::run_test_inner::{{closure}}::hfbb6c9beffe5df6d }, { fn: std::sys_common::backtrace::__rust_begin_short_backtrace::h3aede521c9ff7629 }, { fn: std::panicking::try::do_call::h02bc59bce1d83dd1 }, { fn: __rust_maybe_catch_panic }, { fn: core::ops::function::FnOnce::call_once{{vtable.shim}}::h0806fc5f2dbe969f }, { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h508ce35e9da003b7 }, { fn: std::sys::unix::thread::Thread::new::thread_start::h7d4e50e6e9ddd29f }, { fn: start_thread }, { fn: __clone }]
2020-02-11T03:10:49.0543524Z resolved alt: Backtrace [
2020-02-11T03:10:49.0543616Z { fn: std::backtrace::Backtrace::create },
2020-02-11T03:10:49.0543712Z { fn: std::backtrace::Backtrace::force_capture },
2020-02-11T03:10:49.0543825Z { fn: std::backtrace::tests::debug_backtrace_fmt },
2020-02-11T03:10:49.0543924Z { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once },
2020-02-11T03:10:49.0544031Z { fn: __rust_maybe_catch_panic },
2020-02-11T03:10:49.0544146Z { fn: test::run_test::run_test_inner::{{closure}} },
2020-02-11T03:10:49.0544241Z { fn: std::sys_common::backtrace::__rust_begin_short_backtrace },
2020-02-11T03:10:49.0544335Z { fn: std::panicking::try::do_call },
2020-02-11T03:10:49.0544440Z { fn: __rust_maybe_catch_panic },
2020-02-11T03:10:49.0544533Z { fn: core::ops::function::FnOnce::call_once{{vtable.shim}} },
2020-02-11T03:10:49.0544638Z { fn: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once },
2020-02-11T03:10:49.0544770Z { fn: std::sys::unix::thread::Thread::new::thread_start },
2020-02-11T03:10:49.0544858Z { fn: start_thread },
2020-02-11T03:10:49.0544940Z { fn: __clone },
2020-02-11T03:10:49.0545037Z ]
2020-02-11T03:10:49.0545577Z thread '<unnamed>' panicked at 'not implemented', src/libstd/backtrace.rs:424:9
2020-02-11T03:10:49.0545760Z 2020-02-11T03:10:49.0545830Z 2020-02-11T03:10:49.0545909Z failures:
2020-02-11T03:10:49.0545994Z backtrace::tests::debug_backtrace_fmt
2020-02-11T03:10:49.0545994Z backtrace::tests::debug_backtrace_fmt
2020-02-11T03:10:49.0546048Z 2020-02-11T03:10:49.0546156Z test result: FAILED. 760 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
2020-02-11T03:10:49.0546218Z 2020-02-11T03:10:49.0571796Z error: test failed, to rerun pass '-p std --lib'
2020-02-11T03:10:49.0596308Z 2020-02-11T03:10:49.0598160Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "std" "--" "--quiet"
2020-02-11T03:10:49.0598878Z expected success, got: exit code: 101
2020-02-11T03:10:49.0599162Z ---
2020-02-11T03:10:49.0682926Z local time: Tue Feb 11 03:10:49 UTC 2020
2020-02-11T03:10:49.2321271Z network time: Tue, 11 Feb 2020 03:10:49 GMT
2020-02-11T03:10:49.2327735Z == end clock drift check ==
2020-02-11T03:10:49.6690983Z 2020-02-11T03:10:49.6790038Z ##[error]Bash exited with code '1'.
2020-02-11T03:10:49.6801572Z ##[section]Finishing: Run build
2020-02-11T03:10:49.6822149Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T03:10:49.6823947Z Task : Get sources
2020-02-11T03:10:49.6824000Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-11T03:10:49.6824051Z Version : 1.0.0
2020-02-11T03:10:49.6824113Z Author : Microsoft
2020-02-11T03:10:49.6824113Z Author : Microsoft
2020-02-11T03:10:49.6824165Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-02-11T03:10:49.6824220Z ==============================================================================
2020-02-11T03:10:50.0998885Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-02-11T03:10:50.1040927Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T03:10:50.1149269Z Cleaning up task key
2020-02-11T03:10:50.1150081Z Start cleaning up orphan processes.
2020-02-11T03:10:50.1249897Z Terminate orphan process: pid (3795) (python)
2020-02-11T03:10:50.1474720Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@yaahc

yaahc commented Feb 11, 2020

Copy link
Copy Markdown
MemberAuthor
  • Re: hash

I believe the display impl prints the hashes for {:#} as well, so it is consistent right now in that it behaves under alt the same way. This relates back too the actual_start as well, under alt the old version doesn't skip the actual start stuff. I lean towards wanting to start as minimal as possible, never show anything before actual start, never render the hash, and if people need them later we can add them later, or, ideally, we would be able to get an iterator API for frames added to Backtrace that would provide them with whatever they need out of the hashes / extra frames that they can't otherwise get from the Display impl.

Here's the comparison between the alt and default display impls

display print: stack backtrace:
0: std::backtrace::tests::debug_backtrace_fmt
1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2: __rust_maybe_catch_panic
3: std::panicking::try
4: test::run_test_in_process
5: std::sys_common::backtrace::__rust_begin_short_backtrace
6: std::panicking::try::do_call
7: __rust_maybe_catch_panic
8: std::panicking::try
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
12: std::sys_common::thread::start_thread
13: std::sys::unix::thread::Thread::new::thread_start
14: start_thread
15: __clone
display print alt: stack backtrace:
0: 0x561d29648ead - std::backtrace::Backtrace::create::ha19bbd9f10287f80
1: 0x561d29648e20 - std::backtrace::Backtrace::force_capture::h5e8065a48ff91123
2: 0x561d297286e4 - std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b
3: 0x7fef1438528f - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892
4: 0x7fef140e1834 - __rust_maybe_catch_panic
5: 0x7fef1438747c - std::panicking::try::hc8e0ebad5360bb9e
6: 0x7fef143902ef - test::run_test_in_process::h23ee0e24f420835e
7: 0x7fef1438d3e8 - std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf
8: 0x7fef143875a6 - std::panicking::try::do_call::he44bd66b51853864
9: 0x7fef140e1834 - __rust_maybe_catch_panic
10: 0x7fef1438733a - std::panicking::try::h9e6571690ab8a505
11: 0x7fef14387aa3 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9
12: 0x7fef140b36af - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2
13: 0x7fef140b3703 - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf
14: 0x7fef140d6baa - std::sys_common::thread::start_thread::h44e11c2292c6e0da
15: 0x7fef140dc796 - std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02
16: 0x7fef145f16db - start_thread
17: 0x7fef13b7388f - __clone
18: 0x0 - <unknown>
  • Re: quotes

They feel equally easy to read to me, so I have no preference, if you want my vote I'm gonna vote for no " because technically these aren't strings, and the code for the impl is just a little shorter / cleaner. But these are completely unimportant considerations, so I will defer to your preference.

Edit: One thing I think might be important is how easily the debug impl can be parsed, so if you think that adding " around the symbol names would make it noticeably easier to parse and then rerender in a custom format then I'm in favor of "'s.

@yaahc

Copy link
Copy Markdown
MemberAuthor

Oh I just noticed the resolved / non-opt debug print for Backtrace had hashes, thats definitely wrong, fixing.

@yaahc

Copy link
Copy Markdown
MemberAuthor

And now its backwards, because apparently they switched the meanings of alt where they use the alt print for PrintFmt::Short which is selected when alt is false 🙃

Gonna just make an executive decision here and not try to maintain exact compat with old behavior.

@yaahc

Copy link
Copy Markdown
MemberAuthor

Final-final-v2-format.jpg

uncaptured: disabled backtrace
captured: Backtrace [{ fn: "std::backtrace::tests::debug_backtrace_fmt" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try" }, { fn: "test::run_test_in_process" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace" }, { fn: "std::panicking::try::do_call" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "std::sys_common::thread::start_thread" }, { fn: "std::sys::unix::thread::Thread::new::thread_start" }, { fn: "start_thread" }, { fn: "__clone" }]
display print: stack backtrace:
0: std::backtrace::tests::debug_backtrace_fmt
1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2: __rust_maybe_catch_panic
3: std::panicking::try
4: test::run_test_in_process
5: std::sys_common::backtrace::__rust_begin_short_backtrace
6: std::panicking::try::do_call
7: __rust_maybe_catch_panic
8: std::panicking::try
9: core::ops::function::FnOnce::call_once{{vtable.shim}}
10: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
11: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
12: std::sys_common::thread::start_thread
13: std::sys::unix::thread::Thread::new::thread_start
14: start_thread
15: __clone
display print alt: stack backtrace:
0: 0x55ed655a1ebd - std::backtrace::Backtrace::create::ha19bbd9f10287f80
1: 0x55ed655a1e30 - std::backtrace::Backtrace::force_capture::h5e8065a48ff91123
2: 0x55ed656816f4 - std::backtrace::tests::debug_backtrace_fmt::h0557493242cdd27b
3: 0x7f729e67028f - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h94c20d903b9ee892
4: 0x7f729e3cc844 - __rust_maybe_catch_panic
5: 0x7f729e67247c - std::panicking::try::hc8e0ebad5360bb9e
6: 0x7f729e67b2ef - test::run_test_in_process::h23ee0e24f420835e
7: 0x7f729e6783e8 - std::sys_common::backtrace::__rust_begin_short_backtrace::h66d96ab05a49a4cf
8: 0x7f729e6725a6 - std::panicking::try::do_call::he44bd66b51853864
9: 0x7f729e3cc844 - __rust_maybe_catch_panic
10: 0x7f729e67233a - std::panicking::try::h9e6571690ab8a505
11: 0x7f729e672aa3 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb78017e7280200c9
12: 0x7f729e39e6bf - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6caad6f61b1e39b2
13: 0x7f729e39e713 - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hc9d5f44518fec1bf
14: 0x7f729e3c1baa - std::sys_common::thread::start_thread::h44e11c2292c6e0da
15: 0x7f729e3c7796 - std::sys::unix::thread::Thread::new::thread_start::h1534b513264a5d02
16: 0x7f729e8dc6db - start_thread
17: 0x7f729de5e88f - __clone
18: 0x0 - <unknown>
resolved: Backtrace [{ fn: "std::backtrace::tests::debug_backtrace_fmt" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try" }, { fn: "test::run_test_in_process" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace" }, { fn: "std::panicking::try::do_call" }, { fn: "__rust_maybe_catch_panic" }, { fn: "std::panicking::try" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "std::sys_common::thread::start_thread" }, { fn: "std::sys::unix::thread::Thread::new::thread_start" }, { fn: "start_thread" }, { fn: "__clone" }]
resolved alt: Backtrace [
{ fn: "std::backtrace::tests::debug_backtrace_fmt" },
{ fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" },
{ fn: "__rust_maybe_catch_panic" },
{ fn: "std::panicking::try" },
{ fn: "test::run_test_in_process" },
{ fn: "std::sys_common::backtrace::__rust_begin_short_backtrace" },
{ fn: "std::panicking::try::do_call" },
{ fn: "__rust_maybe_catch_panic" },
{ fn: "std::panicking::try" },
{ fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}" },
{ fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" },
{ fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" },
{ fn: "std::sys_common::thread::start_thread" },
{ fn: "std::sys::unix::thread::Thread::new::thread_start" },
{ fn: "start_thread" },
{ fn: "__clone" },
]

@dtolnaydtolnay left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great. Looks good to me without the deliberately failing test. I don't know if there is a way to instantiate a hardcoded backtrace for testing purposes, but I wouldn't worry about it if it turns out to be not easy.

@rust-highfive

Copy link
Copy Markdown
Contributor

The job x86_64-gnu-llvm-7 of your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2020-02-11T05:55:13.3249558Z ========================== Starting Command Output ===========================
2020-02-11T05:55:13.3253085Z [command]/bin/bash --noprofile --norc /home/vsts/work/_temp/96919f58-5db0-4fea-838a-68740c70b6f4.sh
2020-02-11T05:55:13.3253260Z 2020-02-11T05:55:13.3257265Z ##[section]Finishing: Disable git automatic line ending conversion
2020-02-11T05:55:13.3265794Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T05:55:13.3267815Z Task : Get sources
2020-02-11T05:55:13.3267867Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-11T05:55:13.3267976Z Version : 1.0.0
2020-02-11T05:55:13.3268026Z Author : Microsoft
---
2020-02-11T05:55:17.3029856Z ##[command]git remote add origin https://github.com/rust-lang/rust
2020-02-11T05:55:17.3258529Z ##[command]git config gc.auto 0
2020-02-11T05:55:17.3330899Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2020-02-11T05:55:17.3388811Z ##[command]git config --get-all http.proxy
2020-02-11T05:55:17.3540301Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/69038/merge:refs/remotes/pull/69038/merge
---
2020-02-11T06:52:58.0411246Z .................................................................................................... 1700/9627
2020-02-11T06:53:03.0853920Z .................................................................................................... 1800/9627
2020-02-11T06:53:15.1972515Z ..............................i..................................................................... 1900/9627
2020-02-11T06:53:22.8226645Z .................................................................................................... 2000/9627
2020-02-11T06:53:36.9238794Z ....................iiiii........................................................................... 2100/9627
2020-02-11T06:53:46.9627118Z .................................................................................................... 2300/9627
2020-02-11T06:53:49.4799703Z .................................................................................................... 2400/9627
2020-02-11T06:53:54.3827739Z .................................................................................................... 2500/9627
2020-02-11T06:54:15.2727399Z .................................................................................................... 2600/9627
---
2020-02-11T06:56:52.3913431Z .......................................................................i...............i............ 4900/9627
2020-02-11T06:57:00.3619317Z .................................................................................................... 5000/9627
2020-02-11T06:57:08.3286637Z .................................................................................................... 5100/9627
2020-02-11T06:57:13.0986735Z .............i...................................................................................... 5200/9627
2020-02-11T06:57:24.2617408Z .......................................................................................ii.ii........ 5300/9627
2020-02-11T06:57:28.1223700Z i...i............................................................................................... 5400/9627
2020-02-11T06:57:40.3140210Z .................................................................................................... 5600/9627
2020-02-11T06:57:48.7055736Z ...........................................................................i........................ 5700/9627
2020-02-11T06:57:56.2455576Z .................................................................................................... 5800/9627
2020-02-11T06:58:02.6855609Z .................................................................................................... 5900/9627
2020-02-11T06:58:02.6855609Z .................................................................................................... 5900/9627
2020-02-11T06:58:12.8497605Z ...................................................................ii...i..ii...........i........... 6000/9627
2020-02-11T06:58:34.5472427Z .................................................................................................... 6200/9627
2020-02-11T06:58:40.7603534Z .................................................................................................... 6300/9627
2020-02-11T06:58:44.9003334Z ...............................................................................................i..ii 6400/9627
2020-02-11T06:58:58.1058778Z .................................................................................................... 6500/9627
---
2020-02-11T07:01:04.4009413Z .................................................................................................... 7600/9627
2020-02-11T07:01:08.9304356Z .................................................................................................... 7700/9627
2020-02-11T07:01:14.8001259Z .................................................................................................... 7800/9627
2020-02-11T07:01:23.2245154Z .................................................................................................... 7900/9627
2020-02-11T07:01:32.3393610Z .....................................................................iiiiiii.i...................... 8000/9627
2020-02-11T07:01:48.4429376Z .........i......i................................................................................... 8200/9627
2020-02-11T07:01:54.0032513Z .................................................................................................... 8300/9627
2020-02-11T07:02:07.7930097Z .................................................................................................... 8400/9627
2020-02-11T07:02:17.7559210Z .................................................................................................... 8500/9627
---
2020-02-11T07:04:45.0441677Z finished in 7.540
2020-02-11T07:04:45.0653942Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T07:04:45.2689233Z 2020-02-11T07:04:45.2690673Z running 178 tests
2020-02-11T07:04:48.4193459Z iiii......i...........ii..iiii...i....i...........i............i..i..................i....i......... 100/178
2020-02-11T07:04:50.7810855Z ...i.i.i...iii..iiiiiiiiiiiiiiii.......................iii............ii......
2020-02-11T07:04:50.7815510Z 2020-02-11T07:04:50.7821706Z finished in 5.717
2020-02-11T07:04:50.8037470Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T07:04:50.9793120Z ---
2020-02-11T07:04:53.0700010Z finished in 2.266
2020-02-11T07:04:53.0906164Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T07:04:53.2498191Z 2020-02-11T07:04:53.2499521Z running 9 tests
2020-02-11T07:04:53.2500357Z iiiiiiiii
2020-02-11T07:04:53.2500956Z 2020-02-11T07:04:53.2504868Z finished in 0.159
2020-02-11T07:04:53.2713726Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T07:04:53.4698941Z ---
2020-02-11T07:05:15.2037580Z finished in 21.932
2020-02-11T07:05:15.2283597Z Check compiletest suite=debuginfo mode=debuginfo (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T07:05:15.4308601Z 2020-02-11T07:05:15.4312769Z running 116 tests
2020-02-11T07:05:28.6842595Z iiiii..i.....i..i...i..i.i.i..i..i..ii....i.i....ii..........iiii..........i.....i..i.......ii.i.ii. 100/116
2020-02-11T07:05:30.5454037Z ....iiii.....ii.
2020-02-11T07:05:30.5454578Z 2020-02-11T07:05:30.5454634Z finished in 15.317
2020-02-11T07:05:30.5462132Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2020-02-11T07:05:30.5462748Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2020-02-11T07:18:31.4353757Z 2020-02-11T07:18:31.4356506Z Doc-tests core
2020-02-11T07:18:36.0320697Z 2020-02-11T07:18:36.0321556Z running 2471 tests
2020-02-11T07:18:45.7496250Z ......iiiii......................................................................................... 100/2471
2020-02-11T07:18:54.4835926Z ..................................................................................ii................ 200/2471
2020-02-11T07:19:15.4987207Z .................i.................................................................................. 400/2471
2020-02-11T07:19:15.4987207Z .................i.................................................................................. 400/2471
2020-02-11T07:19:25.1676560Z ......................................................................i..i..................iiii.... 500/2471
2020-02-11T07:19:41.7570196Z .................................................................................................... 700/2471
2020-02-11T07:19:50.3840714Z .................................................................................................... 800/2471
2020-02-11T07:19:58.9389203Z .................................................................................................... 900/2471
2020-02-11T07:20:07.7482262Z .................................................................................................... 1000/2471
---
2020-02-11T07:23:36.6971979Z ..thread '<unnamed>' panicked at 'Box<Any>', src/libstd/thread/mod.rs:1727:37
2020-02-11T07:23:42.1861603Z ............
2020-02-11T07:23:42.1862372Z failures:
2020-02-11T07:23:42.1862554Z 2020-02-11T07:23:42.1886031Z ---- backtrace::tests::debug_backtrace_fmt stdout ----
2020-02-11T07:23:42.1886292Z uncaptured: disabled backtrace
2020-02-11T07:23:42.1886685Z captured: Backtrace [{ fn: "std::backtrace::tests::debug_backtrace_fmt" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "__rust_maybe_catch_panic" }, { fn: "test::run_test::run_test_inner::{{closure}}" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace" }, { fn: "std::panicking::try::do_call" }, { fn: "__rust_maybe_catch_panic" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "std::sys::unix::thread::Thread::new::thread_start" }, { fn: "start_thread" }, { fn: "__clone" }]
2020-02-11T07:23:42.1886939Z display print: stack backtrace:
2020-02-11T07:23:42.1887398Z 0: std::backtrace::tests::debug_backtrace_fmt
2020-02-11T07:23:42.1887583Z 1: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-11T07:23:42.1888619Z 3: test::run_test::run_test_inner::{{closure}}
2020-02-11T07:23:42.1888771Z 4: std::sys_common::backtrace::__rust_begin_short_backtrace
2020-02-11T07:23:42.1889081Z 5: std::panicking::try::do_call
2020-02-11T07:23:42.1889230Z 6: __rust_maybe_catch_panic
2020-02-11T07:23:42.1889230Z 6: __rust_maybe_catch_panic
2020-02-11T07:23:42.1889394Z 7: core::ops::function::FnOnce::call_once{{vtable.shim}}
2020-02-11T07:23:42.1889551Z 8: <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once
2020-02-11T07:23:42.1889702Z 9: std::sys::unix::thread::Thread::new::thread_start
2020-02-11T07:23:42.1889866Z 10: start_thread
2020-02-11T07:23:42.1890011Z 11: __clone
2020-02-11T07:23:42.1890301Z display print alt: stack backtrace:
2020-02-11T07:23:42.1890301Z display print alt: stack backtrace:
2020-02-11T07:23:42.1890870Z 0: 0x55ded47ff28d - std::backtrace::Backtrace::create::hf703babbcd3e85d1
2020-02-11T07:23:42.1891329Z 1: 0x55ded47ff200 - std::backtrace::Backtrace::force_capture::hb95f1d1c7097ba31
2020-02-11T07:23:42.1891777Z 2: 0x55ded484b064 - std::backtrace::tests::debug_backtrace_fmt::h568ed6c2496cee04
2020-02-11T07:23:42.1892230Z 3: 0x7f5137e398cf - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hb6b372f16c36fb60
2020-02-11T07:23:42.1892652Z 4: 0x7f5137b9b727 - __rust_maybe_catch_panic
2020-02-11T07:23:42.1893084Z 5: 0x7f5137e58a8f - test::run_test::run_test_inner::{{closure}}::h048df9d5557c3257
2020-02-11T07:23:42.1893524Z 6: 0x7f5137e2b649 - std::sys_common::backtrace::__rust_begin_short_backtrace::h99192f66d51e6047
2020-02-11T07:23:42.1893953Z 7: 0x7f5137e30319 - std::panicking::try::do_call::ha91683607659b9cc
2020-02-11T07:23:42.1894335Z 8: 0x7f5137b9b727 - __rust_maybe_catch_panic
2020-02-11T07:23:42.1894792Z 9: 0x7f5137e31c06 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hd0f6a17b7e19090f
2020-02-11T07:23:42.1895243Z 10: 0x7f5137b63adf - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::ha37d21f7f8ae446d
2020-02-11T07:23:42.1895676Z 11: 0x7f5137b995f0 - std::sys::unix::thread::Thread::new::thread_start::h75b8fb4f22922630
2020-02-11T07:23:42.1896079Z 12: 0x7f513809e6db - start_thread
2020-02-11T07:23:42.1896440Z 13: 0x7f513762d88f - __clone
2020-02-11T07:23:42.1896797Z 14: 0x0 - <unknown>
2020-02-11T07:23:42.1896956Z 2020-02-11T07:23:42.1897192Z resolved: Backtrace [{ fn: "std::backtrace::tests::debug_backtrace_fmt" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "__rust_maybe_catch_panic" }, { fn: "test::run_test::run_test_inner::{{closure}}" }, { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace" }, { fn: "std::panicking::try::do_call" }, { fn: "__rust_maybe_catch_panic" }, { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}" }, { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" }, { fn: "std::sys::unix::thread::Thread::new::thread_start" }, { fn: "start_thread" }, { fn: "__clone" }]
2020-02-11T07:23:42.1897404Z resolved alt: Backtrace [
2020-02-11T07:23:42.1897556Z { fn: "std::backtrace::tests::debug_backtrace_fmt" },
2020-02-11T07:23:42.1897740Z { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" },
2020-02-11T07:23:42.1897898Z { fn: "__rust_maybe_catch_panic" },
2020-02-11T07:23:42.1898065Z { fn: "test::run_test::run_test_inner::{{closure}}" },
2020-02-11T07:23:42.1898220Z { fn: "std::sys_common::backtrace::__rust_begin_short_backtrace" },
2020-02-11T07:23:42.1898372Z { fn: "std::panicking::try::do_call" },
2020-02-11T07:23:42.1898535Z { fn: "__rust_maybe_catch_panic" },
2020-02-11T07:23:42.1898691Z { fn: "core::ops::function::FnOnce::call_once{{vtable.shim}}" },
2020-02-11T07:23:42.1898928Z { fn: "<alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once" },
2020-02-11T07:23:42.1899114Z { fn: "std::sys::unix::thread::Thread::new::thread_start" },
2020-02-11T07:23:42.1899262Z { fn: "start_thread" },
2020-02-11T07:23:42.1899419Z { fn: "__clone" },
2020-02-11T07:23:42.1899562Z ]
2020-02-11T07:23:42.1899965Z thread '<unnamed>' panicked at 'not implemented', src/libstd/backtrace.rs:426:9
2020-02-11T07:23:42.1900388Z 2020-02-11T07:23:42.1900509Z 2020-02-11T07:23:42.1900650Z failures:
2020-02-11T07:23:42.1900815Z backtrace::tests::debug_backtrace_fmt
2020-02-11T07:23:42.1900815Z backtrace::tests::debug_backtrace_fmt
2020-02-11T07:23:42.1900943Z 2020-02-11T07:23:42.1901179Z test result: FAILED. 760 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
2020-02-11T07:23:42.1901324Z 2020-02-11T07:23:42.1906247Z error: test failed, to rerun pass '-p std --lib'
2020-02-11T07:23:42.1916705Z 2020-02-11T07:23:42.1917600Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "test" "-Zconfig-profile" "--target" "x86_64-unknown-linux-gnu" "-Zbinary-dep-depinfo" "-j" "2" "--release" "--locked" "--color" "always" "--features" "panic-unwind backtrace compiler-builtins-c" "--manifest-path" "/checkout/src/libtest/Cargo.toml" "-p" "std" "--" "--quiet"
2020-02-11T07:23:42.1917702Z expected success, got: exit code: 101
2020-02-11T07:23:42.1917753Z ---
2020-02-11T07:23:42.8250111Z local time: Tue Feb 11 07:23:42 UTC 2020
2020-02-11T07:23:42.8250542Z network time: Tue, 11 Feb 2020 07:23:42 GMT
2020-02-11T07:23:42.8250741Z == end clock drift check ==
2020-02-11T07:23:42.9119128Z 2020-02-11T07:23:42.9212569Z ##[error]Bash exited with code '1'.
2020-02-11T07:23:42.9271872Z ##[section]Finishing: Run build
2020-02-11T07:23:42.9294247Z ##[section]Starting: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T07:23:42.9296193Z Task : Get sources
2020-02-11T07:23:42.9296262Z Description : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.
2020-02-11T07:23:42.9296331Z Version : 1.0.0
2020-02-11T07:23:42.9296377Z Author : Microsoft
2020-02-11T07:23:42.9296377Z Author : Microsoft
2020-02-11T07:23:42.9296429Z Help : [More Information](https://go.microsoft.com/fwlink/?LinkId=798199)
2020-02-11T07:23:42.9296501Z ==============================================================================
2020-02-11T07:23:43.3566859Z Cleaning any cached credential from repository: rust-lang/rust (GitHub)
2020-02-11T07:23:43.3608313Z ##[section]Finishing: Checkout rust-lang/rust@refs/pull/69038/merge to s
2020-02-11T07:23:43.3729495Z Cleaning up task key
2020-02-11T07:23:43.3730452Z Start cleaning up orphan processes.
2020-02-11T07:23:43.3836652Z Terminate orphan process: pid (3833) (python)
2020-02-11T07:23:43.4317095Z ##[section]Finishing: Finalize Job

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@yaahc
yaahc removed the request for review from alexcrichtonFebruary 11, 2020 16:40
@dtolnay

Copy link
Copy Markdown
Member

@bors r+

@bors

bors commented Feb 11, 2020

Copy link
Copy Markdown
Collaborator

📌 Commit ec8ee7f has been approved by dtolnay

@borsbors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Feb 11, 2020
Dylan-DPC-zz pushed a commit to Dylan-DPC-zz/rust that referenced this pull request Feb 12, 2020
Add initial debug fmt for Backtrace
Fixes the first point in rust-lang#65280
related to rust-lang#53487
bors added a commit that referenced this pull request Feb 12, 2020
Rollup of 7 pull requests
Successful merges:
- #67954 (Support new LLVM pass manager)
- #68981 ( Account for type params on method without parentheses)
- #69002 (miri: improve and simplify overflow detection)
- #69038 (Add initial debug fmt for Backtrace)
- #69040 (Cleanup SGX entry code)
- #69086 (Update compiler-builtins to 0.1.25)
- #69095 (Minified theme check)
Failed merges:
r? @ghost
@bors
bors merged commit ec8ee7f into rust-lang:masterFeb 13, 2020
@yaahc
yaahc deleted the backtrace-debug branch February 13, 2020 01:50
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

S-waiting-on-borsStatus: Waiting on bors to run and complete tests. Bors will change the label on completion.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants

@yaahc@rust-highfive@dtolnay@bors@shepmaster