aboutsummaryrefslogtreecommitdiffstats
path: root/pkg
diff options
context:
space:
mode:
authorMark Johnston <markjdb@gmail.com>2019-03-09 16:07:11 -0500
committerDmitry Vyukov <dvyukov@google.com>2019-03-12 14:30:21 +0100
commitf7f70d5a7ed1458364a8d2842c4d773e69cd3564 (patch)
tree3c1f2e721e4abc2c896038a5037b7a70f6850013 /pkg
parentb8de2a60a0290b0a60fe4667aead4b99243da76c (diff)
pkg/report: match panics from locking a destroyed lock
The plain panic message includes an absolute path to the source file where we panicked, which may be too long for a report title.
Diffstat (limited to 'pkg')
-rw-r--r--pkg/report/freebsd.go5
-rw-r--r--pkg/report/testdata/freebsd/report/419
2 files changed, 24 insertions, 0 deletions
diff --git a/pkg/report/freebsd.go b/pkg/report/freebsd.go
index 0eaa08de9..9a2bcea3f 100644
--- a/pkg/report/freebsd.go
+++ b/pkg/report/freebsd.go
@@ -102,6 +102,11 @@ var freebsdOopses = []*oops{
title: compile("panic: ffs_write: type {{ADDR}} [0-9]+ \\([0-9]+,[0-9]+\\)"),
fmt: "panic: ffs_write: type ADDR X (Y,Z)",
},
+ {
+ title: compile("panic: ([a-zA-Z]+[a-zA-Z0-9_]*\\(\\)) of destroyed (mutex|rmlock|rwlock|sx) @ " +
+ "/.*/(sys/.*:[0-9]+)"),
+ fmt: "panic: %[1]v of destroyed %[2]v at %[3]v",
+ },
},
[]*regexp.Regexp{},
},
diff --git a/pkg/report/testdata/freebsd/report/4 b/pkg/report/testdata/freebsd/report/4
new file mode 100644
index 000000000..5e15b4b78
--- /dev/null
+++ b/pkg/report/testdata/freebsd/report/4
@@ -0,0 +1,19 @@
+TITLE: panic: mtx_lock() of destroyed mutex at sys/kern/sys_socket.c:LINE
+
+login: panic: mtx_lock() of destroyed mutex @ /mnt/go/src/github.com/google/syzkaller/bin/managers/freebsd/kernel/sys/kern/sys_socket.c:316
+cpuid = 0
+time = 1552095166
+KDB: stack backtrace:
+db_trace_self_wrapper() at db_trace_self_wrapper+0x47/frame 0xfffffe004b9db650
+vpanic() at vpanic+0x1e0/frame 0xfffffe004b9db6b0
+panic() at panic+0x43/frame 0xfffffe004b9db710
+__mtx_lock_flags() at __mtx_lock_flags+0x1e2/frame 0xfffffe004b9db770
+soo_stat() at soo_stat+0x13b/frame 0xfffffe004b9db7b0
+kern_fstat() at kern_fstat+0xe9/frame 0xfffffe004b9db800
+freebsd11_fstat() at freebsd11_fstat+0x2b/frame 0xfffffe004b9db980
+amd64_syscall() at amd64_syscall+0x436/frame 0xfffffe004b9dbab0
+fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe004b9dbab0
+--- syscall (198, FreeBSD ELF64, nosys), rip = 0x412f5a, rsp = 0x7fffdffdcf38, rbp = 0x2 ---
+KDB: enter: panic
+[ thread pid 820 tid 100190 ]
+Stopped at kdb_enter+0x6a: movq $0,kdb_why