Hi,

0/ Context

As part of the JS engine a lot of issues which are reported on crash-stats are rarely actionable. I personally waited a few times on equivalent fuzz-bugs, in hope to fix a crash-stat issue by luck. One of the proposal we made in Orlando was to investigate if we could improve the reports that we get from crash-stats.

Among the idea, was the idea to ship ASan builds to nightly users.

This email is a summary of the problems which are blocking. I also listed the persons involved in the discussion, and which might be contacted to help solving these issues.

1/ Would ASan be useful?

While asking Bob Clary [:bc], he reported that even if he did not measure the effectiveness of ASan reports, he once noticed that an ASan bug got marked as a duplicate a of 12 non-ASan crashes.

As Bob & Decoder mentioned, even if we do not ship ASan builds to users, we should at least use Windows ASan builds with Bughunter, and fuzzing automation.

2/ Current Blockers:

2.1/ Windows Clang ASan builds are not stable yet.

Apparently we have a few issues opened against clang, and we should push these forward to make sure that we can have a stable build. Part of the stability issues might be related to the way our build system is working as we are linking crt library both statically and dynamically inside Gecko.

It seems that part of the issue might be related to the fact that Clang default to cl.exe when Clang fails at compiling, and a guess from Raymond was that we have ABI issues caused by a miss conversion of the command line arguments.

If you are interested to talk more, or help fix clang issues, you should contact the following persons:

 - Raymond Forbes [:rforbes]
 - Nathan Froyd [:froydnj]
 - Jeff Muizelaar [:jrmuizel]
 - Ehsan Akhgari [:eshan]

Also, we have few Clang contributors within Mozilla who might have a bit more knowledge about the persons to ask to get momentum on the clang issues, such as:

 - Jakob Stoklund Olesen [:jolesen]
 - Dan Gohman [:sunfish]

And for our build system issues on Windows, we should contact:

 - Mike Hommey [:glandium]

2.2/ Enable Crash reporter on ASan builds.

The crash reporter is currently disabled on ASan builds, we need to figure out why, one hypothesis (I do not recall the author) was that we have issues with the SEGV handler.

Another issue, is that the crash reporter does not capture the stderr stream. Thus we might have to make additional patches to clang to give it the ability to spew the reports in a file, that we can later attach to the bug report.

I don't know who is the right person, but I briefly discuss this issue with Ted Mielczarek [:ted].

2.4/ Soccoro interface to display multiple backtraces.

Currently Soccoro only has support to display one backtrace. On the other hand ASan builds might report 2 / 3 backtraces (allocation site, deallocation site / crash site). We would have to extend Soccoro interface to be able to search for the different backtraces, such that we can make buckets of crashes which have identical allocation sites / deallocation sites.

2.5/ Release Management.

ASan builds have a x2 overhead, and this implies that we have to ship different binaries, ASan is not a simple toggle (as far as I know).

The performance impact is too high to ship ASan builds by default (Lawrence Mandel). And as this implies that we have to ship a new version of Firefox, we would have to let people opt-in for a short while on nightly before making them fallback to the normal nightly, or suggest this ASan builds on supports.mozilla.org to investigate.

The person to contact might be Sylvestre Ledru [:Sylvestre], based on Lawrence suggestion.

--
Nicolas B. Pierron
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to