Skip to content

CIFuzz having trouble with java coverage #6913

@DavidKorczynski

Description

@DavidKorczynski

Integrating CIFuzz into a jvm project jhy/jsoup#1676 results in the following issue:

...
2021-11-26T21:12:22.7302723Z + javac -cp /github/workspace/build-out/jsoup.jar::/usr/local/lib/jazzer_api_deploy.jar /src/XmlFuzzer.java
2021-11-26T21:12:23.2678502Z + cp /src/XmlFuzzer.class /github/workspace/build-out/
2021-11-26T21:12:23.2697966Z + echo '#!/bin/sh
2021-11-26T21:12:23.2698652Z # LLVMFuzzerTestOneInput for fuzzer detection.
2021-11-26T21:12:23.2699230Z this_dir=$(dirname "$0")
2021-11-26T21:12:23.2701166Z LD_LIBRARY_PATH="/usr/lib/jvm/java-15-openjdk-amd64/lib/server":$this_dir $this_dir/jazzer_driver --agent_path=$this_dir/jazzer_agent_deploy.jar --cp=$this_dir/jsoup.jar::$this_dir --target_class=XmlFuzzer --jvm_args="-Xmx2048m" $@'
2021-11-26T21:12:23.2705682Z + chmod u+x /github/workspace/build-out/XmlFuzzer
2021-11-26T21:12:23.5295324Z 2021-11-26 21:12:23,525 - root - INFO - Removing unaffected fuzz targets.
2021-11-26T21:12:23.7984758Z 2021-11-26 21:12:23,796 - root - DEBUG - Diffing against base_ref: master.
2021-11-26T21:12:23.7985501Z 2021-11-26 21:12:23,797 - root - INFO - Diffing against master.
2021-11-26T21:12:23.8010160Z 2021-11-26 21:12:23,800 - root - INFO - Files changed in PR: ['.github/workflows/cifuzz.yml']
2021-11-26T21:12:23.8084798Z 2021-11-26 21:12:23,808 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): storage.googleapis.com:443
2021-11-26T21:12:23.9793740Z 2021-11-26 21:12:23,978 - urllib3.connectionpool - DEBUG - https://storage.googleapis.com:443 "GET /oss-fuzz-coverage/latest_report_info/jsoup.json HTTP/1.1" 200 303
2021-11-26T21:12:23.9822309Z 2021-11-26 21:12:23,981 - urllib3.connectionpool - DEBUG - Starting new HTTPS connection (1): storage.googleapis.com:443
2021-11-26T21:12:24.3384327Z 2021-11-26 21:12:24,337 - urllib3.connectionpool - DEBUG - https://storage.googleapis.com:443 "GET /oss-fuzz-coverage/jsoup/fuzzer_stats/20211126/HtmlFuzzer.json HTTP/1.1" 200 582
2021-11-26T21:12:24.3401521Z Traceback (most recent call last):
2021-11-26T21:12:24.3402722Z   File "/opt/oss-fuzz/infra/cifuzz/build_fuzzers_entrypoint.py", line 60, in <module>
2021-11-26T21:12:24.3409868Z     sys.exit(main())
2021-11-26T21:12:24.3410949Z   File "/opt/oss-fuzz/infra/cifuzz/build_fuzzers_entrypoint.py", line 56, in main
2021-11-26T21:12:24.3411978Z     return build_fuzzers_entrypoint()
2021-11-26T21:12:24.3413170Z   File "/opt/oss-fuzz/infra/cifuzz/build_fuzzers_entrypoint.py", line 39, in build_fuzzers_entrypoint
2021-11-26T21:12:24.3414036Z     if not build_fuzzers.build_fuzzers(config):
2021-11-26T21:12:24.3415001Z   File "/opt/oss-fuzz/infra/cifuzz/build_fuzzers.py", line 171, in build_fuzzers
2021-11-26T21:12:24.3415700Z     return builder.build()
2021-11-26T21:12:24.3416675Z   File "/opt/oss-fuzz/infra/cifuzz/build_fuzzers.py", line 134, in build
2021-11-26T21:12:24.3417289Z     if not method():
2021-11-26T21:12:24.3418220Z   File "/opt/oss-fuzz/infra/cifuzz/build_fuzzers.py", line 147, in remove_unaffected_fuzz_targets
2021-11-26T21:12:24.3419146Z     affected_fuzz_targets.remove_unaffected_fuzz_targets(
2021-11-26T21:12:24.3420316Z   File "/opt/oss-fuzz/infra/cifuzz/affected_fuzz_targets.py", line 58, in remove_unaffected_fuzz_targets
2021-11-26T21:12:24.3421338Z     affected_fuzz_targets = get_affected_fuzz_targets(coverage, fuzz_target_paths,
2021-11-26T21:12:24.3422545Z   File "/opt/oss-fuzz/infra/cifuzz/affected_fuzz_targets.py", line 107, in get_affected_fuzz_targets
2021-11-26T21:12:24.3423481Z     if is_fuzz_target_affected(coverage, fuzz_target_path, files_changed):
2021-11-26T21:12:24.3424618Z   File "/opt/oss-fuzz/infra/cifuzz/affected_fuzz_targets.py", line 82, in is_fuzz_target_affected
2021-11-26T21:12:24.3425553Z     covered_files = coverage.get_files_covered_by_target(fuzz_target)
2021-11-26T21:12:24.3426651Z   File "/opt/oss-fuzz/infra/cifuzz/get_coverage.py", line 62, in get_files_covered_by_target
2021-11-26T21:12:24.3427687Z     norm_file_path = os.path.normpath(file_cov['filename'])
2021-11-26T21:12:24.3428599Z   File "/usr/lib/python3.8/posixpath.py", line 336, in normpath
2021-11-26T21:12:24.3429245Z     path = os.fspath(path)
2021-11-26T21:12:24.3429904Z TypeError: expected str, bytes or os.PathLike object, not list
2021-11-26T21:12:24.5014730Z Cleaning up orphan processes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions