Git Product home page Git Product logo

Comments (16)

jonathanmetzman avatar jonathanmetzman commented on April 30, 2024

How about a switch to shut off crash novelty checking instead?

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

It would make it harder to tell really new bugs and bugs that just happen to collide apart, which would probably mean that I wouldn't even try to turn it off for projects that have just started fixing bugs found by fuzz targets.

from clusterfuzzlite.

jonathanmetzman avatar jonathanmetzman commented on April 30, 2024

Sorry, I think I missed something in your original request.
Do you want uploading of fuzz targets and crashes that are not novel?

from clusterfuzzlite.

jonathanmetzman avatar jonathanmetzman commented on April 30, 2024

Should we reopen this and close google/oss-fuzz#6984 instead?

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

Should we reopen this and close google/oss-fuzz#6984 instead?

I thought I was doing exactly that :-) Looks like I lost track of all the issues I've opened :-)

Another feature that I think would be useful if CFLite could show backtraces of the last builds as well. I've just discovered an issue that I haven't seen before but

2021-12-08 23:31:17,581 - root - INFO - Fuzzer: fuzz-dwfl-core. Detected bug.
2021-12-08 23:31:17,582 - root - INFO - Trying to reproduce crash using: /tmp/tmp7n4idjys/oom-e7fed1fe8da16c1482845db8b8d1fac479a425b5.
2021-12-08 23:31:18,452 - root - INFO - Reproduce command returned: 71. Reproducible on /github/workspace/build-out/fuzz-dwfl-core.
2021-12-08 23:31:18,452 - root - INFO - Crash is reproducible.
2021-12-08 23:31:18,462 - root - INFO - Trying to downloading previous build 51106acb0d7f01845ebab85a3ce4e8b46ae95ab5.
2021-12-08 23:31:20,151 - root - INFO - Done downloading previous build.
2021-12-08 23:31:20,152 - root - INFO - Trying to reproduce crash using: /tmp/tmp7n4idjys/oom-e7fed1fe8da16c1482845db8b8d1fac479a425b5.
2021-12-08 23:31:20,982 - root - INFO - Reproduce command returned: 71. Reproducible on /github/workspace/cifuzz-prev-build/fuzz-dwfl-core

so I have a patch and a new backtrace and to figure out what is going there it seems I have to build and run the fuzz target locally to get the file triggering it, then I have to revert that patch and build the fuzz target once again to pass the testcase to it to get the backtrace. It wouldn't be necessary if CFLite uploaded files crashing fuzz targets unconditionally and showed "old" backtraces.

from clusterfuzzlite.

jonathanmetzman avatar jonathanmetzman commented on April 30, 2024

Should we reopen this and close google/oss-fuzz#6984 instead?

I thought I was doing exactly that :-) Looks like I lost track of all the issues I've opened :-)

Another feature that I think would be useful if CFLite could show backtraces of the last builds as well. I've just discovered an issue that I haven't seen before but

2021-12-08 23:31:17,581 - root - INFO - Fuzzer: fuzz-dwfl-core. Detected bug.
2021-12-08 23:31:17,582 - root - INFO - Trying to reproduce crash using: /tmp/tmp7n4idjys/oom-e7fed1fe8da16c1482845db8b8d1fac479a425b5.
2021-12-08 23:31:18,452 - root - INFO - Reproduce command returned: 71. Reproducible on /github/workspace/build-out/fuzz-dwfl-core.
2021-12-08 23:31:18,452 - root - INFO - Crash is reproducible.
2021-12-08 23:31:18,462 - root - INFO - Trying to downloading previous build 51106acb0d7f01845ebab85a3ce4e8b46ae95ab5.
2021-12-08 23:31:20,151 - root - INFO - Done downloading previous build.
2021-12-08 23:31:20,152 - root - INFO - Trying to reproduce crash using: /tmp/tmp7n4idjys/oom-e7fed1fe8da16c1482845db8b8d1fac479a425b5.
2021-12-08 23:31:20,982 - root - INFO - Reproduce command returned: 71. Reproducible on /github/workspace/cifuzz-prev-build/fuzz-dwfl-core

so I have a patch and a new backtrace and to figure out what is going there it seems I have to build and run the fuzz target locally to get the file triggering it, then I have to revert that patch and build the fuzz target once again to pass the testcase to it to get the backtrace. It wouldn't be necessary if CFLite uploaded files crashing fuzz targets unconditionally and showed "old" backtraces.

Sorry, I'm having trouble understanding this. We already show the stacktrace of the crash on the newer binary, why do we need to show the crash from the older binary?

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

why do we need to show the crash from the older binary?

Because the backtrace can be different if PRs introduce new bugs on top of old bugs.

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

@jonathanmetzman judging by https://github.com/evverx/elfutils/actions/runs/1574802879, it seems to be working. Thanks!

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

I'm not sure why CFLite is red there though. Those issues are reproducible with the latest build as well so I think CFLite should be green.

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

I'm not sure if it helps but here's what I use in the CFLite workflow:

    env:
      UPLOAD_ALL_CRASHES: 'True'
      REPORT_OOMS: 'False'

My understanding it that UPLOAD_ALL_CRASHES=True combined with REPORT_OOMS=False should prevent PRs from turning red when those OOMs are reproducible with the latest builds.

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

I moved that to evverx/elfutils#53 to avoid interfering with evverx/elfutils#49 (which I'm using to test https://sourceware.org/pipermail/elfutils-devel/2021q4/004520.html)

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

Without UPLOAD_ALL_CRASHES: 'True' it's green there as expected

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

Turned it off for now because without google/oss-fuzz#6997 the fuzzers can't go any further

from clusterfuzzlite.

jonathanmetzman avatar jonathanmetzman commented on April 30, 2024

Landed google/oss-fuzz#6997

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

Looks like those OOMs are gone. Thanks! The fuzz target triggers a timeout though but once https://sourceware.org/pipermail/elfutils-devel/2021q4/004463.html is merged it should disappear as well.

from clusterfuzzlite.

evverx avatar evverx commented on April 30, 2024

With that patch backported the fuzz target can run for 10 minutes on CFLite so it's probably safe to say that it's prepared for the next round of patches. It would be great if PRs crashing the latest builds didn't turn red with UPLOAD_ALL_CRASHES=True and it was possible to show old backtraces though.

from clusterfuzzlite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.