Dor1s (Max Moroz)
User

Projects

User does not belong to any projects.

User Details

User Since
Feb 14 2017, 7:36 AM (78 w, 17 h)

Recent Activity

Wed, Aug 8

Dor1s committed rL339249: [libFuzzer] Optimize handle unstable checks by reducing iterations.
[libFuzzer] Optimize handle unstable checks by reducing iterations
Wed, Aug 8, 7:33 AM
Dor1s committed rCRT339249: [libFuzzer] Optimize handle unstable checks by reducing iterations.
[libFuzzer] Optimize handle unstable checks by reducing iterations
Wed, Aug 8, 7:33 AM
Dor1s closed D50411: [libFuzzer] Optimize handle unstable checks by reducing iterations.
Wed, Aug 8, 7:33 AM
Dor1s updated the summary of D50411: [libFuzzer] Optimize handle unstable checks by reducing iterations.
Wed, Aug 8, 6:46 AM
Dor1s updated the diff for D50411: [libFuzzer] Optimize handle unstable checks by reducing iterations.

Rebase and getting ready to land

Wed, Aug 8, 6:46 AM

Tue, Aug 7

Dor1s accepted D50411: [libFuzzer] Optimize handle unstable checks by reducing iterations.

Nice! Do you have an estimate on the performance improvement? The code becomes slightly harder to read, but I guess it's worth it.

Tue, Aug 7, 3:33 PM
Dor1s added a reviewer for D50411: [libFuzzer] Optimize handle unstable checks by reducing iterations: morehouse.
Tue, Aug 7, 3:33 PM
Dor1s committed rL339143: [libFuzzer] Disable print_unstable_stats.test for aarch64..
[libFuzzer] Disable print_unstable_stats.test for aarch64.
Tue, Aug 7, 7:22 AM
Dor1s committed rCRT339143: [libFuzzer] Disable print_unstable_stats.test for aarch64..
[libFuzzer] Disable print_unstable_stats.test for aarch64.
Tue, Aug 7, 7:22 AM
Dor1s closed D50386: [libFuzzer] Disable print_unstable_stats.test for aarch64..
Tue, Aug 7, 7:22 AM
Dor1s accepted D50386: [libFuzzer] Disable print_unstable_stats.test for aarch64..

Self-approval for a trivial change.

Tue, Aug 7, 7:22 AM
Dor1s created D50386: [libFuzzer] Disable print_unstable_stats.test for aarch64..
Tue, Aug 7, 7:21 AM

Mon, Aug 6

Dor1s committed rL339081: [libFuzzer] Add unstable function printing to print_unstable_stats flag.
[libFuzzer] Add unstable function printing to print_unstable_stats flag
Mon, Aug 6, 4:15 PM
Dor1s committed rCRT339081: [libFuzzer] Add unstable function printing to print_unstable_stats flag.
[libFuzzer] Add unstable function printing to print_unstable_stats flag
Mon, Aug 6, 4:14 PM
Dor1s closed D50264: [libFuzzer] Add unstable function printing to print_unstable_stats flag.
Mon, Aug 6, 4:14 PM
Dor1s updated the diff for D50264: [libFuzzer] Add unstable function printing to print_unstable_stats flag.

rebase and getting ready to land

Mon, Aug 6, 4:14 PM
Dor1s updated the summary of D50264: [libFuzzer] Add unstable function printing to print_unstable_stats flag.
Mon, Aug 6, 4:00 PM
Dor1s accepted D50264: [libFuzzer] Add unstable function printing to print_unstable_stats flag.

LGTM, will land soon

Mon, Aug 6, 3:40 PM
Dor1s added a comment to D50264: [libFuzzer] Add unstable function printing to print_unstable_stats flag.

Please update the CL summary and description. LGTM, otherwise.

Mon, Aug 6, 9:20 AM

Fri, Aug 3

Dor1s added a comment to D50264: [libFuzzer] Add unstable function printing to print_unstable_stats flag.

Very nice!

Fri, Aug 3, 12:32 PM

Thu, Aug 2

