google / google/oss-fuzz

Report contents improvements

Open
#8,921 7 comments 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
12.6k
Forks
2.9k
Avg merge
2d 2h
Merged PRs (30d)
62

Description

Bug reports contain lots of information that is not relevant for me as an end used, and contain little information I need as an end used to act on the bug.

Looking at (which is also email contents I received):
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=51436

> Project: syzkaller

I have only 1 project, so it's always syzkaller for me. + I receive it on the syzkaller mailing list.

> Fuzzing Engine: libFuzzer

Not relevant for me as an end user at all.

> Job Type: libfuzzer_asan_syzkaller

Not relevant for me as an end user at all.

> Platform Id: linux

It's always linux. Not sure if our project is even tested on other OSes. I think not.

> Crash Address:
> Crash State:

Not useful.

> Sanitizer: address (ASAN)

Looks excessive provided there is "Crash Type".

> Crash Revision: https://oss-fuzz.com/revisions?job=libfuzzer_asan_syzkaller&revision=202209150601

The revision is important for me. But this (1) gives me a link with indirection, (2) the link contents contain irrelevant information (Aflplusplus/Centipede revisions).

> Detailed Report: https://oss-fuzz.com/testcase?key=5145981141778432

Such outline page/info is required, but all common info required for end users should be inline in the report, and the "Detailed Report" link should contain uncommon info and better be placed at the bottom, not at the top.

> Issue filed automatically.

The constant trailer is needed, but maybe can be tightened somewhat (since it repeated text that appears in every report).

The useful info in the report for me is only:

> Crash Type: Out-of-memory (exceeds 2560 MB)
> Reproducer Testcase: https://oss-fuzz.com/download?testcase_id=5145981141778432

What's useful for me is and is missing in the report:
(1) crash report is the most useful bit of info
(2) git revision of my project

A useful report for me would look like:

```
Crash Type: Out-of-memory (exceeds 2560 MB)
Revision: b884348d83ed05e7e82aa997c494252ce0f48687
Reproducer: https://oss-fuzz.com/download?testcase_id=5145981141778432
Crash report:

==1770== ERROR: libFuzzer: out-of-memory (used: 2679Mb; limit: 2560Mb)
Live Heap Allocations: 24130426 bytes in 32 chunks; quarantined: 10329 bytes in 23 chunks; 8189 other chunks; total chunks: 8244; showing top 95% (at most 8 unique contexts)
24121112 byte(s) (99%) in 11 allocation(s)
#0 0x52ef96 in __interceptor_malloc /src/llvm-project/compiler-rt/lib/asan/asan_malloc_linux.cpp:69:3
#1 0x4ad997 in operator new(unsigned long) cxa_noexception.cpp:0
#2 0x458342 in main /src/llvm-project/compiler-rt/lib/fuzzer/FuzzerMain.cpp:20:10
#3 0x7f57659db0b2 in __libc_start_main /build/glibc-eX1tMB/glibc-2.31/csu/libc-start.c:308:16
SUMMARY: libFuzzer: out-of-memory

Detailed Report: https://oss-fuzz.com/testcase?key=5145981141778432
```

The github copy of the issue contains no useful information for me (only indirections):
https://github.com/google/syzkaller/issues/3385

Contributor guide

Open the contributing guide

Research direction

Start by comparing the linked OSS-Fuzz report at bugs.chromium.org with the proposed report format and the GitHub copy at google/syzkaller#3385. Determine where the report and email contents are assembled; done means common end-user information, including the crash report and project revision, is inline while uncommon details remain behind a lower, clearly labeled link.

Written by the indexing model from the issue text.

Assessment

Tech stack
linux
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.