Closed Bug 1319298 Opened 8 years ago Closed 8 years ago

Unhelpful crash signatures involving __rust_start_panic on Mac and Linux

Categories

(Socorro :: Backend, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: n.nethercote, Assigned: n.nethercote)

References

Details

Attachments

(1 file)

We have some rust-url crashes that currently crash on Windows with the following signatures: > [@ xul.dll@0x5eff6 | xul.dll@0x61eea | mozilla::net::RustURL::GetFilePath ] > [@ xul.dll@0x613fd | xul.dll@0x64a3c | xul.dll@0x649d3 | xul.dll@0x6a4eb | xul.dll@0x6a367 | rust_url_capi::rusturl_get_path ] > [@ xul.dll@0x613fd | xul.dll@0x649dc | xul.dll@0x64973 | xul.dll@0x6a4db | xul.dll@0x6a357 | rust_url_capi::rusturl_get_path ] These aren't great signatures (xul.dll, bleh) but they're not terrible. In contrast, on Mac and Linux we get this hopelessly generic signature: > [@ mozalloc_abort | abort | __rust_start_panic ] Ironically enough, this is because on Mac and Linux the stack trace is better... > 0 firefox mozalloc_abort memory/mozalloc/mozalloc_abort.cpp:33 > 1 firefox abort memory/mozalloc/mozalloc_abort.cpp:80 > 2 libxul.so __rust_start_panic > 3 libxul.so std::panicking::rust_panic_with_hook::hc303199e04562edf > 4 libxul.so std::panicking::begin_panic::h6ed03353807cf54d > 5 libxul.so std::panicking::begin_panic_fmt::hc321cece241bb2f5 > 6 libxul.so core::panicking::panic_fmt::h27224b181f9f037f > 7 libxul.so core::panicking::panic_bounds_check::h19e9bbc59320a57e > 8 libxul.so rust_url_capi::rusturl_get_path third_party/rust/url/src/lib.rs:1190 > 9 libxul.so mozilla::net::nsStandardURL::GetPath netwerk/base/nsStandardURL.cpp:1392 ... so Socorro's signature generation stops at __rust_start_panic. I guess the simple thing here is to just change Socorro's crash signature generation to skip over the following regexes: - __rust_start_panic - std::panicking::* Or if the second entry is too broad, we could skip the specific functions, e.g. std::panicking::begin_panic, etc.
Blocks: 1268328
Commit pushed to master at https://github.com/mozilla/socorro https://github.com/mozilla/socorro/commit/7a0329ba25ee2c306f783cf4484fbaa7d2a3387f Fixes bug 1319298 - Handle some rust functions in signature generation. For a crash stack trace like this: > mozalloc_abort > abort > __rust_start_panic > std::panicking::rust_panic_with_hook::hc303199e04562edf > std::panicking::begin_panic::h6ed03353807cf54d > std::panicking::begin_panic_fmt::hc321cece241bb2f5 > core::panicking::panic_fmt::h27224b181f9f037f > core::panicking::panic_bounds_check::h19e9bbc59320a57e > rust_url_capi::rusturl_get_path > mozilla::net::nsStandardURL::GetPath this commit will change the crash signature from this: > [@ mozalloc_abort | abort | __rust_start_panic ] to this: > [@ mozalloc_abort | abort | __rust_start_panic | rust_url_capi::rusturl_get_path ]]
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Attachment #8812999 - Flags: review?(ted) → review+
Assignee: nobody → n.nethercote
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: