Fix: disable custom hooks during coverage report generation#1044
Fix: disable custom hooks during coverage report generation#1044
Conversation
There was a problem hiding this comment.
Pull request overview
This PR fixes issue #878 where custom hooks are not properly disabled during coverage report generation, causing NoClassDefFoundError when hooked classes are used during coverage dumping and the hook class is no longer loadable.
Changes:
- Enable conditional hooks automatically when custom user hooks are used with coverage reporting
- Disable hooks before generating coverage reports in the shutdown sequence
- Add regression test to verify hooks are disabled during coverage report generation
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/main/java/com/code_intelligence/jazzer/agent/Agent.kt | Automatically enables conditional hooks when user hooks are used with coverage reporting to allow runtime hook disabling |
| src/main/java/com/code_intelligence/jazzer/driver/FuzzTargetRunner.java | Disables hooks before coverage dump/report generation in shutdown sequence |
| src/main/java/com/code_intelligence/jazzer/driver/Opt.java | Updates comment to document that conditional hooks are used during coverage report generation |
| tests/src/test/java/com/example/CoverageWithHooksFuzzer.java | Regression test verifying hooks are disabled during coverage generation |
| tests/src/test/java/com/example/CoverageWithHooksFuzzerHooks.java | Custom hook for regression test that sets system property when called |
| tests/BUILD.bazel | Test configuration for the regression test with custom hook JAR |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
4408889 to
ca199bd
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 6 out of 6 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ca199bd to
cb83b65
Compare
cb83b65 to
b5ba4c1
Compare
|
It's interesting that you can alternatively also "fix" this issue by disabling our Edit: The issue exists only in Jazzer standalone, and not in the JUnit integration code path. |
Fixes #878