From b5323c280fc9dd0ed10db3b4b9e7c44e56c60d07 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 22 Jun 2018 17:38:37 +0200 Subject: pkg/report: add more gvisor formats --- pkg/report/gvisor.go | 20 +++++++++++++++++++- pkg/report/testdata/gvisor/report/10 | 9 +++++++++ pkg/report/testdata/gvisor/report/11 | 9 +++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 pkg/report/testdata/gvisor/report/10 create mode 100644 pkg/report/testdata/gvisor/report/11 (limited to 'pkg') diff --git a/pkg/report/gvisor.go b/pkg/report/gvisor.go index fa1c8476e..f690db285 100644 --- a/pkg/report/gvisor.go +++ b/pkg/report/gvisor.go @@ -59,7 +59,7 @@ func (ctx *gvisor) Parse(output []byte) *Report { return nil } title, corrupted, _ := extractDescription(output[rep.StartPos:], oops, nil) - rep.Title = title + rep.Title = replaceTable(gvisorTitleReplacement, title) rep.Report = ctx.shortenReport(output[rep.StartPos:]) rep.Corrupted = corrupted != "" rep.corruptedReason = corrupted @@ -97,6 +97,13 @@ func (ctx *gvisor) Symbolize(rep *Report) error { return nil } +var gvisorTitleReplacement = []replacement{ + { + regexp.MustCompile(`container ".*"`), + "container NAME", + }, +} + var gvisorOopses = []*oops{ &oops{ []byte("panic:"), @@ -164,6 +171,17 @@ var gvisorOopses = []*oops{ }, []*regexp.Regexp{}, }, + &oops{ + []byte("FATAL ERROR:"), + []oopsFormat{ + { + title: compile("FATAL ERROR:(.*)"), + fmt: "FATAL ERROR:%[1]v", + noStackTrace: true, + }, + }, + []*regexp.Regexp{}, + }, &oops{ []byte("WARNING: DATA RACE"), []oopsFormat{ diff --git a/pkg/report/testdata/gvisor/report/10 b/pkg/report/testdata/gvisor/report/10 new file mode 100644 index 000000000..1850b5d4f --- /dev/null +++ b/pkg/report/testdata/gvisor/report/10 @@ -0,0 +1,9 @@ +TITLE: FATAL ERROR: error running container: err waiting on container NAME: EOF + +request_key(&(0x7f0000005e80)='trusted\x00', &(0x7f0000005ec0)={0x73, 0x79, 0x7a, 0x0}, &(0x7f0000005f00)='(selinuxppp0eth0proc\x00', 0xfffffffffffffff8) +add_key(&(0x7f0000005f40)='dns_resolver\x00', &(0x7f0000005f80)={0x73, 0x79, 0x7a, 0x0}, &(0x7f0000005fc0)="786015083dc3dbe94536578dc260891f45c4b3713a210099", 0x18, 0xffffffffffffffff) + +W0622 11:59:19.138728 18712 x:0] FATAL ERROR: error running container: err waiting on container "syz-8": EOF +error running container: err waiting on container "syz-8": EOF +W0622 11:59:19.138713 19300 x:0] FATAL ERROR: error getting processes for container: error executing in sandbox: EOF +error getting processes for container: error executing in sandbox: EOF diff --git a/pkg/report/testdata/gvisor/report/11 b/pkg/report/testdata/gvisor/report/11 new file mode 100644 index 000000000..dbe8eb1a4 --- /dev/null +++ b/pkg/report/testdata/gvisor/report/11 @@ -0,0 +1,9 @@ +TITLE: FATAL ERROR: error getting processes for container: error executing in sandbox: EOF + +r1 = creat(&(0x7f0000000800)='./file0\x00', 0x80) +accept(r1, &(0x7f0000000b00)=@rc, &(0x7f0000000b80)=0x80) + +W0622 12:13:40.386697 9726 x:0] FATAL ERROR: error getting processes for container: error executing in sandbox: EOF +error getting processes for container: error executing in sandbox: EOF +W0622 12:13:40.386737 9188 x:0] FATAL ERROR: error running container: err waiting on container "ci-gvisor-main-10": EOF +error running container: err waiting on container "ci-gvisor-main-10": EOF -- cgit mrf-deployment