From bab43553a904660266fdcd8fb974c7bdd96b3f58 Mon Sep 17 00:00:00 2001 From: Anton Lindqvist Date: Fri, 15 Mar 2019 08:11:06 +0100 Subject: pkg/report: improve page fault detection on OpenBSD Fixes #1059 --- pkg/report/testdata/openbsd/report/14 | 285 ++++++++++++++++++++++++++++++++++ pkg/report/testdata/openbsd/report/3 | 2 +- 2 files changed, 286 insertions(+), 1 deletion(-) create mode 100644 pkg/report/testdata/openbsd/report/14 (limited to 'pkg/report/testdata') diff --git a/pkg/report/testdata/openbsd/report/14 b/pkg/report/testdata/openbsd/report/14 new file mode 100644 index 000000000..831e632ae --- /dev/null +++ b/pkg/report/testdata/openbsd/report/14 @@ -0,0 +1,285 @@ +TITLE: uvm_fault: rtable_satoplen + +kernel: page fault trap, code=0 +Stopped at rtable_satoplen+0x150: movzbl 0xffffffffffffffff(%r13),%r12d +ddb{1}> +ddb{1}> set $lines = 0 +ddb{1}> set $maxwidth = 0 +ddb{1}> show panic +kernel page fault +uvm_fault(0xffffffff82239270, 0xffff800003fd2002, 0, 1) -> e +rtable_satoplen(21,ffff800003fd1f59) at rtable_satoplen+0x150 +end trace frame: 0xffff800020c2ac10, count: 0 +ddb{1}> trace +rtable_satoplen(21,ffff800003fd1f59) at rtable_satoplen+0x150 +rtable_lookup(0,ffff800003fd1f09,ffff800003fd1f59,ffff800003fd1f11,21) at rtable_lookup+0xfd +rtm_output(ffff800003fd1f00,ffff800020c2ad00,ffff800020c2ad08,21,0) at rtm_output+0x1a7 +route_output(fffffd806420e400,fffffd806f726780,0,0) at route_output+0x79b +route_usrreq(fffffd806f726780,9,fffffd806420e400,0,0,ffff800020b39080) at route_usrreq+0x35d +sosend(fffffd806f726780,0,ffff800020c2afc8,0,0,0) at sosend+0x6eb +sendit(ffff800020b39080,3,ffff800020c2b088,0,ffff800020c2b150) at sendit+0x590 +sys_sendto(ffff800020b39080,ffff800020c2b168,ffff800020c2b150) at sys_sendto+0x92 +syscall(ffff800020c2b200) at syscall+0x5b8 +Xsyscall(6,0,ffffffffffffffd8,0,6,7ef18fab010) at Xsyscall+0x128 +end of kernel +end trace frame: 0x7f149f70c90, count: -10 +ddb{1}> show registers +rdi 0 +rsi 0xaa +rbp 0xffff800020c2ab70 +rbx 0xffffffffffffff5a +rdx 0xffff800003fd1f5d +rcx 0xffff800003fd2003 +rax 0xffff800003fd2003 +r8 0x21 +r9 0x1 +r10 0x4 +r11 0x89c88da4ffc7763b +r12 0 +r13 0xffff800003fd2003 +r14 0xffffffff8221f1f0 mplsdomain +r15 0x4 +rip 0xffffffff817f4cd0 rtable_satoplen+0x150 +cs 0x8 +rflags 0x10287 __ALIGN_SIZE+0xf287 +rsp 0xffff800020c2ab20 +ss 0x10 +rtable_satoplen+0x150: movzbl 0xffffffffffffffff(%r13),%r12d +ddb{1}> show proc +PROC (syz-executor.1) pid=266177 stat=onproc + flags process=0 proc=4000000 + pri=77, usrpri=77, nice=20 + forw=0xffffffffffffffff, list=0xffff800020b392d8,0xffffffff8233d1e8 + process=0xffff800020b8d710 user=0xffff800020c26000, vmspace=0xfffffd807effd000 + estcpu=36, cpticks=1, pctcpu=0.0 + user=0, sys=1, intr=0 +ddb{1}> ps + PID TID PPID UID S FLAGS WAIT COMMAND + 61214 389975 52126 0 2 0 syz-executor.1 +*61214 266177 52126 0 7 0x4000000 syz-executor.1 + 71951 58372 1 0 3 0x100083 ttyin getty + 52126 144204 17086 0 3 0x82 nanosleep syz-executor.1 + 71619 125603 0 0 3 0x14200 bored sosplice + 90111 476648 17086 0 3 0x2 biowait syz-executor.0 + 17086 112857 16985 0 3 0x82 thrsleep syz-fuzzer + 17086 157380 16985 0 3 0x4000082 nanosleep syz-fuzzer + 17086 360089 16985 0 3 0x4000082 thrsleep syz-fuzzer + 17086 426933 16985 0 3 0x4000082 thrsleep syz-fuzzer + 17086 513573 16985 0 3 0x4000082 thrsleep syz-fuzzer + 17086 146340 16985 0 3 0x4000082 thrsleep syz-fuzzer + 17086 466100 16985 0 3 0x4000082 thrsleep syz-fuzzer + 17086 129204 16985 0 3 0x4000082 thrsleep syz-fuzzer + 17086 333808 16985 0 3 0x4000082 thrsleep syz-fuzzer + 17086 297212 16985 0 3 0x4000082 kqread syz-fuzzer + 16985 429407 17352 0 3 0x10008a pause ksh + 17352 221833 41938 0 3 0x92 select sshd + 41938 235908 1 0 3 0x80 select sshd + 36925 483423 10788 74 3 0x100092 bpf pflogd + 10788 404632 1 0 3 0x80 netio pflogd + 49597 463025 52510 73 7 0x100090 syslogd + 52510 459257 1 0 3 0x100082 netio syslogd + 32010 303126 1 77 3 0x100090 poll dhclient + 72495 432951 1 0 3 0x80 poll dhclient + 15073 403496 0 0 2 0x14200 zerothread + 26131 460039 0 0 3 0x14200 aiodoned aiodoned + 51015 355403 0 0 3 0x14200 syncer update + 7832 505109 0 0 3 0x14200 cleaner cleaner + 87452 506642 0 0 3 0x14200 reaper reaper + 39669 331684 0 0 3 0x14200 pgdaemon pagedaemon + 59109 95094 0 0 3 0x14200 bored crynlk + 36851 104720 0 0 3 0x14200 bored crypto + 77240 42057 0 0 3 0x40014200 acpi0 acpi0 + 70345 413261 0 0 3 0x40014200 idle1 + 29366 303049 0 0 3 0x14200 bored softnet + 41695 468435 0 0 3 0x14200 bored systqmp + 32858 281662 0 0 3 0x14200 bored systq + 87799 421556 0 0 3 0x40014200 bored softclock + 97272 32541 0 0 3 0x40014200 idle0 + 40487 262223 0 0 3 0x14200 bored smr + 1 48762 0 0 3 0x82 wait init + 0 0 -1 0 3 0x10200 scheduler swapper +ddb{1}> show all locks +Process 61214 (syz-executor.1) thread 0xffff800020b39080 (266177) +exclusive kernel_lock &kernel_lock r = 1 (0xffffffff823542d8) locked @ /syzkaller/managers/multicore/kernel/sys/arch/amd64/amd64/trap.c:161 +#0 witness_lock+0x594 +#1 solock+0x7e +#2 sosend+0x586 +#3 sendit+0x590 +#4 sys_sendto+0x92 +#5 syscall+0x5b8 +#6 Xsyscall+0x128 +Process 90111 (syz-executor.0) thread 0xffff800020b15520 (476648) +exclusive rrwlock inode r = 0 (0xfffffd8068b192c0) locked @ /syzkaller/managers/multicore/kernel/sys/ufs/ufs/ufs_vnops.c:1547 +#0 witness_lock+0x594 +#1 _rw_enter+0x45d +#2 _rrw_enter+0x60 +#3 VOP_LOCK+0x57 +#4 vn_lock+0x6e +#5 vget+0x1c3 +#6 ufs_ihashget+0x151 +#7 ffs_vget+0x84 +#8 ufs_lookup+0x15d3 +#9 VOP_LOOKUP+0x67 +#10 vfs_lookup+0x556 +#11 namei+0x4b2 +#12 dounlinkat+0xa5 +#13 syscall+0x5b8 +#14 Xsyscall+0x128 +exclusive rrwlock inode r = 0 (0xfffffd8068b19b40) locked @ /syzkaller/managers/multicore/kernel/sys/ufs/ufs/ufs_vnops.c:1547 +#0 witness_lock+0x594 +#1 _rw_enter+0x45d +#2 _rrw_enter+0x60 +#3 VOP_LOCK+0x57 +#4 vn_lock+0x6e +#5 vfs_lookup+0xf5 +#6 namei+0x4b2 +#7 dounlinkat+0xa5 +#8 syscall+0x5b8 +#9 Xsyscall+0x128 +ddb{1}> show malloc + Type InUse MemUse HighUse Limit Requests Type Lim Kern Lim + devbuf 9561 6446K 6464K 78643K 11640 0 0 + pcb 26 9K 11K 78643K 1519 0 0 + rtable 104 4K 4K 78643K 921 0 0 + ifaddr 71 16K 16K 78643K 460 0 0 + counters 39 33K 33K 78643K 39 0 0 + ioctlops 0 0K 4K 78643K 1499 0 0 + iov 0 0K 24K 78643K 467 0 0 + mount 1 1K 1K 78643K 1 0 0 + vnodes 1196 75K 76K 78643K 2832 0 0 + UFS quota 1 32K 32K 78643K 1 0 0 + UFS mount 5 36K 36K 78643K 5 0 0 + shm 2 1K 5K 78643K 53 0 0 + VM map 2 1K 1K 78643K 2 0 0 + sem 12 0K 1K 78643K 530 0 0 + dirhash 12 2K 2K 78643K 12 0 0 + ACPI 1808 196K 290K 78643K 12628 0 0 + file desc 5 13K 25K 78643K 2960 0 0 + sigio 0 0K 0K 78643K 29 0 0 + proc 54 51K 83K 78643K 838 0 0 + subproc 64 65538K 67586K 78643K 112 0 0 + NFS srvsock 1 0K 0K 78643K 1 0 0 + NFS daemon 1 16K 16K 78643K 1 0 0 + ip_moptions 0 0K 0K 78643K 405 0 0 + in_multi 33 2K 2K 78643K 141 0 0 + ether_multi 1 0K 0K 78643K 14 0 0 + mrt 0 0K 0K 78643K 17 0 0 + ISOFS mount 1 32K 32K 78643K 1 0 0 + MSDOSFS mount 1 16K 16K 78643K 1 0 0 + ttys 84 371K 371K 78643K 84 0 0 + exec 0 0K 1K 78643K 467 0 0 + pagedep 1 8K 8K 78643K 1 0 0 + inodedep 1 32K 32K 78643K 1 0 0 + newblk 1 0K 0K 78643K 1 0 0 + VM swap 7 26K 26K 78643K 7 0 0 + UVM amap 96 21K 30K 78643K 10841 0 0 + UVM aobj 130 4K 4K 78643K 146 0 0 + memdesc 1 4K 4K 78643K 1 0 0 + crypto data 1 1K 1K 78643K 1 0 0 + ip6_options 0 0K 0K 78643K 129 0 0 + NDP 16 0K 0K 78643K 123 0 0 + temp 204 2380K 2453K 78643K 11218 0 0 + kqueue 0 0K 0K 78643K 43 0 0 + SYN cache 2 16K 16K 78643K 2 0 0 +ddb{1}> show all pools +Name Size Requests Fail Releases Pgreq Pgrel Npage Hiwat Minpg Maxpg Idle +arp 64 5 0 1 1 0 1 1 0 8 0 +inpcbpl 280 1686 0 1679 1 0 1 1 0 8 0 +plimitpl 152 118 0 110 1 0 1 1 0 8 0 +plcache 128 20 0 0 1 0 1 1 0 8 0 +rtentry 112 62 0 22 2 0 2 2 0 8 0 +syncache 264 4 0 4 1 1 0 1 0 8 0 +tcpqe 32 8 0 8 1 1 0 1 0 8 0 +tcpcb 544 587 0 583 1 0 1 1 0 8 0 +rttmr 72 6 0 6 5 5 0 1 0 8 0 +nd6 48 6 0 2 1 0 1 1 0 8 0 +ppxss 1128 89 0 89 14 13 1 1 0 8 1 +pfosfp 40 846 0 423 5 0 5 5 0 8 0 +pfosfpen 112 1428 0 714 21 0 21 21 0 8 0 +pfstitem 24 50 0 43 1 0 1 1 0 8 0 +pfstkey 112 50 0 43 1 0 1 1 0 8 0 +pfstate 328 50 0 43 2 0 2 2 0 8 0 +pfrule 1360 21 0 16 2 1 1 2 0 8 0 +art_heap8 4096 1 0 0 1 0 1 1 0 8 0 +art_heap4 256 228 0 41 12 0 12 12 0 8 0 +art_table 32 229 0 41 2 0 2 2 0 8 0 +art_node 16 55 0 21 1 0 1 1 0 8 0 +sysvmsgpl 40 21 0 3 1 0 1 1 0 8 0 +semupl 112 2 0 2 1 1 0 1 0 8 0 +semapl 112 528 0 518 1 0 1 1 0 8 0 +shmpl 112 144 0 16 5 1 4 4 0 8 0 +dirhash 1024 17 0 0 3 0 3 3 0 8 0 +dino1pl 128 6952 0 5502 47 0 47 47 0 8 0 +ffsino 272 6952 0 5502 97 0 97 97 0 8 0 +nchpl 144 11536 0 9921 61 0 61 61 0 8 0 +uvmvnodes 72 5926 0 0 108 0 108 108 0 8 0 +vnodes 200 5926 0 0 312 0 312 312 0 8 0 +namei 1024 36068 0 36068 3 2 1 1 0 8 1 +percpumem 16 30 0 0 1 0 1 1 0 8 0 +scsiplug 64 4 0 4 4 4 0 1 0 8 0 +scxspl 192 37314 0 37313 21 20 1 6 0 8 0 +sigapl 432 3156 0 3141 3 1 2 3 0 8 0 +futexpl 56 37115 0 37115 2 1 1 1 0 8 1 +knotepl 112 792 0 765 9 8 1 2 0 8 0 +kqueuepl 104 877 0 875 1 0 1 1 0 8 0 +pipepl 112 2302 0 2283 7 6 1 2 0 8 0 +fdescpl 488 3157 0 3141 4 1 3 3 0 8 0 +filepl 152 20121 0 20021 11 6 5 6 0 8 0 +lockfpl 104 1079 0 1079 6 5 1 1 0 8 1 +lockfspl 32 1412 0 1412 6 5 1 1 0 8 1 +sessionpl 112 22 0 11 1 0 1 1 0 8 0 +pgrppl 48 83 0 72 1 0 1 1 0 8 0 +ucredpl 96 5169 0 5160 1 0 1 1 0 8 0 +zombiepl 144 3141 0 3141 2 1 1 1 0 8 1 +processpl 840 3173 0 3141 4 0 4 4 0 8 0 +procpl 600 10009 0 9967 5 1 4 5 0 8 0 +srpgc 64 12 0 12 6 6 0 1 0 8 0 +sosppl 128 48 0 48 15 14 1 1 0 8 1 +sockpl 384 2975 0 2955 6 3 3 4 0 8 1 +mcl64k 65536 229 0 0 29 16 13 29 0 8 1 +mcl16k 16384 6 0 0 1 0 1 1 0 8 0 +mcl12k 12288 17 0 0 2 0 2 2 0 8 0 +mcl9k 9216 13 0 0 1 0 1 1 0 8 0 +mcl8k 8192 8 0 0 1 0 1 1 0 8 0 +mcl4k 4096 17 0 0 3 0 3 3 0 8 0 +mcl2k2 2112 4 0 0 1 0 1 1 0 8 0 +mcl2k 2048 126 0 0 15 0 15 15 0 8 0 +mtagpl 80 2 0 0 1 0 1 1 0 8 0 +mbufpl 256 392 0 0 17 0 17 17 0 8 0 +bufpl 256 13101 0 6112 438 1 437 438 0 8 0 +anonpl 16 331744 0 322738 151 98 53 54 0 125 11 +amapchunkpl 152 19750 0 19663 30 24 6 11 0 158 0 +amappl16 192 16435 0 15955 149 112 37 37 0 8 12 +amappl15 184 1174 0 1171 1 0 1 1 0 8 0 +amappl14 176 340 0 336 1 0 1 1 0 8 0 +amappl13 168 32 0 29 1 0 1 1 0 8 0 +amappl12 160 6 0 6 1 1 0 1 0 8 0 +amappl11 152 1386 0 1371 1 0 1 1 0 8 0 +amappl10 144 70 0 65 1 0 1 1 0 8 0 +amappl9 136 372 0 369 1 0 1 1 0 8 0 +amappl8 128 176 0 151 1 0 1 1 0 8 0 +amappl7 120 1474 0 1468 1 0 1 1 0 8 0 +amappl6 112 376 0 366 1 0 1 1 0 8 0 +amappl5 104 1327 0 1310 1 0 1 1 0 8 0 +amappl4 96 350 0 323 2 1 1 2 0 8 0 +amappl3 88 242 0 237 1 0 1 1 0 8 0 +amappl2 80 30193 0 30134 2 0 2 2 0 8 0 +amappl1 72 79202 0 78762 25 16 9 19 0 8 0 +amappl 72 10262 0 10227 1 0 1 1 0 75 0 +dma4096 4096 1 0 1 1 1 0 1 0 8 0 +dma256 256 6 0 6 1 1 0 1 0 8 0 +dma64 64 259 0 259 1 1 0 1 0 8 0 +dma32 32 7 0 7 1 1 0 1 0 8 0 +dma16 16 17 0 17 1 1 0 1 0 8 0 +aobjpl 64 145 0 16 3 0 3 3 0 8 0 +uaddrrnd 24 3157 0 3141 1 0 1 1 0 8 0 +uaddrbest 32 2 0 0 1 0 1 1 0 8 0 +uaddr 24 3157 0 3141 1 0 1 1 0 8 0 +vmmpekpl 168 30299 0 30275 2 0 2 2 0 8 0 +vmmpepl 168 344510 0 343012 180 99 81 81 0 357 11 +vmsppl 360 3156 0 3141 2 0 2 2 0 8 0 +pdppl 4096 6322 0 6282 7 1 6 6 0 8 0 +pvpl 32 939267 0 927043 316 179 137 145 0 265 27 +pmappl 224 3156 0 3141 2 1 1 2 0 8 0 +extentpl 40 39 0 25 1 0 1 1 0 8 0 +phpool 112 632 0 23 18 0 18 18 0 8 0 diff --git a/pkg/report/testdata/openbsd/report/3 b/pkg/report/testdata/openbsd/report/3 index ed1b9ffc3..7c55adadc 100644 --- a/pkg/report/testdata/openbsd/report/3 +++ b/pkg/report/testdata/openbsd/report/3 @@ -1,4 +1,4 @@ -TITLE: kernel: page fault trap, code=0 +TITLE: uvm_fault: vn_writechk login: kernel: page fault trap, code=0 -- cgit mrf-deployment