<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jul 11, 2017 at 3:04 AM, Chris Peterson <span dir="ltr"><<a href="mailto:cpeterson@mozilla.com" target="_blank">cpeterson@mozilla.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-">On 7/10/17 4:48 PM, Xidorn Quan wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
The first thing comes to my mind is crash reports. It currently doesn't always include useful panic message from Rust, see for example [1] and [2]. Also for Stylo, we generate lots of code (including using bindgen and mako template system, bindgen is usually fine, but the code generated from template can contain lots of code logic), and when the crash happens inside generated code, it is pretty hard to understand what's going wrong, because there is no useful source link, see for example [3].<br>
There are also issues from Rust side. I've always been using an optimized debug build locally (because that runs faster), and sometimes use Visual Studio to investigate issues. C++ code works fine with this configuration, but in Rust code, I cannot see any variable information. Stack backtrace seems to work fine to me, though.<br>
[1]<a href="https://crash-stats.mozilla.com/report/index/2abff06f-d969-4ba5-845b-a98410170708%5B2%5Dhttps://crash-stats.mozilla.com/report/index/03718a9c-9d98-4832-b8a6-026220170706%5B3%5Dhttps://crash-stats.mozilla.com/report/index/6b7d1d78-8418-47ef-bee9-f49c20170710" rel="noreferrer" target="_blank">https://crash-stats.mozilla<wbr>.com/report/index/2abff06f-<wbr>d969-4ba5-845b-a98410170708[2]<wbr>https://crash-stats.mozilla.<wbr>com/report/index/03718a9c-<wbr>9d98-4832-b8a6-026220170706[3]<wbr>https://crash-stats.mozilla.<wbr>com/report/index/6b7d1d78-<wbr>8418-47ef-bee9-f49c20170710</a><br>
</blockquote>
<br></span>
Looking at those crash reports' signatures, we should probably add `core::option::expect_failed` and `core::str::slice_error_fail` to Socorro's list of function names to ignore [1]. Should Socorro ignore all Rust core::* or std::* function names when searching the backtrace for a useful signature?<br></blockquote><div><br></div><div>I filed <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1379089">https://bugzilla.mozilla.org/show_bug.cgi?id=1379089</a> last week for core::option::expect_failed.</div><div><br></div><div>Cheers,</div><div>Julien<br></div></div></div></div>