Comments (4)
Thanks for the report! We will take a look.
from jazzer.
I tested this on some of Jazzer's own examples and ran into a different exception when trying to instrument java.**
:
Exception: java.lang.ClassCircularityError thrown from the UncaughtExceptionHandler in thread "main"
The error went away when I added java.util.**
to --instrumentation_excludes
. Without patching the JDK to get more logs it's going to be hard to determine the particular classes that cause this circularity. Jazzer's instrumentation engine heavily relies on java.util.**
, so we might not be able to support this use case easily.
What are you ultimately trying to achieve? Since broad instrumentation filters, even when they don't lead to internal crashes, usually hurt the performance of the fuzzer, could you try using a more targeted filter?
from jazzer.
I work in a research group at TU Darmstadt (https://www.stg.tu-darmstadt.de/). We use Jazzer to dynamically record a call graph, which we compare to a static call graph to measure precision and recall. To assess the quality of the dynamic call graph, we would like to understand how well the dynamic call graph covers the complete program, including the JDK.
That said, we now record coverage in a subsequent run without Jazzer. The subsequent run executes the program with inputs from the corpus jazzer created, while Jacoco records coverage and our own JVMTI agent records calls.
So from my side, the issue can be closed. That said, it would have been helpful if Jazzer could list the classes that could not be instrumented, rather than crashing with a non-descriptive error message.
Thanks for investigating this.
from jazzer.
Thanks for providing the context, this is very interesting.
So from my side, the issue can be closed. That said, it would have been helpful if Jazzer could list the classes that could not be instrumented, rather than crashing with a non-descriptive error message.
It generally does this and also includes the exception that is the reason for a class not having been instrumented. However, determining these classes and printing the exceptions requires List
, String
and some other classes from java.util
and java.lang
, so if those fail to be instrumented for some reason, I fear there is no easy way to print the failure from Java.
from jazzer.
Related Issues (20)
- Protobuf format in input files is not user friendly HOT 6
- Unable to generate Crash-hash.java HOT 7
- Using jazzer on junit4 / Android tests HOT 4
- Hook scope is only system jars(rt.jar) HOT 1
- How to make jazzer get coverage of another process? HOT 2
- Question: How to use options like use_value_profile in Junit HOT 5
- Hook is not removed when generating coverage report HOT 3
- Set the -max_len argument in junit HOT 5
- When use the Autofuzz mode to fuzz a library, how handler the dependencies library
- Why can't the cifuzz project be found? HOT 4
- Broken link in README file HOT 3
- how to use jazzer_android HOT 1
- Docker Example project HOT 1
- Bazel + junit Fuzz Tests HOT 2
- Issues in bazel build chain (from OSS-Fuzz) HOT 5
- protobuf 4 incompatiblity? HOT 7
- does jazzer support libprotobuf mutator?
- "__sanitizer_weak_hook_compare_bytes" is defined by jazzer or libfuzzer? HOT 1
- Problem Faced While Running Offline-Instrumented Jar Files: java.lang.NoClassDefFoundError: com/code_intelligence/jazzer/runtime/CoverageMap
- Does "Jazzer Pro" still exist?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from jazzer.