aboutsummaryrefslogtreecommitdiffstats
path: root/pkg/report/fuchsia.go
Commit message (Collapse)AuthorAgeFilesLines
* pkg/report: fix fuchsia ParseTaras Madan2026-01-091-3/+10
| | | | | rep.Output and rep.Report offsets are different because rep.Report is symbolized Fix converts offsets from symbolized version back to the raw version.
* pkg/report: factor out type definitionsTaras Madan2025-06-271-8/+0
|
* pkg: use kernelDir instead of 3 parametersTaras Madan2025-03-271-2/+2
| | | | It allows to reduce parameters count for some functions.
* pkg/symbolizer: introduce Symbolizer interfaceTaras Madan2025-03-071-2/+2
| | | | To simplify interface Read*Symbols were moved out from symbolizer.Symbolizer.
* executor: add runner modeDmitry Vyukov2024-06-241-1/+1
| | | | | | | Move all syz-fuzzer logic into syz-executor and remove syz-fuzzer. Also restore syz-runtest functionality in the manager. Update #4917 (sets most signal handlers to SIG_IGN)
* pkg/report: support prettified starnix logsLaura Peskin2024-06-171-5/+6
| | | | | Also updates the title template for starnix kernel panics to use dashboard space a little more efficiently.
* pkg/report: remove unnecessary NewScan() callsAleksandr Nogikh2024-04-151-11/+12
| | | | | These are susceptible to potentially very long lines in the input. Direct splitting by \n is more reliable.
* pkg/report: capture starnix kernel panics caused by rust panicsLaura Peskin2024-03-071-17/+107
| | | | | | | | | | Forms a reasonable title for reports of starnix crashes caused by rust panics in the starnix kernel, and takes a first pass at capturing function / pointer details from the backtrace while discarding most of the unrelated log lines. Also splits the fuchsia reporter data inputs into two parts, one for zircon and one for starnix.
* pkg/report: gather Go runtime bugs under one bugFlorent Revest2023-07-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | When a "fatal error:" bug is reported, this usually means that syzkaller itself had a memory corruption (except in the gVisor fuzzing case where this could be an actual bug in gVisor) Most likely, this is due to a kernel that went wild and corrupted the syzkaller address space, but in that case the exact details of what part of the runtime failed are rarely relevant. This gathers all these go runtime errors under one umbrella so they are easier to track. Except for gVisor on which the logic is kept the same as existing. Add three test cases to the linux reporting: - 705 (equivalent to the current all/report/7) to make sure Go OOO are suppressed (they have a different title now but still get suppressed) - 706 (equivalent to the current all/report/8) to make sure that ALSA "fatal errors" are not handled as Go fatal errors - 707 (new) to make sure that reports like https://syzkaller.appspot.com/bug?extid=3f00d7083c52713ba3b0 are re-named to "go runtime error"
* pkg/report: move report.Type to pkg/report/crashAleksandr Nogikh2023-07-051-6/+7
| | | | | This will help avoid a circular dependency pkg/vcs -> pkg/report -> pkg/vcs.
* pkg/report: extract more report types for LinuxAleksandr Nogikh2023-07-051-1/+7
| | | | Amend oops and oopsFormat to contain report type.
* pkg/report: separate reporter wrapper from OS-specific implementationsAleksandr Nogikh2021-08-061-1/+1
| | | | | | | | | | | | | Currently a number of report post-processing activities are implemented as a decorator over the interface that defines OS-specific implementations. Following exactly the same interface is too restrictive in this case as adding extra parameters to the post-processing forces the developer to adjust all implementations thay may not need these parameters at all. Untie the wrapper from the Reporter interface. Use a package-private reporterImpl interface for the OS-specific implementations, while having an exported Reporter structure. Make sure that Reporter is stored and passed as a pointer.
* all: fix comments formatDmitry Vyukov2020-07-121-1/+1
| | | | | | | Fix capitalization, dots at the end and two spaces after a period. Update #1876
* tools/syz-linter: fix comments checkDmitry Vyukov2020-07-101-2/+2
| | | | | | | Turns out ast.Inspect does not visit most comments. Walk file.Comments manually. Update #1876
* pkg: support compiler triple for 'nm' and 'addr2line'Alexander Egorenkov2020-06-181-1/+1
| | | | In preparation to support big-endian architectures.
* pkg/report: detect syzkaller panics in lost connection bugsDmitry Vyukov2019-11-061-15/+2
| | | | | | | | | Some syzkaller panics happen due to memory corruptions, but it still would be useful at least to get some visibility into these crashes. On some OSes we actualy already detect them as they have "panic:" oops pattern, but not e.g. on linux. Fixes #318
* pkg/report: refactor argument passingDmitry Vyukov2019-07-231-8/+6
| | | | | | We now pass 5 arguments through a bunch of functions, this is quite inconvinient when the set of arguments changes. Incapsulate all arguments in a struct and pass/store it as a whole.
* pkg/cover: fix prefix computationSiddharth M2019-07-171-1/+1
| | | | | | | | | | | | | | | | | | * pkg/cover: Modify parsing logic 1. Remove prefix computation 2. Add a mgrconfig for kernel build directory * pkg/report: shorten reports with kernelBuildSrc instead of kernelSrc * pkg/report: Fix failing tests * pkg/report: fix formating issues * tools/syz-cover: Fix unintended redefinition * make changes to fix failing ci build * pkg/report: fix issues
* pkg/report: add Type/Frame to ReportDmitry Vyukov2019-05-201-1/+1
| | | | | | In several places we do special handling for some crash types. Currently we compare report title with magic strings, which is error-prone. Add explicit Type to reports.
* pkg/report: fix Start/EndPos calculation for fuchsiaDmitry Vyukov2018-12-201-3/+3
| | | | | | We computed Start/EndPos after trimming line prefix, this resulted in offsetted values which are not correct. Fix that. Add more tests and checks for Start/EndPos.
* pkg/instance: make kernel reboot detection portableDmitry Vyukov2018-12-161-1/+1
| | | | The current code is linux specific, generalize it to other OSes.
* pkg/report: pass the target to each OS report constructorAnton Lindqvist2018-12-081-2/+4
| | | | | In order to use the already defined kernel name in sys/targets to reduce duplications.
* pkg/report: detect Go service panics for fuchsiaDmitry Vyukov2018-11-221-0/+13
|
* pkg/report: fix few fuzz bugsDmitry Vyukov2018-09-271-1/+3
| | | | | | | Improve go-fuzz fuzzer function and fix few new bugs it finds: 1. Panic in linux parser (bad). 2. Akaros can report empty rep.Report. 3. Fuchsia can return empty rep.Report.
* pkg/report: refine fuchsia function name regexpDmitry Vyukov2018-09-041-4/+4
| | | | C++ function names can contain '~'.
* pkg/report: refactor and improve fuchsia report parsingDmitry Vyukov2018-08-251-66/+204
| | | | | | | | | Switch to the existing oops-based infrastructure. Extending existing code is nearly impossible. Detect service crashes on fuchsia. Add more tests.
* pkg/report: detect fuchsia double faultsDmitry Vyukov2018-07-061-0/+3
|
* pkg/report: fix lambda demanglingDmitry Vyukov2018-07-051-5/+3
| | | | | | | | demangle package does not minimize lambda symbols properly (does not strip parameters and template paratemeter). Do it manually. See: https://github.com/ianlancetaylor/demangle/issues/5
* pkg/report: fix race on symbolizer in testDmitry Vyukov2018-07-021-1/+6
| | | | Symbolizer is not meant to be invoked with an empty binary.
* pkg/report: suppress fuzzer crashes on fuchsiaDmitry Vyukov2018-06-301-1/+4
|
* pkg/report: better detect hangs on fuchsiaDmitry Vyukov2018-06-301-11/+21
|
* pkg/report: implement fuchsia reporterDmitry Vyukov2018-06-271-18/+127
|
* pkg/report: allow to specify suppressions per OSDmitry Vyukov2018-06-221-7/+2
| | | | | | | | | | | | | Currently all (linux-specific) suppressions are hardcoded in mgrconfig. This is very wrong. Move them to pkg/report and allow to specify per OS. Add gvisor-specific suppressions. This required a bit of refactoring. Introduce mgrconfig.KernelObj finally. Make report.NewReporter and vm.Create accept mgrconfig directly instead of passing it as multiple scattered args. Remove tools/syz-parse and it always did the same as tools/syz-symbolize. Simplify global vars in syz-manager/cover.go. Create reporter eagerly in manager. Use sort.Slice more. Overall -90 lines removed.
* pkg/report: add simplistic fuchsia reporterDmitry Vyukov2018-06-061-0/+56
|
* pkg/report: remove duplicated stub codeDmitry Vyukov2018-05-071-40/+0
| | | | Update #538
* pkg/report: include Maintainers into reportDmitry Vyukov2017-11-291-13/+1
| | | | | | | | | | | | | | | | | | Currently getting a complete report requires a complex, multi-step dance (including getting information that external users are not interested in -- guilty file). Simplify interface down to 2 functions: Parse and Symbolize. Parse does what it did before, Symbolize symbolizes report and fills in maintainers. This simplifies both implementations of Reporter interface and all users of the interface. Potentially we could get this down to 1 function Parse that does everything. However, (1) Symbolize can fail, while Parse cannot, (2) usually we want to ignore (log) Symbolize errors, but otherwise proceed with the report, (3) repro does not need symbolization for all but the last report.
* pkg/report: combine report data into a structDmitry Vyukov2017-11-141-1/+1
| | | | | Parse returns 5 variables now. Later we may want to add crash "priority". Introduce Report struct that holds all report data.
* pkg/report: add corrupted report detectionAndrey Konovalov2017-11-131-1/+1
| | | | | This change makes pkg/report try to detect corrupted reports by using some heuristics.
* pkg/report: support multiple OSesDmitry Vyukov2017-10-181-0/+52
Introduce report.Reporter interface. Add an implementation per-OS. Make users be explicit about OS they are testing.