diff options
| author | Mark Johnston <markjdb@gmail.com> | 2019-03-19 11:57:43 -0400 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2019-03-19 18:45:18 +0100 |
| commit | 2458c1c6c2935db73abd6307d4f12126bef9efb5 (patch) | |
| tree | 16a5f69e15f0621b3538d3cda0518b348c175b0d /pkg/report/testdata | |
| parent | 3f1c29d938900aa03cb6233aa857049a9841b7c2 (diff) | |
pkg/report: fix matching for traps in kernel mode
We already have a pattern to match "Fatal trap N: ..." panics, but the
format of our backtraces has changed since it was added. Add another
pattern which correctly matches a few instances generated by syzbot.
Diffstat (limited to 'pkg/report/testdata')
| -rw-r--r-- | pkg/report/testdata/freebsd/report/5 | 39 | ||||
| -rw-r--r-- | pkg/report/testdata/freebsd/report/6 | 35 | ||||
| -rw-r--r-- | pkg/report/testdata/freebsd/report/7 | 37 | ||||
| -rw-r--r-- | pkg/report/testdata/freebsd/report/8 | 37 |
4 files changed, 148 insertions, 0 deletions
diff --git a/pkg/report/testdata/freebsd/report/5 b/pkg/report/testdata/freebsd/report/5 new file mode 100644 index 000000000..dcb9f7e6e --- /dev/null +++ b/pkg/report/testdata/freebsd/report/5 @@ -0,0 +1,39 @@ +TITLE: Fatal trap 9: general protection fault in unp_dispose + +Fatal trap 9: general protection fault while in kernel mode +cpuid = 0; apic id = 00 +instruction pointer = 0x20:0xffffffff81163cf5 +stack pointer = 0x28:0xfffffe001fa0e610 +frame pointer = 0x28:0xfffffe001fa0e650 +code segment = base 0x0, limit 0xfffff, type 0x1b + = DPL 0, pres 1, long 1, def32 0, gran 1 +processor eflags = interrupt enabled, resume, IOPL = 0 +current process = 907 (syz-executor9083768) +trap number = 9 +panic: general protection fault +cpuid = 0 +time = 1552881695 +KDB: stack backtrace: +db_trace_self_wrapper() at db_trace_self_wrapper+0x47/frame 0xfffffe001fa0e2e0 +vpanic() at vpanic+0x1e0/frame 0xfffffe001fa0e340 +panic() at panic+0x43/frame 0xfffffe001fa0e3a0 +trap_fatal() at trap_fatal+0x4c6/frame 0xfffffe001fa0e420 +trap() at trap+0xba/frame 0xfffffe001fa0e540 +calltrap() at calltrap+0x8/frame 0xfffffe001fa0e540 +--- trap 0x9, rip = 0xffffffff81163cf5, rsp = 0xfffffe001fa0e610, rbp = 0xfffffe001fa0e650 --- +unp_dispose() at unp_dispose+0xa5/frame 0xfffffe001fa0e650 +sofree() at sofree+0x42c/frame 0xfffffe001fa0e6b0 +soclose() at soclose+0x5b3/frame 0xfffffe001fa0e730 +_fdrop() at _fdrop+0x3a/frame 0xfffffe001fa0e760 +closef() at closef+0x27d/frame 0xfffffe001fa0e7f0 +fdescfree_fds() at fdescfree_fds+0xbd/frame 0xfffffe001fa0e840 +fdescfree() at fdescfree+0x58a/frame 0xfffffe001fa0e900 +exit1() at exit1+0x780/frame 0xfffffe001fa0e970 +sys_sys_exit() at sys_sys_exit+0xd/frame 0xfffffe001fa0e980 +amd64_syscall() at amd64_syscall+0x436/frame 0xfffffe001fa0eab0 +fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe001fa0eab0 +--- syscall (1, FreeBSD ELF64, sys_sys_exit), rip = 0x447a0a, rsp = 0x7fffffffea68, rbp = 0x7fffffffea80 --- +KDB: enter: panic +[ thread pid 907 tid 100096 ] +Stopped at kdb_enter+0x6a: movq $0,kdb_why +db> diff --git a/pkg/report/testdata/freebsd/report/6 b/pkg/report/testdata/freebsd/report/6 new file mode 100644 index 000000000..3f7093f78 --- /dev/null +++ b/pkg/report/testdata/freebsd/report/6 @@ -0,0 +1,35 @@ +TITLE: Fatal trap 9: general protection fault in sctp_inpcb_bind + +Fatal trap 9: general protection fault while in kernel mode +cpuid = 0; apic id = 00 +instruction pointer = 0x20:0xffffffff813441d5 +stack pointer = 0x28:0xfffffe001fa6d770 +frame pointer = 0x28:0xfffffe001fa6d820 +code segment = base 0x0, limit 0xfffff, type 0x1b + = DPL 0, pres 1, long 1, def32 0, gran 1 +processor eflags = interrupt enabled, resume, IOPL = 0 +current process = 79848 (syz-executor.0) +trap number = 9 +panic: general protection fault +cpuid = 0 +time = 17 +KDB: stack backtrace: +db_trace_self_wrapper() at db_trace_self_wrapper+0x47/frame 0xfffffe001fa6d440 +vpanic() at vpanic+0x1e0/frame 0xfffffe001fa6d4a0 +panic() at panic+0x43/frame 0xfffffe001fa6d500 +trap_fatal() at trap_fatal+0x4c6/frame 0xfffffe001fa6d580 +trap() at trap+0xba/frame 0xfffffe001fa6d6a0 +calltrap() at calltrap+0x8/frame 0xfffffe001fa6d6a0 +--- trap 0x9, rip = 0xffffffff813441d5, rsp = 0xfffffe001fa6d770, rbp = 0xfffffe001fa6d820 --- +sctp_inpcb_bind() at sctp_inpcb_bind+0x3f5/frame 0xfffffe001fa6d820 +sctp_connect() at sctp_connect+0x266/frame 0xfffffe001fa6d880 +soconnectat() at soconnectat+0x183/frame 0xfffffe001fa6d8e0 +kern_connectat() at kern_connectat+0x1ff/frame 0xfffffe001fa6d940 +sys_connect() at sys_connect+0xd9/frame 0xfffffe001fa6d980 +amd64_syscall() at amd64_syscall+0x436/frame 0xfffffe001fa6dab0 +fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe001fa6dab0 +--- syscall (198, FreeBSD ELF64, nosys), rip = 0x412e5a, rsp = 0x7fffdfffdf38, rbp = 0x3 --- +KDB: enter: panic +[ thread pid 79848 tid 101052 ] +Stopped at kdb_enter+0x6a: movq $0,kdb_why +db> diff --git a/pkg/report/testdata/freebsd/report/7 b/pkg/report/testdata/freebsd/report/7 new file mode 100644 index 000000000..9c3ece63c --- /dev/null +++ b/pkg/report/testdata/freebsd/report/7 @@ -0,0 +1,37 @@ +TITLE: Fatal trap 12: page fault in vm_page_unhold_pages + +Fatal trap 12: page fault while in kernel mode +cpuid = 0; apic id = 00 +fault virtual address = 0x30 +fault code = supervisor read data , page not present +instruction pointer = 0x20:0xffffffff8156d61a +stack pointer = 0x28:0xfffffe001facc7a0 +frame pointer = 0x28:0xfffffe001facc7e0 +code segment = base 0x0, limit 0xfffff, type 0x1b + = DPL 0, pres 1, long 1, def32 0, gran 1 +processor eflags = interrupt enabled, resume, IOPL = 0 +current process = 2213 (syz-executor.0) +trap number = 12 +panic: page fault +cpuid = 0 +time = 4 +KDB: stack backtrace: +db_trace_self_wrapper() at db_trace_self_wrapper+0x47/frame 0xfffffe001facc400 +vpanic() at vpanic+0x1e0/frame 0xfffffe001facc460 +panic() at panic+0x43/frame 0xfffffe001facc4c0 +trap_fatal() at trap_fatal+0x4c6/frame 0xfffffe001facc540 +trap_pfault() at trap_pfault+0x9f/frame 0xfffffe001facc5b0 +trap() at trap+0x44d/frame 0xfffffe001facc6d0 +calltrap() at calltrap+0x8/frame 0xfffffe001facc6d0 +--- trap 0xc, rip = 0xffffffff8156d61a, rsp = 0xfffffe001facc7a0, rbp = 0xfffffe001facc7e0 --- +vm_page_unhold_pages() at vm_page_unhold_pages+0x5a/frame 0xfffffe001facc7e0 +pipe_write() at pipe_write+0x16d8/frame 0xfffffe001facc8b0 +dofilewrite() at dofilewrite+0xfd/frame 0xfffffe001facc910 +kern_writev() at kern_writev+0x66/frame 0xfffffe001facc950 +sys_writev() at sys_writev+0x50/frame 0xfffffe001facc980 +amd64_syscall() at amd64_syscall+0x436/frame 0xfffffe001faccab0 +fast_syscall_common() at fast_syscall_common+0x101/frame 0xfffffe001faccab0 +--- syscall (198, FreeBSD ELF64, nosys), rip = 0x412e5a, rsp = 0x7fffdfffdf38, rbp = 0x3 --- +KDB: enter: panic +[ thread pid 2213 tid 100330 ] +Stopped at kdb_enter+0x6a: movq $0,kdb_why diff --git a/pkg/report/testdata/freebsd/report/8 b/pkg/report/testdata/freebsd/report/8 new file mode 100644 index 000000000..d8c99cb6e --- /dev/null +++ b/pkg/report/testdata/freebsd/report/8 @@ -0,0 +1,37 @@ +TITLE: Fatal trap 12: page fault in inp_freemoptions + +Fatal trap 12: page fault while in kernel mode +cpuid = 0; apic id = 00 +fault virtual address = 0x18 +fault code = supervisor read data , page not present +instruction pointer = 0x20:0xffffffff812beb87 +stack pointer = 0x28:0xfffffe0016abb8c0 +frame pointer = 0x28:0xfffffe0016abb900 +code segment = base 0x0, limit 0xfffff, type 0x1b + = DPL 0, pres 1, long 1, def32 0, gran 1 +processor eflags = interrupt enabled, resume, IOPL = 0 +current process = 0 (softirq_0) +trap number = 12 +panic: page fault +cpuid = 0 +time = 1552661135 +KDB: stack backtrace: +db_trace_self_wrapper() at db_trace_self_wrapper+0x47/frame 0xfffffe0016abb520 +vpanic() at vpanic+0x1e0/frame 0xfffffe0016abb580 +panic() at panic+0x43/frame 0xfffffe0016abb5e0 +trap_fatal() at trap_fatal+0x4c6/frame 0xfffffe0016abb660 +trap_pfault() at trap_pfault+0x9f/frame 0xfffffe0016abb6d0 +trap() at trap+0x44d/frame 0xfffffe0016abb7f0 +calltrap() at calltrap+0x8/frame 0xfffffe0016abb7f0 +--- trap 0xc, rip = 0xffffffff812beb87, rsp = 0xfffffe0016abb8c0, rbp = 0xfffffe0016abb900 --- +inp_freemoptions() at inp_freemoptions+0x177/frame 0xfffffe0016abb900 +in_pcbfree_deferred() at in_pcbfree_deferred+0x224/frame 0xfffffe0016abb960 +epoch_call_task() at epoch_call_task+0x262/frame 0xfffffe0016abb9c0 +gtaskqueue_run_locked() at gtaskqueue_run_locked+0x13e/frame 0xfffffe0016abba20 +gtaskqueue_thread_loop() at gtaskqueue_thread_loop+0xdd/frame 0xfffffe0016abba60 +fork_exit() at fork_exit+0xb0/frame 0xfffffe0016abbab0 +fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0016abbab0 +--- trap 0, rip = 0, rsp = 0, rbp = 0 --- +KDB: enter: panic +[ thread pid 0 tid 100012 ] +Stopped at kdb_enter+0x6a: movq $0,kdb_why |
