Hi. It seems I catched some bug in kernel. I use some ugly program which connects to COM-port and tries to do some activity. You can see it's source here http://pastebin.com/kHLy26GD
I start it and try to kill it # ./ct writing bytes 36 [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ff 0 0 0 ff 0 0 0 2 e0 41 df ] read 0 bytes [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ] writing bytes 13 [ 1 80 0 0 4 0 2 17 f0 0 0 0 0 ] read 0 bytes [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ] writing bytes 13 [ 1 80 0 0 4 0 2 17 f0 0 0 0 0 ] read 0 bytes [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ] writing bytes 13 [ 1 80 0 0 4 0 2 17 f0 0 0 0 0 ] read 0 bytes [ 0 0 0 0 0 0 0 0 0 0 0 0 0 ] writing bytes 13 [ 1 80 0 0 4 0 2 17 f0 0 0 0 0 ] ^C ...and here I can't even kill -KILL it. I drop into ddb and gather some information. Then I tried to do "boot sync" and seen panic. I'm a little confused about root of the bug - is it COM-port related issue or "idle" related issue. login: Stopped at Debugger+0x4: popl %ebp ddb> trace Debugger(0,3f8,0,d073c119,b0) at Debugger+0x4 comintr(d155f000) at comintr+0x287 Xrecurse_legacy4() at Xrecurse_legacy4+0xb3 --- interrupt --- apm_cpu_idle(d03d9015,d0a2ee34,d0ae9220,d989b000,d5d3b13c) at apm_cpu_idle+0x8a cpu_idle_cycle(d0ae9220) at cpu_idle_cycle+0xc Bad frame pointer: 0xd0ba0e48 ddb> ps PID PPID PGRP UID S FLAGS WAIT COMMAND 28942 12726 28942 0 3 0x6080 ttyout ct 12726 4622 12726 0 3 0x4080 pause ksh 7904 1 7904 0 3 0x4080 ttyin getty 9697 1 9697 0 3 0x4080 ttyin getty 11903 1 11903 0 3 0x4080 ttyin getty 7081 1 7081 0 3 0x4080 ttyin getty 2033 1 2033 0 3 0x4080 ttyin getty 24882 1 24882 0 3 0x4080 ttyin getty 11773 1 11773 0 3 0x80 select cron 4622 2038 4622 0 3 0x4080 select sshd 11364 1 11364 77 3 0x180 poll dhclient 7987 1 7987 0 3 0x40180 select sendmail 21377 1 10736 0 3 0x80 poll dhclient 12123 31014 10736 0 3 0x80 netio tcpdump 31014 1 10736 76 3 0x4180 bpf tcpdump 18935 1 18935 0 3 0x180 select inetd 2038 1 2038 0 3 0x80 select sshd 2509 12112 12112 74 3 0x180 bpf pflogd 12112 1 12112 0 3 0x80 netio pflogd 25827 10246 10246 73 3 0x180 poll syslogd 10246 1 10246 0 3 0x88 netio syslogd 9966 1 9966 0 3 0x80 mfsidl mount_mfs 14 0 0 0 3 0x100200 aiodoned aiodoned 13 0 0 0 3 0x100200 syncer update 12 0 0 0 3 0x100200 cleaner cleaner 11 0 0 0 3 0x100200 reaper reaper 10 0 0 0 3 0x100200 pgdaemon pagedaemon 9 0 0 0 3 0x100200 bored crypto 8 0 0 0 3 0x100200 pftm pfpurge 7 0 0 0 3 0x100200 usbtsk usbtask 6 0 0 0 3 0x100200 usbatsk usbatsk 5 0 0 0 3 0x100200 apmev apm0 4 0 0 0 3 0x100200 bored syswq * 3 0 0 0 7 0x40100200 idle0 2 0 0 0 3 0x100200 kmalloc kmthread 1 0 1 0 3 0x4080 wait init 0 -1 0 0 3 0x80200 scheduler swapper ddb> show registers ds 0x10 es 0xd0200010 kernel_text+0x10 fs 0x120058 gs 0xd9890010 end+0x8da418c edi 0xd1535a60 end+0xa49bdc esi 0xd155f0ac end+0xa73228 ebp 0xd989ce90 end+0x8db100c ebx 0xf9 edx 0x3f8 ecx 0xd155f000 end+0xa7317c eax 0x1 eip 0xd056bf44 Debugger+0x4 cs 0xd0200050 kernel_text+0x50 eflags 0x202 esp 0xd989ce90 end+0x8db100c ss 0xd9890010 end+0x8da418c Debugger+0x4: popl %ebp ddb> show panic the kernel did not panic ddb> show extents extent `swap0x0000' (0x0 - 0xff45), flags=0 0x0 - 0x0 extent `swapmap' (0x1 - 0x7fffffff), flags=0 0x1 - 0xff46 extent `pcimem' (0x0 - 0xffffffff), flags=0 0x1000 - 0x1fffffff 0xf8000000 - 0xfbffffff 0xfebd9000 - 0xfebdafff 0xfebdb400 - 0xfebdb4ff 0xfebdb800 - 0xfebdb8ff 0xfebdbc00 - 0xfebdbcff 0xfebdc000 - 0xfebfffff 0xff000000 - 0xffffffff extent `pciio' (0x0 - 0xffffffff), flags=0 0x5800 - 0x5817 0xde00 - 0xdeff 0xdf80 - 0xdfff 0xef00 - 0xef0f 0x10000 - 0xffffffff extent `PCI I/O port space' (0x0 - 0xffff), flags=0 0x5800 - 0x5817 0xde00 - 0xdeff 0xdf80 - 0xdfff 0xef00 - 0xef0f extent `PCI I/O memory space' (0x0 - 0xffffffff), flags=0 0xf8000000 - 0xfbffffff 0xfebd9000 - 0xfebdafff 0xfebdb400 - 0xfebdb4ff 0xfebdb800 - 0xfebdb8ff 0xfebdbc00 - 0xfebdbcff 0xfebdc000 - 0xfecfffff 0xfee00000 - 0xfeefffff 0xfffe0000 - 0xffffffff extent `iomem' (0x0 - 0xffffffff), flags=3<NOCOALESCE,FIXED> 0x400 - 0xfff 0x2000 - 0x214b 0x8000 - 0x9efff 0xa0000 - 0xbffff 0xc0000 - 0xc7fff 0xe9400 - 0xe95ff 0xf0000 - 0xfffff 0x100000 - 0x1fffffff 0xfebd9000 - 0xfebd9fff 0xfebda000 - 0xfebdafff 0xfebdb400 - 0xfebdb4ff 0xfebdb800 - 0xfebdb8ff 0xfebdbc00 - 0xfebdbcff extent `ioport' (0x0 - 0xffff), flags=3<NOCOALESCE,FIXED> 0x0 - 0xb 0x40 - 0x43 0x60 - 0x60 0x61 - 0x61 0x64 - 0x64 0x80 - 0x8e 0xc0 - 0xd7 0x1f0 - 0x1f7 0x3c0 - 0x3cf 0x3d0 - 0x3df 0x3e8 - 0x3ef 0x3f6 - 0x3f6 0x3f8 - 0x3ff 0xef00 - 0xef0f ddb> show malloc Type InUse MemUse HighUse Limit Requests Type Lim Kern Lim devbuf 581 399K 399K 39321K 920 0 0 pcb 28 5K 5K 39321K 60 0 0 routetbl 71 4K 4K 39321K 131 0 0 ifaddr 40 11K 11K 39321K 41 0 0 sysctl 2 0K 0K 39321K 2 0 0 ioctlops 0 0K 4K 39321K 1449 0 0 mount 9 4K 4K 39321K 9 0 0 vnodes 1448 90K 90K 39321K 1452 0 0 UFS quota 1 16K 16K 39321K 1 0 0 UFS mount 17 33K 33K 39321K 17 0 0 shm 2 0K 0K 39321K 2 0 0 VM map 2 0K 0K 39321K 2 0 0 sem 2 0K 0K 39321K 2 0 0 dirhash 24 4K 4K 39321K 24 0 0 proc 9 4K 4K 39321K 9 0 0 MFS node 1 0K 0K 39321K 1 0 0 NFS srvsock 1 0K 0K 39321K 1 0 0 NFS daemon 1 0K 0K 39321K 1 0 0 in_multi 24 0K 0K 39321K 25 0 0 ether_multi 4 0K 0K 39321K 5 0 0 ISOFS mount 1 16K 16K 39321K 1 0 0 MSDOSFS mount 1 8K 8K 39321K 1 0 0 ttys 420 308K 308K 39321K 420 0 0 exec 0 0K 1K 39321K 166 0 0 pfkey data 1 0K 0K 39321K 2 0 0 pagedep 1 4K 4K 39321K 1 0 0 inodedep 1 16K 16K 39321K 1 0 0 newblk 1 0K 0K 39321K 1 0 0 VM swap 7 22K 22K 39321K 7 0 0 UVM amap 668 71K 71K 39321K 6269 0 0 UVM aobj 2 1K 1K 39321K 2 0 0 USB 61 13K 13K 39321K 61 0 0 USB device 14 0K 0K 39321K 14 0 0 crypto data 1 1K 1K 39321K 1 0 0 packet tags 0 0K 0K 39321K 1 0 0 NDP 6 0K 0K 39321K 7 0 0 temp 42 5K 12K 39321K 1071 0 0 NTFS hash 1 16K 16K 39321K 1 0 0 ddb> show buf vp 0x4489c0b7 lblkno 0x4c8910fbc1082444 blkno 0x66ffe80b4de80424 dev 0xc7cc24 04 proc 0x53e58955 error -1947185919 flags 1711166203<AGE,NEEDCOMMIT,DELWRI,EINT R,ERROR,INVAL,NOCACHE,PHYS,WRITEINPROG,XXX,DEFERRED,SCANNED> bufsize 0xd231f04d bcount 0x89f45d8b resid 0xc70c2454 sync 0x0 data 0xb70fd08d saveaddr 0xd9ac0fc1 dep 0xb70fc800 iodone 0xfc0000f dirty {off 0x4c70424 end 0x8dc7f624} valid {off 0xb36e8d0 end 0xf66ffe8} ddb> show proc PROC (idle0) pid=3 stat=onproc flags=40100200<SYSTEM,NOZOMBIE,CPUPEG> pri=0, usrpri=86, nice=20 forw=0xffffffff, list=0xd5d3b13c,0xd5d3b3bc process=0xd5d3a080 user=0xd989b000, vmspace=0xd0a2c8c0 estcpu=36, cpticks=9381, pctcpu=0.36, swtime=141 user=0, sys=0, intr=27 ddb> show uvmexp Current UVM status: pagesize=4096 (0x1000), pagemask=0xfff, pageshift=12 126390 VM pages: 2248 active, 1016 inactive, 0 wired, 117288 free min 10% (25) anon, 10% (25) vnode, 5% (12) vtext pages 0 anon, 0 vnode, 0 vtext freemin=4213, free-target=5617, inactive-target=0, wired-max=42130 faults=23841, traps=25320, intrs=34260, ctxswitch=7918 fpuswitch=37 softint=16982, syscalls=86837, swapins=0, swapouts=0, kmapent=15 fault counts: noram=0, noanon=0, pgwait=0, pgrele=0 ok relocks(total)=1948(1948), anget(retries)=13583(0), amapcopy=8121 neighbor anon/obj pg=1207/13403, gets(lock/unlock)=6292/1948 cases: anon=11116, anoncow=2467, obj=5792, prcopy=500, przero=3966 daemon and swap counts: woke=0, revs=0, scans=0, obscans=0, anscans=0 busy=0, freed=0, reactivate=0, deactivate=0 pageouts=0, pending=0, nswget=0 nswapdev=1, nanon=0, nanonneeded=0 nfreeanon=0 swpages=65349, swpginuse=0, swpgonly=0 paging=0 kernel pointers: objs(kern)=0xd0a0af00 ddb> show all callout ticks now: 14179 ticks wheel arg func 1 0/100 0 m_cltick 2 0/101 d09e62a4 pffasttimo 4 0/103 d1538000 vte_tick 21 0/120 d09e634c if_slowtimo 21 0/120 d0a23160 pckbc_poll 21 0/120 0 nd6_timer 21 0/120 d09e7db0 rt_timer_timer 21 0/120 d09e5ff0 schedcpu 22 0/121 d09e628c pfslowtimo 29 0/128 d5b53008 endtsleep 30 0/129 d5d319e4 endtsleep 31 0/130 d5d319e4 realitexpire 66 0/165 d5d3b8a4 endtsleep 421 1/313 d5b534f8 endtsleep 752 1/314 d5d313b8 realitexpire 2764 1/322 d5b53770 endtsleep 16604 1/376 d09e7dd8 arptimer 45821 1/490 0 arc4_reinit 172304 2/514 d5b534f8 realitexpire 345821 2/517 0 nd6_slowtimo 713864 2/523 d5b3d4cc tcp_timer_keep 8632426 2/643 d5d31c5c endtsleep and here is the panic ddb> boot sync syncing disks... splassert: assertwaitok: want -1 have 1 splassert: assertwaitok: want -1 have 1 panic: cpu_switch1 0xd5d3b278 Stopped at Debugger+0x4: popl %ebp RUN AT LEAST 'trace' AND 'ps' AND INCLUDE OUTPUT WHEN REPORTING THIS PANIC! DO NOT EVEN BOTHER REPORTING THIS WITHOUT INCLUDING THAT INFORMATION! ddb> trace Debugger(d08dcd42,d98c8db0,d0200877,d98c8db0,7fffffff) at Debugger+0x4 panic(d0200877,d5d3b278,d5d22000,d5d313b8,7fffffff) at panic+0x5d switch_error1(c0,d08b9e99,d5c447e8,d98c8e34,d98c8e34) at switch_error1+0xb sleep_finish(d98c8e34,1,11,d08d20be,50) at sleep_finish+0x99 tsleep(d5c412fc,11,d08d20be,0,d5c42f0c) at tsleep+0x9d vwaitforio(d5c41290,0,d08d20be,0,d5c41290) at vwaitforio+0x5a ffs_fsync(d98c8ec8,20042,d5d313b8,0,0) at ffs_fsync+0x17f VOP_FSYNC(d5c41290,d5d45000,1,d5d313b8,6) at VOP_FSYNC+0x30 sys_fsync(d5d313b8,d98c8f64,d98c8f84,d98c8fa8,d5d313b8) at sys_fsync+0x7a syscall() at syscall+0x2f0 --- syscall (number 3) --- 0x2: ddb> ps PID PPID PGRP UID S FLAGS WAIT COMMAND 28942 12726 28942 0 3 0x6080 ttyout ct 12726 4622 12726 0 3 0x4080 pause ksh 7904 1 7904 0 3 0x4080 ttyin getty 9697 1 9697 0 3 0x4080 ttyin getty 11903 1 11903 0 3 0x4080 ttyin getty 7081 1 7081 0 3 0x4080 ttyin getty 2033 1 2033 0 3 0x4080 ttyin getty 24882 1 24882 0 3 0x4080 ttyin getty 11773 1 11773 0 3 0x80 select cron 4622 2038 4622 0 3 0x4080 select sshd 11364 1 11364 77 3 0x180 poll dhclient 7987 1 7987 0 3 0x40180 select sendmail 21377 1 10736 0 3 0x80 poll dhclient 21377 1 10736 0 3 0x80 poll dhclient 31014 1 10736 76 3 0x4180 bpf tcpdump 18935 1 18935 0 3 0x180 select inetd 2038 1 2038 0 3 0x80 select sshd 2509 12112 12112 74 3 0x180 bpf pflogd 12112 1 12112 0 3 0x80 netio pflogd *25827 10246 10246 73 3 0x100 ffs_fsync syslogd 10246 1 10246 0 3 0x88 netio syslogd 9966 1 9966 0 3 0x80 mfsidl mount_mfs 14 0 0 0 3 0x100200 aiodoned aiodoned 13 0 0 0 3 0x100200 syncer update 12 0 0 0 3 0x100200 cleaner cleaner 11 0 0 0 3 0x100200 reaper reaper 10 0 0 0 3 0x100200 pgdaemon pagedaemon 9 0 0 0 3 0x100200 bored crypto 8 0 0 0 3 0x100200 pftm pfpurge 7 0 0 0 3 0x100200 usbtsk usbtask 6 0 0 0 3 0x100200 usbatsk usbatsk 5 0 0 0 3 0x100200 apmev apm0 4 0 0 0 3 0x100200 bored syswq 3 0 0 0 2 0x40100200 getblk idle0 2 0 0 0 3 0x100200 kmalloc kmthread 1 0 1 0 3 0x4080 wait init 0 -1 0 0 3 0x80200 scheduler swapper ddb> show registers ds 0x10 es 0xd0200010 kernel_text+0x10 fs 0xd98c0058 end+0x8dd41d4 gs 0xd98c0010 end+0x8dd418c edi 0xd0200877 switch_error1+0xb esi 0x100 ebp 0xd98c8d64 end+0x8ddcee0 ebx 0xd98c8db0 end+0x8ddcf2c edx 0x1 ecx 0xd09c0480 kprintf_mutex eax 0x1 eip 0xd056bf44 Debugger+0x4 cs 0xd98c0008 end+0x8dd4184 eflags 0x212 esp 0xd98c8d64 end+0x8ddcee0 ss 0xd98c0010 end+0x8dd418c Debugger+0x4: popl %ebp ddb> show uvmexp Current UVM status: pagesize=4096 (0x1000), pagemask=0xfff, pageshift=12 126390 VM pages: 2250 active, 1016 inactive, 0 wired, 117221 free min 10% (25) anon, 10% (25) vnode, 5% (12) vtext pages 0 anon, 0 vnode, 0 vtext freemin=4213, free-target=5617, inactive-target=0, wired-max=42130 faults=23843, traps=25323, intrs=34272, ctxswitch=7920 fpuswitch=38 softint=16987, syscalls=86842, swapins=0, swapouts=0, kmapent=15 fault counts: noram=0, noanon=0, pgwait=0, pgrele=0 ok relocks(total)=1948(1948), anget(retries)=13583(0), amapcopy=8121 neighbor anon/obj pg=1207/13403, gets(lock/unlock)=6292/1948 cases: anon=11116, anoncow=2467, obj=5792, prcopy=500, przero=3968 daemon and swap counts: woke=0, revs=0, scans=0, obscans=0, anscans=0 busy=0, freed=0, reactivate=0, deactivate=0 pageouts=0, pending=0, nswget=0 nswapdev=1, nanon=0, nanonneeded=0 nfreeanon=0 swpages=65349, swpginuse=0, swpgonly=0 paging=0 kernel pointers: objs(kern)=0xd0a0af00 ddb> show all callout ticks now: 14185 ticks wheel arg func 1 0/106 0 m_cltick 15 0/120 d09e634c if_slowtimo 15 0/120 d0a23160 pckbc_poll 15 0/120 0 nd6_timer 15 0/120 d09e7db0 rt_timer_timer 15 0/120 d09e5ff0 schedcpu 16 0/121 d09e628c pfslowtimo 16 0/121 d09e62a4 pffasttimo 23 0/128 d5b53008 endtsleep 24 0/129 d5d319e4 endtsleep 25 0/130 d5d319e4 realitexpire 60 0/165 d5d3b8a4 endtsleep 98 0/203 d1538000 vte_tick 415 1/313 d5b534f8 endtsleep 746 1/314 d5d313b8 realitexpire 998 1/315 d15420e4 wdctimeout 2758 1/322 d5b53770 endtsleep 16598 1/376 d09e7dd8 arptimer 45815 1/490 0 arc4_reinit 172298 2/514 d5b534f8 realitexpire 345815 2/517 0 nd6_slowtimo 713858 2/523 d5b3d4cc tcp_timer_keep 8632420 2/643 d5d31c5c endtsleep ddb> show proc PROC (syslogd) pid=25827 stat=sleep flags=100<SUGID> pri=17, usrpri=50, nice=20 forw=0x0, list=0xd5d314f4,0xd5d318b0 process=0xd5d3a3c0 user=0xd98c7000, vmspace=0xd5d37168 estcpu=0, cpticks=1, pctcpu=0.0, swtime=127 user=2, sys=1, intr=0 -- antonvm