This is an archive of the discontinued LLVM Phabricator instance.

Document libFuzzer on Windows.
ClosedPublic

Authored by metzman on Feb 1 2019, 9:47 AM.

Event Timeline

metzman created this revision.Feb 1 2019, 9:47 AM
metzman updated this revision to Diff 184780.Feb 1 2019, 9:53 AM
  • mention support may be added
metzman added a reviewer: kcc.Feb 1 2019, 9:54 AM
metzman added a subscriber: rnk.

I think libFuzzer on Windows is solid enough now to make public.
What do you think?

cc @rnk

metzman marked an inline comment as done.Feb 1 2019, 10:00 AM
metzman added inline comments.
llvm/docs/LibFuzzer.rst
652–662

I don't understand LLVM's release process to know when the official LLVM build goes up and what parts of libFuzzer on Win it will support.
So the second sentence may not make sense.
Maybe we should wait for it to come out, see if enough parts are supported and then recommend people use the official build of 8 instead of a 9 snapshot.

metzman marked an inline comment as done.Feb 1 2019, 10:02 AM
metzman added inline comments.
llvm/docs/LibFuzzer.rst
652–662

when the official LLVM build goes up

I mean the official release of LLVM 8.

do we have the bot?

In D57597#1381039, @kcc wrote:

do we have the bot?

It gets built on this bot (proof is this test failure).
I think @rnk discussed enabling it on the sanitizer-windows bot. But I forgot to do this.
I can do it now if you'd like.

Or did you mean a dedicated bot, like sanitizer-x86_64-linux-fuzzer which I can also do.

kcc added a comment.Feb 1 2019, 10:30 AM

