Re:Everything Is Broken: Shipping Rust-Minidump at Mozilla
by rockdoe on Tuesday June 14, 2022 @01:53PM
(#31743257)
Reminds me of "Your program shouldn't have bugs in it isn't an acceptable position to take for a debugger", from the rr folks. Unfortunately I can't find the source of the quote any more, but it stuck in my mind.
Re:Everything Is Broken: Shipping Rust-Minidump at Mozilla
by Gankra on Tuesday June 14, 2022 @01:56PM
(#31743299)
Yeah computing backtraces in a crashreporter is extremely similar to a debugger in that you need a lot of fudge-factor heuristics and fallback modes for known toolchain bugs or common corruptions.
Re:Everything Is Broken: Shipping Rust-Minidump at Mozilla
by khuey on Tuesday June 14, 2022 @05:12PM
(#31746160)
You're probably remembering https://pernos.co/blog/tzcnt-portability/
Re:Everything Is Broken: Shipping Rust-Minidump at Mozilla
by gpm on Tuesday June 14, 2022 @04:52PM
(#31745916)
Speaking of the rr folk, they also had the fascinating point that you can reliably generate a "stack trace" by figuring out which `call` instructions were executed with what values (also other jump instructions I suppose), instead of walking the stack. Thereby skipping the whole "parsing the stack is insanely difficult and unreliable" issue.
Re:Everything Is Broken: Shipping Rust-Minidump at Mozilla
by glandium on Tuesday June 14, 2022 @05:08PM
(#31746121)
FWIW, that's from pernosco, not rr.
You can't expect "thing that runs when a process may have just experienced memory corruption" and "all builds of your application for all eternity" and "every toolchain you ever built your program with for all eternity" to be even vaguely reliable, because those things are in the past and we're trying to figure out how to fix the bugs people are experiencing in production today.
It is a horribly miserable answer to tell your coworkers "yeah sorry I know users are getting thousands of crashes this morning but the crash-dumper didn't sign its name in cursive so I'm gonna refuse to let you read the letter it sent at all".
And just an incoherent answer to say "yeah I know this is a stack overflow but it left the stack in a mildly corrupt state so I absolutely refuse to try to even look at the stack and figure anything out about it". Like, that is the entire purpose of a crashreporter, to investigate a program in an invalid state!