Switch to offline stack trace symbolization on Windows - #5443
Conversation
652943a to
b076705
Compare
|
I'll also try testing this on dev |
dylanjew
left a comment
There was a problem hiding this comment.
@ViniciustCosta Do you know if OSSFuzz does any Windows fuzzing? I'm wondering if we should mark this under a chrome directory?
Need to clarify on this PR that Chrome has a primary will make some corrections |
|
A couple of questions:
Also this is not quite correct, I think, please correct me if I'm wrong! AFAICT, we do enable symbolization for Windows, see this testcase's original stack trace where it says we failed to restart the symbolizer. This is where my understanding gets a bit iffy, but I think since we're not extracting |
You should be able to upload testcases to windows jobs, is there a known issue with that path? |
What I receive when uploading to clusterfuzz is: |
Yeah I do think that only Chrome is currently fuzzing on Windows |
You need to type in "This testcase is safe to run." or whatever the exact string is in the text box at the bottom of the upload form. |
thanks for pointing this out, ClusterFuzz does extract the llvm-symbolizer for For the other points, we should use offline symbolization for windows because we can see its brittle and we know its consistently packaged in our archives and in ClusterFuzz as a fallback. |
…on files, curl instructions
g-ortuno
left a comment
There was a problem hiding this comment.
Just one small thing otherwise LGTM!
| | Windows | `windows-amd64` | `resources/platform/windows/llvm-symbolizer.exe` | | ||
| | Linux | `Linux_x64` | `resources/platform/linux/llvm-symbolizer` | | ||
| | macOS (Intel) | `Mac` | `resources/platform/mac/llvm-symbolizer` | | ||
| | macOS (ARM64) | `Mac_arm64` | `resources/platform/mac/llvm-symbolizer` | |
There was a problem hiding this comment.
Hmmm there's a bug in our mac arm64 code for this 🙃 . Unrelated to this CL though.
There was a problem hiding this comment.
oop I added a TODO to support mac arm64 in the README whenever its added. i think manuel is the contact for this (?)
There was a problem hiding this comment.
is this captured in a bug? We aren't tracking TODOs in the clusterfuzz repo :)
There was a problem hiding this comment.
Maybe add a child bug on b/537850811?
There was a problem hiding this comment.
a bug to track does make more sense. created bug b/559164517 and changed it in the readme
dylanjew
left a comment
There was a problem hiding this comment.
Can you update the description with the results from testing in dev?
Otherwise LGTM and approving since Windows is Chrome only.
Previously,
stack_symbolizerbypassed symbolization on Windows, assuming Windows Clang ASan would provide provide symbolized stack traces through an online symbolizer. However, Windows Clang ASan's online symbolizer is flaky and could fail to restart the symbolizer.Chrome archives provide a
llvm-symbolizer.exefor use but it's ignored due to favoring online symbolizer on windows on ClusterFuzz and its windows extraction was not supported. ClusterFuzz also includes anllvm-symbolizer.exebut this acts as a fallback if one is not included orUSE_DEFAULT_LLVM_SYMBOLIZER = True.Switches to offline symbolization for windows and updates
llvm-symbolizer.exetooling for Windows to LLVM 24. Adds support for extractingllvm-symbolizer.exeas a common file onChromeBuildArchives. Adds documentation for updating symbolizer binaries and adds unit testing that symbolization is performed on Windows.Tested that the changes don't crash on dev by uploading a testcase: https://gosst.development.clusterfuzz.com/testcase-detail/5136503223648256
b/552035861