From 0fb38ef4961fe05aeb4b2172762b4d2171e5d537 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Fri, 6 Jul 2018 16:35:21 +0200 Subject: [PATCH] pkg/report: detect fuchsia double faults --- pkg/report/fuchsia.go | 3 +++ pkg/report/testdata/fuchsia/report/7 | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 pkg/report/testdata/fuchsia/report/7 diff --git a/pkg/report/fuchsia.go b/pkg/report/fuchsia.go index e5d6d1f9..68d0aa9a 100644 --- a/pkg/report/fuchsia.go +++ b/pkg/report/fuchsia.go @@ -98,6 +98,9 @@ func (ctx *fuchsia) Parse(output []byte) *Report { if bytes.Contains(line, []byte("recursion in interrupt handler")) { rep.Title = "recursion in interrupt handler" } + if bytes.Contains(line, []byte("double fault")) { + rep.Title = "double fault" + } if match := zirconRIP.FindSubmatchIndex(line); match != nil { ctx.processPC(rep, symb, line, match, false, &where) } else if match := zirconBT.FindSubmatchIndex(line); match != nil { diff --git a/pkg/report/testdata/fuchsia/report/7 b/pkg/report/testdata/fuchsia/report/7 new file mode 100644 index 00000000..4941eae0 --- /dev/null +++ b/pkg/report/testdata/fuchsia/report/7 @@ -0,0 +1,22 @@ +TITLE: double fault + +ZIRCON KERNEL PANIC + +UPTIME: 134863ms +BUILDID git-5f588306b2998fea1c021f992444971b1ce92581 + +dso: id=c9e63845b8cc355bb42713bfb8eec04942ec7bcd base=0xffffffff00100000 name=zircon.elf +stopping other cpus +halting cpu 1 +vector 8 +double fault, halting + CS: 0x33 RIP: 0x2c3a222b7a30 EFL: 0x10202 CR2: 0xfffffffffffffff8 + RAX: 0 RBX: 0 RCX: 0 RDX: 0 + RSI: 0 RDI: 0 RBP: 0 RSP: 0 + R8: 0 R9: 0 R10: 0 R11: 0 + R12: 0 R13: 0 R14: 0 R15: 0 +errc: 0 +platform_halt suggested_action 0 reason 9 +Halting... +Halted +entering panic shell loop