pkg/report: detect fuchsia double faults

This commit is contained in:
Dmitry Vyukov 2018-07-06 16:35:21 +02:00
parent 9636bc933e
commit 0fb38ef496
2 changed files with 25 additions and 0 deletions

View File

@ -98,6 +98,9 @@ func (ctx *fuchsia) Parse(output []byte) *Report {
if bytes.Contains(line, []byte("recursion in interrupt handler")) { if bytes.Contains(line, []byte("recursion in interrupt handler")) {
rep.Title = "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 { if match := zirconRIP.FindSubmatchIndex(line); match != nil {
ctx.processPC(rep, symb, line, match, false, &where) ctx.processPC(rep, symb, line, match, false, &where)
} else if match := zirconBT.FindSubmatchIndex(line); match != nil { } else if match := zirconBT.FindSubmatchIndex(line); match != nil {

22
pkg/report/testdata/fuchsia/report/7 vendored Normal file
View File

@ -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