Dor1s committed rL338776: [libFuzzer] Initial implementation of weighted mutation leveraging during….
[libFuzzer] Initial implementation of weighted mutation leveraging during…
Thu, Aug 2, 3:30 PM
Dor1s committed rCRT338776: [libFuzzer] Initial implementation of weighted mutation leveraging during….
[libFuzzer] Initial implementation of weighted mutation leveraging during…
Thu, Aug 2, 3:30 PM
This revision was not accepted when it landed; it landed in state Needs Review.
Thu, Aug 2, 3:30 PM
Dor1s updated the diff for D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..

Rebase

Thu, Aug 2, 3:28 PM
Dor1s updated the summary of D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..
Thu, Aug 2, 3:19 PM
Dor1s updated the diff for D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..

Getting ready to land.

Thu, Aug 2, 3:14 PM
Dor1s added inline comments to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..
Thu, Aug 2, 1:52 PM
Dor1s added inline comments to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..
Thu, Aug 2, 9:21 AM
Dor1s accepted D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..

LGTM

Thu, Aug 2, 7:51 AM

Wed, Aug 1

Dor1s added a comment to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..

Left a couple minor comments. Looks good otherwise. Still not happy with the test, but can't think of anything better so far.

Wed, Aug 1, 4:14 PM
Dor1s added a reviewer for D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime.: morehouse.
Wed, Aug 1, 4:13 PM
Dor1s added a comment to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..

I don't like the test as it only tests that we do not completely break libFuzzer, but doesn't test the feature itself. I'll play with some ideas locally, will share those if anything works out. Otherwise, I guess we'll proceed with this test.

Wed, Aug 1, 8:54 AM

Tue, Jul 31

Dor1s added inline comments to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..
Tue, Jul 31, 4:21 PM
Dor1s added inline comments to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..
Tue, Jul 31, 11:26 AM

Mon, Jul 30

Dor1s added inline comments to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..
Mon, Jul 30, 5:27 PM

Fri, Jul 27

Dor1s added inline comments to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.
Fri, Jul 27, 2:28 PM
Dor1s added inline comments to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.
Fri, Jul 27, 2:13 PM
Dor1s added a comment to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..

Haven't looked at the test yet, as the code needs a lot of clean up.

Fri, Jul 27, 1:44 PM

Thu, Jul 26

Dor1s added inline comments to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.
Thu, Jul 26, 10:01 AM
Dor1s added inline comments to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.
Thu, Jul 26, 9:58 AM

Wed, Jul 25

Dor1s accepted D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.

LGTM

Wed, Jul 25, 10:59 PM
Dor1s added inline comments to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.
Wed, Jul 25, 5:29 PM
Dor1s updated subscribers of D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.
Wed, Jul 25, 5:29 PM
Dor1s updated subscribers of D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.

PTAL
Added comment before c < 1000
Moved enum to FuzzerOptions and included them on necessary files.

