Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve integration on MSVC #358

Open
Eh2406 opened this issue Jan 7, 2024 · 0 comments
Open

Improve integration on MSVC #358

Eh2406 opened this issue Jan 7, 2024 · 0 comments

Comments

@Eh2406
Copy link

Eh2406 commented Jan 7, 2024

As of last week, asan and libfuzz are available for nightly rust on MSVC! I tried it out and got things working, but with some paper cuts that could probably easily be improved. Here's my experience report.

Cargo fuzz installed without trouble. Thanks to the recent change in nightly, even successfully compiled a fuzz target. (This is a huge step forward, the out-of-the-box experience now lets you check targets!) However when running that target a complaint about a missing DLL. After some digging it turned out to be clang_rt.asan_dynamic-x86_64.dll.

I spent a long time trying to figure out why I couldn't find that DLL. Even after checking with my Visual Studio installer that asan was installed and up to date. Then I noticed that I had an up-to-date copy of VS 2019, but the documentation said it was added in VS 2022. Several gigabytes of uninstall and reinstall later, and I copied it from C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<version>\bin\Hostx86\x86 to the relevant target directory. And it successfully ran!

This morning I woke up to the console reporting that an assertion had failed, and a pop up box telling me that the program had crashed did I want to start a debugger. Opening the debugger did not get me any useful information, probably due to my lack of experience. Letting the program crash without opening the debugger terminated immediately. Unfortunately skipping the part of cargo fuzz that reported on the failing input and hash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant