diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-04-09 14:19:51 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-04-09 14:19:51 +0200 |
| commit | 3fdee3b0057fc61eb4cea14173183877c343f193 (patch) | |
| tree | 2761f3282632bf277a1a2ff00f6746e798fdd27d /pkg/report/linux.go | |
| parent | f13fb4453e351757c8b77c7c0dc0d9d9967a16b8 (diff) | |
pkg/report: improve corrupted report detection
1. If we see should_failslab frames during report parsing,
that's a corrupted report with intermixed frames from
fault injection stack.
2. If we matched report title and this report should contains
a guilty stack frame, but we failed to extract any frame,
consider it as corrupted.
New tests added. Also one of the old tests is fixed.
Diffstat (limited to 'pkg/report/linux.go')
| -rw-r--r-- | pkg/report/linux.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/pkg/report/linux.go b/pkg/report/linux.go index 5b3404d19..6d018e1af 100644 --- a/pkg/report/linux.go +++ b/pkg/report/linux.go @@ -579,6 +579,10 @@ var linuxStackParams = &stackParams{ "list_move", "list_splice", }, + corruptedLines: []*regexp.Regexp{ + // Fault injection stacks are frequently intermixed with crash reports. + compile(`^ should_failslab\+0x`), + }, } func warningStackFmt(skip ...string) *stackFmt { |