Wed, Jul 25, 4:36 PM
Dor1s committed rL337949: [libFuzzer] Disable handle-unstable.test for ARM and delete duplicated test….
[libFuzzer] Disable handle-unstable.test for ARM and delete duplicated test…
Wed, Jul 25, 11:34 AM
Dor1s committed rCRT337949: [libFuzzer] Disable handle-unstable.test for ARM and delete duplicated test….
[libFuzzer] Disable handle-unstable.test for ARM and delete duplicated test…
Wed, Jul 25, 11:34 AM
Dor1s closed D49810: [libFuzzer] Disable handle-unstable.test for ARM and delete duplicated test file..
Wed, Jul 25, 11:34 AM
Dor1s created D49810: [libFuzzer] Disable handle-unstable.test for ARM and delete duplicated test file..
Wed, Jul 25, 11:24 AM
Dor1s added a comment to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Kevin, looks like test is not fully deterministic :(

http://lab.llvm.org:8011/builders/clang-cmake-aarch64-full/builds/5509

http://lab.llvm.org:8011/builders/clang-cmake-aarch64-full/builds/5509/steps/ninja%20check%202/logs/FAIL%3A%20libFuzzer%3A%3A%20handle_unstable_minunstable.test

This is the first testbot failure I've seen so far, so am not reverting the change yet, but please take a look into why the test might be failing sometimes.

It seems to have be failing for aarch64 since it was introduced:

http://lab.llvm.org:8011/builders/clang-cmake-aarch64-full/builds/5509 is failing and covers the range which added this test
http://lab.llvm.org:8011/waterfall?show=clang-cmake-aarch64-full shows that the test has been failing since that build onwards, except for build 5514 which was interrupted before stage2 tests were run.

Wed, Jul 25, 10:59 AM
Dor1s added a comment to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.

Changed UpdateUnstableCounters to get rid of indentation.
Changed ints to size_ts.

2 questions, @metzman @Dor1s .

  1. For changing UnstableMode to UnstableOptions, FuzzerDriver and FuzzerLoop do include TracePC.h, but FuzzerOptions does not. Where would be the right place to cast the int from FuzzerOptions? Would it be fine to cast it right before it gets sent to CheckForUnstableCounters in RunOne? (inside FuzzerLoop)
Wed, Jul 25, 6:28 AM

Tue, Jul 24

Dor1s added a comment to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.

Can you re-phrase the CL description please, because it looks like a chat message I've sent to you in the past :)

Tue, Jul 24, 3:48 PM
Dor1s committed rL337853: [libFuzzer] Handle unstable edges by disregarding unstable edges.
[libFuzzer] Handle unstable edges by disregarding unstable edges
Tue, Jul 24, 2:03 PM
Dor1s committed rCRT337853: [libFuzzer] Handle unstable edges by disregarding unstable edges.
[libFuzzer] Handle unstable edges by disregarding unstable edges
Tue, Jul 24, 2:03 PM
Dor1s closed D49684: [libFuzzer] Handle unstable edges by disregarding unstable edges.
Tue, Jul 24, 2:03 PM
Dor1s updated the diff for D49684: [libFuzzer] Handle unstable edges by disregarding unstable edges.

Rebase and getting ready to commit.

Tue, Jul 24, 2:02 PM
Dor1s added inline comments to D49621: [libFuzzer] Initial implementation of weighted mutation leveraging during runtime..
Tue, Jul 24, 7:01 AM

Mon, Jul 23

Dor1s added a comment to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.

Looks great! Left a couple comments + let's clean up the test. Since the test is specific for handle_unstable=3 mode, can we make it shorter, e.g. leave only 1 or 2 deterministic function, and so on. Also, let's rename the source file to HandleUnstablePoisonUnstableTest.cpp, the test file can be renamed to handle_unstable_poison_unstable.test for better readability.

Mon, Jul 23, 9:07 PM
Dor1s added a comment to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Kevin, looks like test is not fully deterministic :(

Mon, Jul 23, 8:53 PM
Dor1s added a comment to D49684: [libFuzzer] Handle unstable edges by disregarding unstable edges.

Feel free to ask Matt / Kostya to review this once my comments are addressed.

Mon, Jul 23, 3:12 PM
Dor1s added a comment to D49684: [libFuzzer] Handle unstable edges by disregarding unstable edges.

I'm not sure I fully understand that approach. We put 0 into the counters for edges we think are unstable. That's fair, but every time we generate a new input that triggers such edge, we would re-run it twice just to learn again that it was unstable. Why not put something like 0xff to mark it like a covered edge, so that we would ignore any new testcases covering that?

Another concern I have is the following. Let's say we have a testcase that covers edge X in a deterministic way, we save it. Later on, we find another testcases that covers that edge, but demonstrates instability, so we mark the edge as unstable. That sort of thing may happen again and again, an edge might seem to be stable or unstable with different testcases, And we still be blowing the corpus.

What do I misunderstand?

So the reason I think putting it as an uncovered edge is a better solution is that, in the future, if we get an input that hits the the previously unstable edges deterministically, we want to award the deterministically reached input for finding the "new" edge. It may be slower as you commented, but I think that it makes more sense. If we mark those undeterministically reached edges as covered edge, inputs that reach it deterministically in the future (which I believe are the truly interesting inputs) will not be added to corpus.

Mon, Jul 23, 3:10 PM
Dor1s added a comment to D49684: [libFuzzer] Handle unstable edges by disregarding unstable edges.

I'm not sure I fully understand that approach. We put 0 into the counters for edges we think are unstable. That's fair, but every time we generate a new input that triggers such edge, we would re-run it twice just to learn again that it was unstable. Why not put something like 0xff to mark it like a covered edge, so that we would ignore any new testcases covering that?

Mon, Jul 23, 1:51 PM
Dor1s updated the summary of D49684: [libFuzzer] Handle unstable edges by disregarding unstable edges.
Mon, Jul 23, 1:42 PM
Dor1s committed rL337696: [libFuzzer] Handle unstable edges by using minimum hit counts.
[libFuzzer] Handle unstable edges by using minimum hit counts
Mon, Jul 23, 7:22 AM
Dor1s committed rCRT337696: [libFuzzer] Handle unstable edges by using minimum hit counts.
[libFuzzer] Handle unstable edges by using minimum hit counts
Mon, Jul 23, 7:22 AM
Dor1s closed D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.
Mon, Jul 23, 7:22 AM
Dor1s updated the diff for D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Rebase and getting ready to commit.

Mon, Jul 23, 7:22 AM
Dor1s added a comment to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Kevin, don't panic, ninja clean && ninja && ninja check-fuzzer made things work for me. Committing now.

Mon, Jul 23, 7:18 AM
Dor1s added a comment to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Kevin, a bunch of tests seems to be failing for me with your change, but everything works perfectly without it. Do the tests pass for you?

Mon, Jul 23, 6:58 AM

Fri, Jul 20

Dor1s added a comment to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Matt, thanks a lot for the review!

Fri, Jul 20, 8:07 PM
Dor1s updated the summary of D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.
Fri, Jul 20, 8:07 PM
Dor1s added a comment to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.

I don't think this will work. This just subtracts the number of unstable edges without actually removing those features? Or do i misunderstand how this actually works?

I think that was sort of an advantage of the algorithm. We do not remove unstable features, so that any new inputs triggering them won't be considered as new at all, but we don't add such inputs to the corpus to prevent its explosion.

Kevin agreed with me offline that this doesn't prevent corpus growth and does something other than intended. We will think about what it does before proceeding.

Fri, Jul 20, 7:37 PM
Dor1s accepted D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Matt, can you please take a look?

Fri, Jul 20, 11:07 AM
Dor1s added a comment to D49578: [libFuzzer] Handle unstable edges by poisoning unstable edges.

I don't think this will work. This just subtracts the number of unstable edges without actually removing those features? Or do i misunderstand how this actually works?

Fri, Jul 20, 9:10 AM
Dor1s added a comment to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.

Kevin, can you think of a test that would verify that your handling approach works? We must have a test for this stuff to make sure it'll not get accidentally broken.

Fri, Jul 20, 9:00 AM

Thu, Jul 19

Dor1s added inline comments to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.
Thu, Jul 19, 3:29 PM
Dor1s added inline comments to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.
Thu, Jul 19, 2:42 PM
Dor1s added inline comments to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.
Thu, Jul 19, 8:29 AM
Dor1s added inline comments to D49525: [libFuzzer] Handle unstable edges by using minimum hit counts.
Thu, Jul 19, 7:06 AM

Wed, Jul 18

Dor1s committed rL337403: [libFuzzer] Create single template for visiting Inline8bitCounters.
[libFuzzer] Create single template for visiting Inline8bitCounters
Wed, Jul 18, 10:08 AM
Dor1s committed rCRT337403: [libFuzzer] Create single template for visiting Inline8bitCounters.
[libFuzzer] Create single template for visiting Inline8bitCounters
Wed, Jul 18, 10:08 AM
Dor1s closed D49453: [libFuzzer] Create single template for visiting Inline8bitCounters.
Wed, Jul 18, 10:08 AM
Dor1s updated the summary of D49453: [libFuzzer] Create single template for visiting Inline8bitCounters.
Wed, Jul 18, 9:52 AM
Dor1s updated the diff for D49453: [libFuzzer] Create single template for visiting Inline8bitCounters.

Rebase and getting ready to land.

Wed, Jul 18, 9:52 AM

Tue, Jul 17

Dor1s added a comment to D49453: [libFuzzer] Create single template for visiting Inline8bitCounters.

Left some minor comments, but I think it's fine to ask Matt or Kostya to take a look and address all the feedback altogether, just to avoid changing things back and forth if we have different opinions.

Tue, Jul 17, 2:44 PM
Dor1s committed rL337324: [libFuzzer] Mutation tracking and logging implemented..
[libFuzzer] Mutation tracking and logging implemented.
Tue, Jul 17, 1:42 PM
Dor1s committed rCRT337324: [libFuzzer] Mutation tracking and logging implemented..
[libFuzzer] Mutation tracking and logging implemented.
Tue, Jul 17, 1:42 PM
Dor1s closed D48054: [libFuzzer] Mutation tracking and logging implemented..
Tue, Jul 17, 1:42 PM
Dor1s added a comment to D48054: [libFuzzer] Mutation tracking and logging implemented..

Hey Matt, do you think we can land this or should also wait for Kostya's approval?

Tue, Jul 17, 12:47 PM
Dor1s added a comment to D48891: [libFuzzer] Make -fsanitize=memory,fuzzer work..

Try again after syncing past r337224. Hopefully that fixes your issue.

Tue, Jul 17, 7:20 AM

Mon, Jul 16

Dor1s added a comment to D48054: [libFuzzer] Mutation tracking and logging implemented..

Actually, I think you might've already used that flag (it is used in LLVM Dev Starting Kit). In that case, you would need to add -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++, I think.

Mon, Jul 16, 1:19 PM
Dor1s reopened D48054: [libFuzzer] Mutation tracking and logging implemented..

Reverted in https://reviews.llvm.org/rCRT337206.

Mon, Jul 16, 1:13 PM
Dor1s committed rCRT337206: Revert r337194 (https://reviews.llvm.org/D48891) due to compilation errors..
Revert r337194 (https://reviews.llvm.org/D48891) due to compilation errors.
Mon, Jul 16, 1:10 PM
Dor1s committed rL337206: Revert r337194 (https://reviews.llvm.org/D48891) due to compilation errors..
Revert r337194 (https://reviews.llvm.org/D48891) due to compilation errors.
Mon, Jul 16, 1:10 PM
Dor1s added a comment to D48891: [libFuzzer] Make -fsanitize=memory,fuzzer work..

Let me know if the rebuild fixes it. Otherwise, I'll take a closer look.

Mon, Jul 16, 1:02 PM
Dor1s added a comment to D48054: [libFuzzer] Mutation tracking and logging implemented..

I'm seeing a build failure on one of the bots http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux/builds/13625/steps/build%20with%20ninja/logs/stdio :

Mon, Jul 16, 1:00 PM
Dor1s added a comment to D48891: [libFuzzer] Make -fsanitize=memory,fuzzer work..

Let me build everything completely from scratch. I'm sure something is messed up with my cmake config / cmake files in the build dir. I'll post an update. Thanks for your help!

Mon, Jul 16, 11:22 AM
Dor1s added a comment to D48891: [libFuzzer] Make -fsanitize=memory,fuzzer work..

Good call, but I have libcxx synced to ToT already :(

Mon, Jul 16, 11:17 AM
Dor1s added a comment to rCRT337193: [libFuzzer] Add msan and dfsan to test deps..

Nice!

Mon, Jul 16, 11:02 AM
Dor1s committed rL337194: [libFuzzer] Mutation tracking and logging implemented..
[libFuzzer] Mutation tracking and logging implemented.
Mon, Jul 16, 10:56 AM
Dor1s committed rCRT337194: [libFuzzer] Mutation tracking and logging implemented..
[libFuzzer] Mutation tracking and logging implemented.
Mon, Jul 16, 10:56 AM