any reliable bot will do.
This one, ... hm, doesn't seem reliable.
Last build passed two days ago :(
A separate bot would be nice if you expect a high rate of changes (and breakages) on windows

rnk accepted this revision.Feb 1 2019, 2:44 PM
rnk added a subscriber: hans.
In D57597#1381064, @kcc wrote:

any reliable bot will do.
This one, ... hm, doesn't seem reliable.
Last build passed two days ago :(
A separate bot would be nice if you expect a high rate of changes (and breakages) on windows

I am taking steps to add it to sanitizer-windows here, which is super fast and reliable (for a sanitizer bot =P):
http://lab.llvm.org:8011/builders/sanitizer-windows

I think this doc change is ready to go as is. It reflects the state of the very near future.

llvm/docs/LibFuzzer.rst
652–662

We'd have to merge this to the 8.0 branch, but committing as normal is the first step. We'd also want to put a release note in llvm/docs/ReleaseNotes.rst on the 8.0 branch. @hans is the person to ask about this.

This revision is now accepted and ready to land.Feb 1 2019, 2:44 PM
rnk added a comment.Feb 1 2019, 3:12 PM
In D57597#1381590, @rnk wrote:
In D57597#1381064, @kcc wrote:

any reliable bot will do.
This one, ... hm, doesn't seem reliable.
Last build passed two days ago :(
A separate bot would be nice if you expect a high rate of changes (and breakages) on windows

I am taking steps to add it to sanitizer-windows here, which is super fast and reliable (for a sanitizer bot =P):
http://lab.llvm.org:8011/builders/sanitizer-windows

To follow-up, check-fuzzer passed on sanitizer-windows:
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/41419

[99/102] Running Fuzzer unit tests
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:32: note: lsan feature unavailable
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:39: note: msan feature unavailable
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:57: note: linux feature unavailable
-- Testing: 36 tests, 16 threads --
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Testing Time: 0.92s
  Expected Passes    : 36

Do we need more targets?

metzman marked an inline comment as done.Feb 1 2019, 3:19 PM
In D57597#1381683, @rnk wrote:
In D57597#1381590, @rnk wrote:
In D57597#1381064, @kcc wrote:

any reliable bot will do.
This one, ... hm, doesn't seem reliable.
Last build passed two days ago :(
A separate bot would be nice if you expect a high rate of changes (and breakages) on windows

I am taking steps to add it to sanitizer-windows here, which is super fast and reliable (for a sanitizer bot =P):
http://lab.llvm.org:8011/builders/sanitizer-windows

To follow-up, check-fuzzer passed on sanitizer-windows:
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/41419

[99/102] Running Fuzzer unit tests
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:32: note: lsan feature unavailable
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:39: note: msan feature unavailable
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:57: note: linux feature unavailable
-- Testing: 36 tests, 16 threads --
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Testing Time: 0.92s
  Expected Passes    : 36

Do we need more targets?

check-fuzzer is the only target but it seems like only the unittests are running.

llvm/docs/LibFuzzer.rst
652–662

Thanks. Will do.

In D57597#1381683, @rnk wrote:
In D57597#1381590, @rnk wrote:
In D57597#1381064, @kcc wrote:

any reliable bot will do.
This one, ... hm, doesn't seem reliable.
Last build passed two days ago :(
A separate bot would be nice if you expect a high rate of changes (and breakages) on windows

I am taking steps to add it to sanitizer-windows here, which is super fast and reliable (for a sanitizer bot =P):
http://lab.llvm.org:8011/builders/sanitizer-windows

To follow-up, check-fuzzer passed on sanitizer-windows:
http://lab.llvm.org:8011/builders/sanitizer-windows/builds/41419

[99/102] Running Fuzzer unit tests
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:32: note: lsan feature unavailable
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:39: note: msan feature unavailable
llvm-lit.py: C:/b/slave/sanitizer-windows/build/llvm.src/projects/compiler-rt/test/fuzzer/lit.cfg:57: note: linux feature unavailable
-- Testing: 36 tests, 16 threads --
Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. 
Testing Time: 0.92s
  Expected Passes    : 36

Do we need more targets?

check-fuzzer is the only target but it seems like only the unittests are running.

Sorry, I was wrong.
The bot is running the integration tests too. I don't think we need any more targets.
Thanks @rnk !

@kcc
Now that we have a more reliable bot, does this look good to land?

hans added inline comments.Feb 4 2019, 12:45 AM
llvm/docs/LibFuzzer.rst
652–662

Sounds good to me. I'll merge this when it lands (maybe I'll drop the part about Clang 9), then please write something for the release notes. You can either send a patch for docs/ReleaseNotes.html on the branch, or just write some text and I'll add it.

metzman marked an inline comment as done.Feb 5 2019, 4:57 PM
metzman added inline comments.
llvm/docs/LibFuzzer.rst
652–662

Great. Will do!

metzman updated this revision to Diff 185449.Feb 5 2019, 5:13 PM
  • Make Kostya's suggested change
metzman updated this revision to Diff 185451.Feb 5 2019, 5:17 PM
  • mention /INCREMENTAL can't be used.
metzman accepted this revision.Feb 5 2019, 5:19 PM

Kostya asked me offline to change the sentence about clang 8 to say what revision support was added in before landing.

kcc accepted this revision.Feb 5 2019, 5:26 PM

LGTM

metzman updated this revision to Diff 185455.Feb 5 2019, 5:33 PM
  • make it clearer that we wont support incremental linking
This revision was automatically updated to reflect the committed changes.
Herald added a project: Restricted Project. · View Herald TranscriptFeb 8 2019, 11:36 AM
Dor1s added a subscriber: Dor1s.Feb 11 2019, 9:56 PM

You may need to use double backticks to put something into monospaced font, see https://reviews.llvm.org/rL352890. Maybe that's why the docs are still not updated.

hans added a comment.Feb 12 2019, 1:11 AM

You may need to use double backticks to put something into monospaced font, see https://reviews.llvm.org/rL352890. Maybe that's why the docs are still not updated.

Added that in r353809.

Merged this to the release_80 branch in r353811.

You may need to use double backticks to put something into monospaced font, see https://reviews.llvm.org/rL352890. Maybe that's why the docs are still not updated.

Thanks for pointing this out. Judging from the current docs, I think single backticks for non-links just does italics.
I'm not sure what's going on with the documentation page and why hit hasn't updated though.

You may need to use double backticks to put something into monospaced font, see https://reviews.llvm.org/rL352890. Maybe that's why the docs are still not updated.

Added that in r353809.

Merged this to the release_80 branch in r353811.

Thanks Hans!
I can write the release notes patch soon.