GENERIC from Sat Jan 21 01:49:59 2012 +0200, r230394+vm4 475a5ee, vmcore.265 KDB: debugger backends: ddb KDB: current backend: ddb 524288K of memory above 4GB ignored Copyright (c) 1992-2012 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 10.0-CURRENT #0: Sat Jan 21 04:58:08 CET 2012 pho@x4.osted.lan:/var/tmp/deviant2/sys/i386/compile/PHO i386 WARNING: WITNESS option enabled, expect reduced performance. WARNING: DIAGNOSTIC option enabled, expect reduced performance. CPU: AMD Phenom(tm) 9150e Quad-Core Processor (1800.02-MHz 686-class CPU) Origin = "AuthenticAMD" Id = 0x100f23 Family = 10 Model = 2 Stepping = 3 Features=0x178bfbff Features2=0x802009 AMD Features=0xee500800 AMD Features2=0x7ff TSC: P-state invariant real memory = 4294967296 (4096 MB) avail memory = 3531640832 (3368 MB) : Trying to mount root from ufs:/dev/ad4s1a [rw]... WARNING: / was not properly dismounted Setting hostuuid: 00000000-0000-0000-0000-00218515337d. Setting hostid: 0x6b64ac17. Starting ddb. Entropy harvesting: interrupts ethernet point_to_point kickstart. Starting file system checks: /dev/ad4s1a: 10029 files, 890110 used, 122905 free (1193 frags, 15214 blocks, 0.1% fragmentation) /dev/ad4s1f: 20400 files, 869205 used, 143810 free (4810 frags, 17375 blocks, 0.5% fragmentation) /dev/label/tmp: 100694 files, 3681982 used, 114631999 free (1983 frags, 14328752 blocks, 0.0% fragmentation) /dev/ad4s1d: 783313 files, 9237589 used, 916610 free (364170 frags, 69055 blocks, 3.6% fragmentation) /dev/ad4s1e: 153948 files, 10790639 used, 14597878 free (53742 frags, 1818017 blocks, 0.2% fragmentation) Mounting local file systems:. Setting hostname: x4.osted.lan. re0: link state changed to DOWN Starting Network: lo0 re0 fwe0 fwip0. lo0: flags=8049 metric 0 mtu 16384 options=3 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa nd6 options=21 re0: flags=8843 metric 0 mtu 1500 options=209b ether 00:21:85:15:33:7d inet 192.168.1.101 netmask 0xffffff00 broadcast 192.168.1.255 inet6 fe80::221:85ff:fe15:337d%re0 prefixlen 64 tentative scopeid 0x1 nd6 options=29 media: Ethernet autoselect (none) status: no carrier fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb nd6 options=29 ch 1 dma -1 fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 nd6 options=29 Starting devd. Starting Network: usbus0. Starting Network: usbus1. Starting Network: usbus2. Starting Network: usbus3. Starting Network: usbus4. Starting Network: usbus5. Starting Network: fwe0. fwe0: flags=8802 metric 0 mtu 1500 options=8 ether 02:dc:10:62:ad:eb nd6 options=29 ch 1 dma -1 Starting Network: fwip0. fwip0: flags=8802 metric 0 mtu 1500 lladdr 0.dc.10.0.1.62.ad.eb.a.2.ff.fe.0.0.0.0 nd6 options=29 add net default: gateway 192.168.1.1 add net ::ffff:0.0.0.0: gateway ::1 add net ::0.0.0.0: gateway ::1 add net fe80::: gateway ::1 add net ff02::: gateway ::1 re0: link state changed to UP ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/kde4/lib /usr/local/lib /usr/local/lib/compat /usr/local/lib/compat/pkg /usr/local/lib/nss /usr/local/lib/qt4 /usr/local/lib/virtualbox /usr/local/lib/wine a.out ldconfig path: /usr/lib/aout /usr/lib/compat/aout Creating and/or trimming log files. Starting syslogd. No core dumps found. Additional ABI support: linux. Starting rpcbind. NFS access cache time=60 lock order reversal: 1st 0xe191b5e0 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xcad1a600 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:284 KDB: stack backtrace: db_trace_self_wrapper(c0f59ee8,2e687361,38323a63,a34,f270b7e8,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a8616b,c0f5d91d,c1238098,11c,f270b878,...) at kdb_backtrace+0x2a _witness_debugger(c0f5d91d,cad1a600,c0f8d8ba,c7d79678,c0f8d54c,...) at _witness_debugger+0x25 witness_checkorder(cad1a600,9,c0f8d543,11c,0,...) at witness_checkorder+0x86f _sx_xlock(cad1a600,0,c0f8d543,11c,ca7b19f8,...) at _sx_xlock+0x94 ufsdirhash_acquire(e191b580,ca7b19f8,f270b9f4,e23809c0,f270b948,...) at ufsdirhash_acquire+0x48 ufsdirhash_add(ca7b19f8,f270b9f4,9c0,f270b934,f270b938,...) at ufsdirhash_add+0x13 ufs_direnter(ca82edc0,cad3bdc0,f270b9f4,f270bb84,e191bc00,...) at ufs_direnter+0x789 ufs_mkdir(f270bc14,c0fad5a5,0,0,f270bbac,...) at ufs_mkdir+0xa36 VOP_MKDIR_APV(c10a34e0,f270bc14,f270bb84,f270bbac,0,...) at VOP_MKDIR_APV+0xc5 kern_mkdirat(cad32000,ffffff9c,28404020,0,1c0,...) at kern_mkdirat+0x291 kern_mkdir(cad32000,28404020,0,1c0,f270bd1c,...) at kern_mkdir+0x2e sys_mkdir(cad32000,f270bcec,c0fa642a,c0f5e61e,202,...) at sys_mkdir+0x29 syscall(f270bd28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (136, FreeBSD ELF32, sys_mkdir), eip = 0x2817f743, esp = 0xbfbfe8cc, ebp = 0xbfbfed78 --- Clearing /tmp (X related). Starting mountd. NFSv4 is disabled Starting nfsd. Recovering vi editor sessions:. Updating motd:. Starting ntpd. Starting default moused. Expensive timeout(9) function: 0xc088d030(0xc1298260) 0.013545576 s Configuring syscons: keymap blanktime. Starting sshd. Starting cron. Local package initialization: backuplock order reversal: 1st 0xca82ee18 ufs (ufs) @ kern/vfs_subr.c:2167 2nd 0xe191b5e0 bufwait (bufwait) @ ufs/ffs/ffs_vnops.c:260 3rd 0xcad3b5d8 ufs (ufs) @ kern/vfs_subr.c:2167 KDB: stack backtrace: db_trace_self_wrapper(c0f59ee8,3a632e73,a303632,f275f700,c0a9783f,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a8616b,c0f5d936,c1237b08,877,f275f840,...) at kdb_backtrace+0x2a _witness_debugger(c0f5d936,cad3b5d8,c0f4c54c,c7d79610,c0f658bd,...) at _witness_debugger+0x25 witness_checkorder(cad3b5d8,9,c0f658b4,877,0,...) at witness_checkorder+0x86f __lockmgr_args(cad3b5d8,80100,cad3b644,0,0,...) at __lockmgr_args+0x834 ffs_lock(f275f964,e5,ca80225c,80100,cad3b580,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c10a34e0,f275f964,c7d721e0,c10b2560,cad3b580,...) at VOP_LOCK1_APV+0xb5 _vn_lock(cad3b580,80100,c0f658b4,877,4,...) at _vn_lock+0x78 vget(cad3b580,80100,cb070000,50,0,...) at vget+0xbb vfs_hash_get(caac5000,15d5000,80000,cb070000,f275faa8,...) at vfs_hash_get+0xed ffs_vgetf(caac5000,15d5000,80000,f275faa8,1,...) at ffs_vgetf+0x49 softdep_sync_buf(ca82edc0,e191b580,1,106,0,...) at softdep_sync_buf+0x4a3 ffs_syncvnode(ca82edc0,1,cb070000,5d2,0,...) at ffs_syncvnode+0x24c ffs_sync(caac5000,1,f275fbc0,516,c7c30000,...) at ffs_sync+0x26f dounmount(caac5000,8080000,cb070000,498,0,...) at dounmount+0x3f8 sys_unmount(cb070000,f275fcec,c,c,206,...) at sys_unmount+0x421 syscall(f275fd28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, sys_unmount), eip = 0x280e7e0b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- lock order reversal: 1st 0xca885738 ufs (ufs) @ kern/vfs_mount.c:1245 2nd 0xca8021b8 devfs (devfs) @ ufs/ffs/ffs_softdep.c:1834 KDB: stack backtrace: db_trace_self_wrapper(c0f59ee8,38313a63,a3433,c0a9849c,8,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a8616b,c0f5d91d,c1237ae8,72a,f275f9a0,...) at kdb_backtrace+0x2a _witness_debugger(c0f5d91d,ca8021b8,c0f44527,c7d79470,c0f899c6,...) at _witness_debugger+0x25 witness_checkorder(ca8021b8,9,c0f899bd,72a,ca802224,...) at witness_checkorder+0x86f __lockmgr_args(ca8021b8,80400,ca802224,0,0,...) at __lockmgr_args+0x834 vop_stdlock(f275fac0,4,c0f542ab,80400,ca802160,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c1079260,f275fac0,c126b760,c10b2560,ca802160,...) at VOP_LOCK1_APV+0xb5 _vn_lock(ca802160,80400,c0f899bd,72a,caac5000,...) at _vn_lock+0x78 softdep_flushworklist(caac5000,f275fb6c,cb070000,5e0,0,...) at softdep_flushworklist+0x47 ffs_sync(caac5000,1,f275fbc0,516,c7c30000,...) at ffs_sync+0x2fd dounmount(caac5000,8080000,cb070000,498,0,...) at dounmount+0x3f8 sys_unmount(cb070000,f275fcec,c,c,206,...) at sys_unmount+0x421 syscall(f275fd28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, sys_unmount), eip = 0x280e7e0b, esp = 0xbfbfe64c, ebp = 0xbfbfe718 --- ** /dev/label/tmp ** Last Mounted on /tmp ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 100694 files, 3681982 used, 114631999 free (1983 frags, 14328752 blocks, 0.0% fragmentation) ***** FILE SYSTEM IS CLEAN ***** ** /dev/label/tmp ** Last Mounted on /tmp ** Phase 1 - Check Blocks and Sizes ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups 100694 files, 3681982 used, 114631999 free (1983 frags, 14328752 blocks, 0.0% fragmentation) ***** FILE SYSTEM IS CLEAN ***** fsck -y /tmp watchdogd. Starting inetd. Sat Jan 21 05:58:19 CET 2012 FreeBSD/i386 (x4.osted.lan) (console) login: root Password: Jan 21 08:58:29 x4 login: ROOT LOGIN (root) ON console Last login: Fri Jan 6 17:10:18 on console FreeBSD 10.0-CURRENT (PHO) #0: Sat Jan 21 04:58:08 CET 2012 Welcome to FreeBSD! Before seeking technical support, please use the following resources: o Security advisories and updated errata information for all releases are at http://www.FreeBSD.org/releases/ - always consult the ERRATA section for your release first as it's updated frequently. o The Handbook and FAQ documents are at http://www.FreeBSD.org/ and, along with the mailing lists, can be searched by going to http://www.FreeBSD.org/search/. If the doc distribution has been installed, they're also available formatted in /usr/share/doc. If you still have a question or problem, please take the output of `uname -a', along with any relevant error messages, and email it as a question to the questions@FreeBSD.org mailing list. If you are unfamiliar with FreeBSD's directory layout, please refer to the hier(7) manual page. If you are not familiar with manual pages, type `man man'. Edit /etc/motd to change this login announcement. You have new mail. x4# init 1 Stopping inetd. Waiting for PIDS: 2195. Shutting down local packages:. Stopping cron. Waiting for PIDS: 2118. Stopping sshd. Waiting for PIDS: 2096. Stopping watchdogd. Waiting for PIDS: 2163. Stopping moused. Waiting for PIDS: 2036, 2036. Stopping ntpd. Waiting for PIDS: 1958. Stopping nfsd. Waiting for PIDS: 1853 1860. Stopping mountd. Waiting for PIDS: 1843. Stopping rpcbind. Waiting for PIDS: 1744. Stopping devd. Waiting for PIDS: 1510. Writing entropy file:. Terminated . Jan 21 08:58:33 x4 syslogd: exiting on signal 15 Enter full pathname of shell or RETURN for /bin/sh: # cd ~pho/stress2/wip # sh -x ./simple.sh + id -u + [ 0 -ne 0 ] + . ../default.cfg + export RUNDIR=/tmp/stressX + export RUNTIME=2m + export VERBOSE=1 + export LOAD=20 + export INCARNATIONS=20 + export BLASTHOST=192.168.1.3 + export runRUNTIME=3d + export runINCARNATIONS=1 + export runLOAD=100 + export swapINCARNATIONS=40 + export swapLOAD=80 + export syscallKILL=1 + export rwLOAD=70 + export mkdirLOAD=80 + export creatLOAD=80 + export symlinkLOAD=20 + export tcpKILL=1 + export shmINCARNATIONS=5 + export 'TESTPROGS= testcases/rw/rw testcases/swap/swap testcases/creat/creat testcases/mkdir/mkdir testcases/thr1/thr1 testcases/udp/udp testcases/tcp/tcp ' + [ -r default.cfg ] + [ -r default.cfg ] + echo ./simple.sh + grep -q cleanup.sh + echo ./simple.sh + diskimage=/var/tmp/diskimage + mntpoint=/mnt + testuser=stress + mdstart=5 + part=a + hostname + [ -f ./x4.osted.lan ] + hostname + [ -f ../x4.osted.lan ] + hostname + . ../x4.osted.lan + export BLASTHOST=192.168.1.5 + export mkfifoKILL=1 + mount + grep -q /mnt + mdconfig -l + grep -q 5 + mdconfig -a -t swap -s 1g -u 5 + bsdlabel -w md5 auto + newfs -U md5a + mount /dev/md5a /mnt + jot 2 + jot 5 + cp -a /usr/include /mnt/d1 + cp -a /usr/include /mnt/d2 + cp -a /usr/include /mnt/d3 + cp -a /usr/include /mnt/d4 + cp -a /usr/include /mnt/d5 + jot 5 + wait + wait + wait + wait + wait + rm -rf /mnt/d1 /mnt/d2 /mnt/d3 /mnt/d4 /mnt/d5 panic: writemappings cpuid = 2 KDB: enter: panic [ thread pid 3280 tid 100145 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> run pho db:0:pho> bt Tracing pid 3280 tid 100145 td 0xcad312e0 kdb_enter(c0f55e78,c0f55e78,c0f93056,f271790c,2,...) at kdb_enter+0x3a panic(c0f93056,0,c0f92faa,10f,c10a3e08,...) at panic+0x1ad vnode_pager_dealloc(cab331bc,4,c0f923d2,fa) at vnode_pager_dealloc+0xf7 vm_pager_deallocate(cab331bc,0,c0f90db1,2c7,0,...) at vm_pager_deallocate+0x3b vm_object_terminate(cab331bc,0,c0f92faa,9c,c10a3a60,...) at vm_object_terminate+0x208 vnode_destroy_vobject(cb461000,cb461058,c10a3a60,cb461000,cb44b2b8,...) at vnode_destroy_vobject+0x65 ufs_prepare_reclaim(cb461000,f27179e8,c0aeb2af,c10a34e0,cb1c0800,...) at ufs_prepare_reclaim+0x1d ufs_reclaim(f2717a24,c0faccf0,0,cb461000,cad312e0,...) at ufs_reclaim+0x26 VOP_RECLAIM_APV(c10a34e0,f2717a24,0,0,cb4610c4,...) at VOP_RECLAIM_APV+0xc5 vgonel(cb4610c4,0,c0f658b4,a24,0,...) at vgonel+0x1c4 vrecycle(cb461000,cad312e0,8124,1,0,...) at vrecycle+0x5d ufs_inactive(f2717adc,c0facd38,cb4610c4,cb4610c4,cb461000,...) at ufs_inactive+0x390 VOP_INACTIVE_APV(c10a34e0,f2717adc,c0f658b4,978,c10b2520,...) at VOP_INACTIVE_APV+0xc5 vinactive(c10a34e0,f2717b10,c0f658b4,8c6,0,...) at vinactive+0xb1 vputx(f2717c3c,c0af0723,cb461000,ffffffdf,cb461000,...) at vputx+0x33d vput(cb461000,ffffffdf,cb461000,f2717b94,4,...) at vput+0x10 kern_unlinkat(cad312e0,ffffff9c,284731b8,0,0,...) at kern_unlinkat+0x2a3 kern_unlink(cad312e0,284731b8,0,f2717d1c,c0d89657,...) at kern_unlink+0x2f sys_unlink(cad312e0,f2717cec,c0fa642a,c0f87010,246,...) at sys_unlink+0x22 syscall(f2717d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, sys_unlink), eip = 0x2817eb5f, esp = 0xbfbfeb1c, ebp = 0xbfbfeb48 --- db:0:bt> show allpcpu Current CPU: 2 cpuid = 0 dynamic pcpu = 0x772280 curthread = 0xc7dd38a0: pid 11 "idle: cpu0" curpcb = 0xc7b26d80 fpcurthread = none idlethread = 0xc7dd38a0: tid 100003 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x6a63280 curthread = 0xc7dd35c0: pid 11 "idle: cpu1" curpcb = 0xc7b29d80 fpcurthread = none idlethread = 0xc7dd35c0: tid 100004 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x6a66280 curthread = 0xcad312e0: pid 3280 "rm" curpcb = 0xf2717d80 fpcurthread = none idlethread = 0xc7dd32e0: tid 100005 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x6a69280 curthread = 0xc7dd3000: pid 11 "idle: cpu3" curpcb = 0xc7b2fd80 fpcurthread = none idlethread = 0xc7dd3000: tid 100006 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 3280 (rm) thread 0xcad312e0 (100145) exclusive sleep mutex vnode interlock (vnode interlock) r = 0 (0xcb4610c4) locked @ vm/vnode_pager.c:271 exclusive sleep mutex vm object (standard object) r = 0 (0xcab331bc) locked @ vm/vm_object.c:711 exclusive lockmgr ufs (ufs) r = 0 (0xcb461058) locked @ kern/vfs_subr.c:2167 db:0:alllocks> show lockedvnods Locked vnodes 0xcb461000: tag ufs, type VREG usecount 0, writecount 0, refcount 1 mountedhere 0 flags (VV_NOSYNC|VI_DOOMED|VI_DOINGINACT) VI_LOCKed v_object 0xcab331bc ref 0 pages 0 lock type ufs: EXCL by thread 0xcad312e0 (pid 3280) #0 0xc0a3420e at __lockmgr_args+0xc1e #1 0xc0c94f81 at ffs_lock+0xa1 #2 0xc0dac965 at VOP_LOCK1_APV+0xb5 #3 0xc0af9c78 at _vn_lock+0x78 #4 0xc0aec53b at vget+0xbb #5 0xc0adbfbd at vfs_hash_get+0xed #6 0xc0c8e2e9 at ffs_vgetf+0x49 #7 0xc0c8e86e at ffs_vget+0x2e #8 0xc0c9d0a3 at ufs_lookup_ino+0x8a3 #9 0xc0c9d46a at ufs_lookup+0x2a #10 0xc0dac2c5 at VOP_CACHEDLOOKUP_APV+0xc5 #11 0xc0ad5486 at vfs_cache_lookup+0xe6 #12 0xc0dadae5 at VOP_LOOKUP_APV+0xe5 #13 0xc0add41b at lookup+0x6eb #14 0xc0ade43f at namei+0x6bf #15 0xc0af0521 at kern_unlinkat+0xa1 #16 0xc0af079f at kern_unlink+0x2f #17 0xc0af07d2 at sys_unlink+0x22 ino 32792, on dev md5a db:0:lockedvnods> show mount 0xca71db50 /dev/ad4s1a on / (ufs) 0xca71e000 devfs on /dev (devfs) 0xcaac35a8 /dev/ad4s1f on /home (ufs) 0xcaac4b50 /dev/ad4s1d on /usr (ufs) 0xcaac487c /dev/ad4s1e on /var (ufs) 0xcaac45a8 procfs on /proc (procfs) 0xcaac42d4 linprocfs on /usr/compat/linux/proc (linprocfs) 0xcaac4000 /dev/label/tmp on /tmp (ufs) 0xcaac32d4 /dev/md5a on /mnt (ufs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 3280 3256 3256 0 R+ CPU 2 rm 3268 0 0 0 DL mdwait 0xcb41a000 [md5] 3256 3255 3256 0 S+ wait 0xcac23b10 sh 3255 1 3255 0 Ss+ wait 0xcb049588 sh 19 0 0 0 DL sdflush 0xc126b7a0 [softdepflush] 18 0 0 0 DL syncer 0xc12654b4 [syncer] 17 0 0 0 DL vlruwt 0xca689588 [vnlru] 16 0 0 0 DL psleep 0xc1265148 [bufdaemon] 9 0 0 0 DL pgzero 0xc126d65c [pagezero] 8 0 0 0 DL psleep 0xc126d248 [vmdaemon] 7 0 0 0 DL psleep 0xc126d210 [pagedaemon] 6 0 0 0 DL ccb_scan 0xc10b3ad4 [xpt_thrd] 5 0 0 0 DL waiting_ 0xc1266fd8 [sctp_iterator] 4 0 0 0 DL - 0xc9489c3c [fdc0] 3 0 0 0 SL - 0xc9521000 [fw0_probe] 15 0 0 0 DL (threaded) [usb] 100059 D - 0xc94fbd34 [usbus5] 100058 D - 0xc94fbd04 [usbus5] 100057 D - 0xc94fbcd4 [usbus5] 100056 D - 0xc94fbca4 [usbus5] 100054 D - 0xc94edb5c [usbus4] 100053 D - 0xc94edb2c [usbus4] 100052 D - 0xc94edafc [usbus4] 100051 D - 0xc94edacc [usbus4] 100050 D - 0xc94e8b5c [usbus3] 100049 D - 0xc94e8b2c [usbus3] 100048 D - 0xc94e8afc [usbus3] 100047 D - 0xc94e8acc [usbus3] 100046 D - 0xc94e1b5c [usbus2] 100045 D - 0xc94e1b2c [usbus2] 100044 D - 0xc94e1afc [usbus2] 100043 D - 0xc94e1acc [usbus2] 100041 D - 0xc94dab5c [usbus1] 100040 D - 0xc94dab2c [usbus1] 100039 D - 0xc94daafc [usbus1] 100038 D - 0xc94daacc [usbus1] 100036 D - 0xc94cdb5c [usbus0] 100035 D - 0xc94cdb2c [usbus0] 100034 D - 0xc94cdafc [usbus0] 100033 D - 0xc94cdacc [usbus0] 2 0 0 0 DL ctl_work 0xc7fc9000 [ctl_thrd] 14 0 0 0 DL - 0xc10ee0e4 [yarrow] 13 0 0 0 DL (threaded) [geom] 100015 D - 0xc10ebce8 [g_down] 100014 D - 0xc10ebce4 [g_up] 100013 D - 0xc10ebcdc [g_event] 12 0 0 0 WL (threaded) [intr] 100067 I [irq12: psm0] 100066 I [irq1: atkbd0] 100064 I [swi0: uart] 100061 I [irq20: fwohci0] 100060 I [irq14: ata0] 100055 I [irq19: ehci0] 100042 I [irq18: ohci2 ohci4] 100037 I [irq17: ohci1 ohci3] 100032 I [irq16: hdac1 ohci0] 100031 I [irq22: ahci0] 100030 I [irq257: re0] 100029 I [irq256: hdac0] 100027 I [swi5: +] 100026 I [swi2: cambio] 100020 I [swi6: task queue] 100019 I [swi6: Giant taskq] 100012 I [swi1: netisr 0] 100011 I [swi3: vm] 100010 I [swi4: clock] 100009 I [swi4: clock] 100008 I [swi4: clock] 100007 I [swi4: clock] 11 0 0 0 RL (threaded) [idle] 100006 Run CPU 3 [idle: cpu3] 100005 CanRun [idle: cpu2] 100004 Run CPU 1 [idle: cpu1] 100003 Run CPU 0 [idle: cpu0] 1 0 1 0 SLs wait 0xc7dd1b10 [init] 10 0 0 0 DL audit_wo 0xc126aee0 [audit] 0 0 0 0 DLs (threaded) [kernel] 100078 D - 0xc94b9480 [mca taskq] 100068 D - 0xc10ee0e4 [deadlkres] 100062 D - 0xc948f2c0 [fw0_taskq] 100025 D - 0xc7fc49c0 [kqueue taskq] 100024 D - 0xc7fc4a00 [ffs_trim taskq] 100023 D - 0xc7da1880 [acpi_task_2] 100022 D - 0xc7da1880 [acpi_task_1] 100021 D - 0xc7da1880 [acpi_task_0] 100018 D - 0xc7da1780 [thread taskq] 100016 D - 0xc7da1900 [firmware taskq] 100000 D sched 0xc10ebdc0 [swapper] db:0:ps> allt Tracing command rm pid 3280 tid 100145 td 0xcad312e0 kdb_enter(c0f55e78,c0f55e78,c0f93056,f271790c,2,...) at kdb_enter+0x3a panic(c0f93056,0,c0f92faa,10f,c10a3e08,...) at panic+0x1ad vnode_pager_dealloc(cab331bc,4,c0f923d2,fa) at vnode_pager_dealloc+0xf7 vm_pager_deallocate(cab331bc,0,c0f90db1,2c7,0,...) at vm_pager_deallocate+0x3b vm_object_terminate(cab331bc,0,c0f92faa,9c,c10a3a60,...) at vm_object_terminate+0x208 vnode_destroy_vobject(cb461000,cb461058,c10a3a60,cb461000,cb44b2b8,...) at vnode_destroy_vobject+0x65 ufs_prepare_reclaim(cb461000,f27179e8,c0aeb2af,c10a34e0,cb1c0800,...) at ufs_prepare_reclaim+0x1d ufs_reclaim(f2717a24,c0faccf0,0,cb461000,cad312e0,...) at ufs_reclaim+0x26 VOP_RECLAIM_APV(c10a34e0,f2717a24,0,0,cb4610c4,...) at VOP_RECLAIM_APV+0xc5 vgonel(cb4610c4,0,c0f658b4,a24,0,...) at vgonel+0x1c4 vrecycle(cb461000,cad312e0,8124,1,0,...) at vrecycle+0x5d ufs_inactive(f2717adc,c0facd38,cb4610c4,cb4610c4,cb461000,...) at ufs_inactive+0x390 VOP_INACTIVE_APV(c10a34e0,f2717adc,c0f658b4,978,c10b2520,...) at VOP_INACTIVE_APV+0xc5 vinactive(c10a34e0,f2717b10,c0f658b4,8c6,0,...) at vinactive+0xb1 vputx(f2717c3c,c0af0723,cb461000,ffffffdf,cb461000,...) at vputx+0x33d vput(cb461000,ffffffdf,cb461000,f2717b94,4,...) at vput+0x10 kern_unlinkat(cad312e0,ffffff9c,284731b8,0,0,...) at kern_unlinkat+0x2a3 kern_unlink(cad312e0,284731b8,0,f2717d1c,c0d89657,...) at kern_unlink+0x2f sys_unlink(cad312e0,f2717cec,c0fa642a,c0f87010,246,...) at sys_unlink+0x22 syscall(f2717d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (10, FreeBSD ELF32, sys_unlink), eip = 0x2817eb5f, esp = 0xbfbfeb1c, ebp = 0xbfbfeb48 --- Tracing command md5 pid 3268 tid 100123 td 0xcab415c0 sched_switch(cab415c0,0,104,1a3,5810a325,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,5c,...) at mi_switch+0x1f9 sleepq_switch(cab415c0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(cb41a000,5c,c0ef30a2,0,0,...) at sleepq_wait+0x63 _sleep(cb41a000,cb41a020,25c,c0ef30a2,0,...) at _sleep+0x38b md_kthread(cb41a000,f26c9d28,c0f50610,3db,cac212c4,...) at md_kthread+0x11a fork_exit(c075c510,cb41a000,f26c9d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf26c9d60, ebp = 0 --- Tracing command sh pid 3256 tid 100146 td 0xcad31000 sched_switch(cad31000,0,104,1a3,f41d5e69,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,6c,...) at mi_switch+0x1f9 sleepq_switch(cad31000,0,c0f5b860,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f5b860,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(cac23b10,6c,c0f5e777,100,0,...) at sleepq_wait_sig+0x17 _sleep(cac23b10,cac23b98,16c,c0f5e777,0,...) at _sleep+0x374 kern_wait(cad31000,ffffffff,f271ac60,2,0,...) at kern_wait+0x626 sys_wait4(cad31000,f271acec,c0fa642a,c0f5e756,216,...) at sys_wait4+0x3b syscall(f271ad28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x2817645b, esp = 0xbfbfeabc, ebp = 0xbfbfead8 --- Tracing command sh pid 3255 tid 100160 td 0xcb06f2e0 sched_switch(cb06f2e0,0,104,1a3,8c8887b9,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,6c,...) at mi_switch+0x1f9 sleepq_switch(cb06f2e0,0,c0f5b860,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f5b860,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(cb049588,6c,c0f5e777,100,0,...) at sleepq_wait_sig+0x17 _sleep(cb049588,cb049610,16c,c0f5e777,0,...) at _sleep+0x374 kern_wait(cb06f2e0,ffffffff,f276cc60,2,0,...) at kern_wait+0x626 sys_wait4(cb06f2e0,f276ccec,c,c,216,...) at sys_wait4+0x3b syscall(f276cd28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x2817645b, esp = 0xbfbfebec, ebp = 0xbfbfec08 --- Tracing command softdepflush pid 19 tid 100077 td 0xca695b80 sched_switch(ca695b80,0,104,1a3,583402c2,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,54,...) at mi_switch+0x1f9 sleepq_switch(ca695b80,0,c0f5b860,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c126b7a0,54,c0f8befd,0,0,...) at sleepq_timedwait+0x6b _sleep(c126b7a0,c126b760,54,c0f8befd,3e8,...) at _sleep+0x359 softdep_flush(0,ee200d28,c0f50610,3db,ca689000,...) at softdep_flush+0x266 fork_exit(c0c8a4e0,0,ee200d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee200d60, ebp = 0 --- Tracing command syncer pid 18 tid 100076 td 0xc94f48a0 sched_switch(c94f48a0,0,104,1a3,4d903da5,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f48a0,0,c0f5b860,28b,c94f48a0,...) at sleepq_switch+0x162 sleepq_timedwait(c12654b4,0,ee1fdc78,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c12654b4,c12654a0,3e8,78b,4e20,...) at _cv_timedwait+0x270 sched_sync(0,ee1fdd28,c0f50610,3db,ca6892c4,...) at sched_sync+0x595 fork_exit(c0aec880,0,ee1fdd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee1fdd60, ebp = 0 --- Tracing command vnlru pid 17 tid 100075 td 0xc94f4b80 sched_switch(c94f4b80,0,104,1a3,31d79952,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,60,...) at mi_switch+0x1f9 sleepq_switch(c94f4b80,0,c0f5b860,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(ca689588,60,c0f66826,0,0,...) at sleepq_timedwait+0x6b _sleep(ca689588,c1265474,260,c0f66826,3e8,...) at _sleep+0x359 vnlru_proc(0,ee1fad28,c0f50610,3db,ca689588,...) at vnlru_proc+0xe7 fork_exit(c0aed510,0,ee1fad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee1fad60, ebp = 0 --- Tracing command bufdaemon pid 16 tid 100074 td 0xc9615000 sched_switch(c9615000,0,104,1a3,44670796,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,54,...) at mi_switch+0x1f9 sleepq_switch(c9615000,0,c0f5b860,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1265148,54,c0f63771,0,0,...) at sleepq_timedwait+0x6b _sleep(c1265148,c1265150,54,c0f63771,3e8,...) at _sleep+0x359 buf_daemon(0,ee1f7d28,c0f50610,3db,ca68984c,...) at buf_daemon+0x175 fork_exit(c0ad1190,0,ee1f7d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee1f7d60, ebp = 0 --- Tracing command pagezero pid 9 tid 100073 td 0xc96152e0 sched_switch(c96152e0,0,104,1a3,73c9c9ec,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c96152e0,0,c0f5b860,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c126d65c,0,c0f92f56,0,0,...) at sleepq_timedwait+0x6b _sleep(c126d65c,c126c100,0,c0f92f56,493e0,...) at _sleep+0x359 vm_pagezero(0,ee1f4d28,c0f50610,3db,ca689b10,...) at vm_pagezero+0xdc fork_exit(c0cd1a30,0,ee1f4d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee1f4d60, ebp = 0 --- Tracing command vmdaemon pid 8 tid 100072 td 0xc96155c0 sched_switch(c96155c0,0,104,1a3,56f6ec7a,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,74,...) at mi_switch+0x1f9 sleepq_switch(c96155c0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c126d248,74,c0f63771,0,0,...) at sleepq_wait+0x63 _sleep(c126d248,c126d24c,74,c0f63771,0,...) at _sleep+0x38b vm_daemon(0,ee1f1d28,c0f50610,3db,ca68b000,...) at vm_daemon+0x59 fork_exit(c0ccb340,0,ee1f1d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee1f1d60, ebp = 0 --- Tracing command pagedaemon pid 7 tid 100071 td 0xc96158a0 sched_switch(c96158a0,0,104,1a3,5b42dc57,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,54,...) at mi_switch+0x1f9 sleepq_switch(c96158a0,0,c0f5b860,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c126d210,54,c0f63771,0,0,...) at sleepq_timedwait+0x6b _sleep(c126d210,c126c100,54,c0f63771,1388,...) at _sleep+0x359 vm_pageout(0,ee1eed28,c0f50610,3db,c7dd22c4,...) at vm_pageout+0x2c7 fork_exit(c0ccc400,0,ee1eed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee1eed60, ebp = 0 --- Tracing command xpt_thrd pid 6 tid 100070 td 0xc9615b80 sched_switch(c9615b80,0,104,1a3,ca668ddb,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,5c,...) at mi_switch+0x1f9 sleepq_switch(c9615b80,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10b3ad4,5c,c0db1987,0,0,...) at sleepq_wait+0x63 _sleep(c10b3ad4,c10b3b18,5c,c0db1987,0,...) at _sleep+0x38b xpt_scanner_thread(0,ee18bd28,c0f50610,3db,c7dd2588,...) at xpt_scanner_thread+0x47 fork_exit(c0490ae0,0,ee18bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee18bd60, ebp = 0 --- Tracing command sctp_iterator pid 5 tid 100069 td 0xc9616000 sched_switch(c9616000,0,104,1a3,a80f5158,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c9616000,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c1266fd8,0,c0f79dbf,0,0,...) at sleepq_wait+0x63 _sleep(c1266fd8,c1266fa0,0,c0f79dbf,0,...) at _sleep+0x38b sctp_iterator_thread(0,ee188d28,c0f50610,3db,c7dd284c,...) at sctp_iterator_thread+0x5c fork_exit(c0b7ebc0,0,ee188d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee188d60, ebp = 0 --- Tracing command fdc0 pid 4 tid 100065 td 0xc9616b80 sched_switch(c9616b80,0,104,1a3,3fc9e917,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,5c,...) at mi_switch+0x1f9 sleepq_switch(c9616b80,0,c0f5b860,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c9489c3c,5c,c0f48952,0,0,...) at sleepq_timedwait+0x6b _sleep(c9489c3c,c9489cf0,5c,c0f48952,3e8,...) at _sleep+0x359 fdc_thread(c9489c00,ee17cd28,c0f50610,3db,c7dd2b10,...) at fdc_thread+0x27d fork_exit(c0d50d80,c9489c00,ee17cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee17cd60, ebp = 0 --- Tracing command fw0_probe pid 3 tid 100063 td 0xc94e02e0 sched_switch(c94e02e0,0,104,1a3,ca66cb44,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,6c,...) at mi_switch+0x1f9 sleepq_switch(c94e02e0,0,c0f5b860,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f5b860,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c9521000,6c,c0f48952,100,0,...) at sleepq_wait_sig+0x17 _sleep(c9521000,c9525488,16c,c0f48952,0,...) at _sleep+0x374 fw_bus_probe_thread(c9521000,ee16cd28,c0f50610,3db,c9414000,...) at fw_bus_probe_thread+0xa08 fork_exit(c06e3820,c9521000,ee16cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee16cd60, ebp = 0 --- Tracing command usb pid 15 tid 100059 td 0xc94f2000 sched_switch(c94f2000,0,104,1a3,b81a4b9a,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f2000,0,c0f5b860,268,c94f2000,...) at sleepq_switch+0x162 sleepq_wait(c94fbd34,0,ee155cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94fbd34,c94fbe4c,c0f2f0b1,74,c94fbd3c,...) at _cv_wait+0x260 usb_process(c94fbd2c,ee155d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94fbd2c,ee155d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee155d60, ebp = 0 --- Tracing command usb pid 15 tid 100058 td 0xc94f22e0 sched_switch(c94f22e0,0,104,1a3,fa0e05ea,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f22e0,0,c0f5b860,268,c94f22e0,...) at sleepq_switch+0x162 sleepq_wait(c94fbd04,0,ee152cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94fbd04,c94fbe4c,c0f2f0b1,74,c94fbd0c,...) at _cv_wait+0x260 usb_process(c94fbcfc,ee152d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94fbcfc,ee152d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee152d60, ebp = 0 --- Tracing command usb pid 15 tid 100057 td 0xc94f25c0 sched_switch(c94f25c0,0,104,1a3,b7b41de1,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f25c0,0,c0f5b860,268,c94f25c0,...) at sleepq_switch+0x162 sleepq_wait(c94fbcd4,0,ee14fcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94fbcd4,c94fbe4c,c0f2f0b1,74,c94fbcdc,...) at _cv_wait+0x260 usb_process(c94fbccc,ee14fd28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94fbccc,ee14fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee14fd60, ebp = 0 --- Tracing command usb pid 15 tid 100056 td 0xc94f28a0 sched_switch(c94f28a0,0,104,1a3,b7b40c10,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f28a0,0,c0f5b860,268,c94f28a0,...) at sleepq_switch+0x162 sleepq_wait(c94fbca4,0,ee14ccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94fbca4,c94fbe4c,c0f2f0b1,74,c94fbcac,...) at _cv_wait+0x260 usb_process(c94fbc9c,ee14cd28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94fbc9c,ee14cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee14cd60, ebp = 0 --- Tracing command usb pid 15 tid 100054 td 0xc94f4000 sched_switch(c94f4000,0,104,1a3,b7b3f4fe,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f4000,0,c0f5b860,268,c94f4000,...) at sleepq_switch+0x162 sleepq_wait(c94edb5c,0,ee143cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94edb5c,c94edc74,c0f2f0b1,74,c94edb64,...) at _cv_wait+0x260 usb_process(c94edb54,ee143d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94edb54,ee143d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee143d60, ebp = 0 --- Tracing command usb pid 15 tid 100053 td 0xc94f42e0 sched_switch(c94f42e0,0,104,1a3,f1af008a,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f42e0,0,c0f5b860,268,c94f42e0,...) at sleepq_switch+0x162 sleepq_wait(c94edb2c,0,ee140cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94edb2c,c94edc74,c0f2f0b1,74,c94edb34,...) at _cv_wait+0x260 usb_process(c94edb24,ee140d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94edb24,ee140d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee140d60, ebp = 0 --- Tracing command usb pid 15 tid 100052 td 0xc94f45c0 sched_switch(c94f45c0,0,104,1a3,b74fdd17,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94f45c0,0,c0f5b860,268,c94f45c0,...) at sleepq_switch+0x162 sleepq_wait(c94edafc,0,ee13dcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94edafc,c94edc74,c0f2f0b1,74,c94edb04,...) at _cv_wait+0x260 usb_process(c94edaf4,ee13dd28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94edaf4,ee13dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee13dd60, ebp = 0 --- Tracing command usb pid 15 tid 100051 td 0xc94de000 sched_switch(c94de000,0,104,1a3,b74fc9e8,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94de000,0,c0f5b860,268,c94de000,...) at sleepq_switch+0x162 sleepq_wait(c94edacc,0,ee13acac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94edacc,c94edc74,c0f2f0b1,74,c94edad4,...) at _cv_wait+0x260 usb_process(c94edac4,ee13ad28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94edac4,ee13ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee13ad60, ebp = 0 --- Tracing command usb pid 15 tid 100050 td 0xc94de2e0 sched_switch(c94de2e0,0,104,1a3,b74fb5d7,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94de2e0,0,c0f5b860,268,c94de2e0,...) at sleepq_switch+0x162 sleepq_wait(c94e8b5c,0,ee136cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e8b5c,c94e8c74,c0f2f0b1,74,c94e8b64,...) at _cv_wait+0x260 usb_process(c94e8b54,ee136d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e8b54,ee136d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee136d60, ebp = 0 --- Tracing command usb pid 15 tid 100049 td 0xc94de5c0 sched_switch(c94de5c0,0,104,1a3,ee92823f,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94de5c0,0,c0f5b860,268,c94de5c0,...) at sleepq_switch+0x162 sleepq_wait(c94e8b2c,0,ee133cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e8b2c,c94e8c74,c0f2f0b1,74,c94e8b34,...) at _cv_wait+0x260 usb_process(c94e8b24,ee133d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e8b24,ee133d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee133d60, ebp = 0 --- Tracing command usb pid 15 tid 100048 td 0xc94de8a0 sched_switch(c94de8a0,0,104,1a3,b1923dbc,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94de8a0,0,c0f5b860,268,c94de8a0,...) at sleepq_switch+0x162 sleepq_wait(c94e8afc,0,ee130cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e8afc,c94e8c74,c0f2f0b1,74,c94e8b04,...) at _cv_wait+0x260 usb_process(c94e8af4,ee130d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e8af4,ee130d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee130d60, ebp = 0 --- Tracing command usb pid 15 tid 100047 td 0xc94deb80 sched_switch(c94deb80,0,104,1a3,b1922928,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94deb80,0,c0f5b860,268,c94deb80,...) at sleepq_switch+0x162 sleepq_wait(c94e8acc,0,ee12dcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e8acc,c94e8c74,c0f2f0b1,74,c94e8ad4,...) at _cv_wait+0x260 usb_process(c94e8ac4,ee12dd28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e8ac4,ee12dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee12dd60, ebp = 0 --- Tracing command usb pid 15 tid 100046 td 0xc94df000 sched_switch(c94df000,0,104,1a3,b19211db,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94df000,0,c0f5b860,268,c94df000,...) at sleepq_switch+0x162 sleepq_wait(c94e1b5c,0,ee129cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e1b5c,c94e1c74,c0f2f0b1,74,c94e1b64,...) at _cv_wait+0x260 usb_process(c94e1b54,ee129d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e1b54,ee129d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee129d60, ebp = 0 --- Tracing command usb pid 15 tid 100045 td 0xc94df2e0 sched_switch(c94df2e0,0,104,1a3,ed7fc2a5,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94df2e0,0,c0f5b860,268,c94df2e0,...) at sleepq_switch+0x162 sleepq_wait(c94e1b2c,0,ee126cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e1b2c,c94e1c74,c0f2f0b1,74,c94e1b34,...) at _cv_wait+0x260 usb_process(c94e1b24,ee126d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e1b24,ee126d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee126d60, ebp = 0 --- Tracing command usb pid 15 tid 100044 td 0xc94df5c0 sched_switch(c94df5c0,0,104,1a3,b12ebcaf,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94df5c0,0,c0f5b860,268,c94df5c0,...) at sleepq_switch+0x162 sleepq_wait(c94e1afc,0,ee123cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e1afc,c94e1c74,c0f2f0b1,74,c94e1b04,...) at _cv_wait+0x260 usb_process(c94e1af4,ee123d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e1af4,ee123d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee123d60, ebp = 0 --- Tracing command usb pid 15 tid 100043 td 0xc94df8a0 sched_switch(c94df8a0,0,104,1a3,b12eac1d,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94df8a0,0,c0f5b860,268,c94df8a0,...) at sleepq_switch+0x162 sleepq_wait(c94e1acc,0,ee120cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94e1acc,c94e1c74,c0f2f0b1,74,c94e1ad4,...) at _cv_wait+0x260 usb_process(c94e1ac4,ee120d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94e1ac4,ee120d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee120d60, ebp = 0 --- Tracing command usb pid 15 tid 100041 td 0xc94e0000 sched_switch(c94e0000,0,104,1a3,b12e95c5,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94e0000,0,c0f5b860,268,c94e0000,...) at sleepq_switch+0x162 sleepq_wait(c94dab5c,0,ee119cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94dab5c,c94dac74,c0f2f0b1,74,c94dab64,...) at _cv_wait+0x260 usb_process(c94dab54,ee119d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94dab54,ee119d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee119d60, ebp = 0 --- Tracing command usb pid 15 tid 100040 td 0xc94b5000 sched_switch(c94b5000,0,104,1a3,ec36429c,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94b5000,0,c0f5b860,268,c94b5000,...) at sleepq_switch+0x162 sleepq_wait(c94dab2c,0,ee116cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94dab2c,c94dac74,c0f2f0b1,74,c94dab34,...) at _cv_wait+0x260 usb_process(c94dab24,ee116d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94dab24,ee116d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee116d60, ebp = 0 --- Tracing command usb pid 15 tid 100039 td 0xc94b52e0 sched_switch(c94b52e0,0,104,1a3,b0cb3de1,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94b52e0,0,c0f5b860,268,c94b52e0,...) at sleepq_switch+0x162 sleepq_wait(c94daafc,0,ee113cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94daafc,c94dac74,c0f2f0b1,74,c94dab04,...) at _cv_wait+0x260 usb_process(c94daaf4,ee113d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94daaf4,ee113d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee113d60, ebp = 0 --- Tracing command usb pid 15 tid 100038 td 0xc94b55c0 sched_switch(c94b55c0,0,104,1a3,b0cb29c0,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94b55c0,0,c0f5b860,268,c94b55c0,...) at sleepq_switch+0x162 sleepq_wait(c94daacc,0,ee110cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94daacc,c94dac74,c0f2f0b1,74,c94daad4,...) at _cv_wait+0x260 usb_process(c94daac4,ee110d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94daac4,ee110d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee110d60, ebp = 0 --- Tracing command usb pid 15 tid 100036 td 0xc94b5b80 sched_switch(c94b5b80,0,104,1a3,b0cb15d2,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94b5b80,0,c0f5b860,268,c94b5b80,...) at sleepq_switch+0x162 sleepq_wait(c94cdb5c,0,ee109cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94cdb5c,c94cdc74,c0f2f0b1,74,c94cdb64,...) at _cv_wait+0x260 usb_process(c94cdb54,ee109d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94cdb54,ee109d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee109d60, ebp = 0 --- Tracing command usb pid 15 tid 100035 td 0xc94b8000 sched_switch(c94b8000,0,104,1a3,ea632f24,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94b8000,0,c0f5b860,268,c94b8000,...) at sleepq_switch+0x162 sleepq_wait(c94cdb2c,0,ee106cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94cdb2c,c94cdc74,c0f2f0b1,74,c94cdb34,...) at _cv_wait+0x260 usb_process(c94cdb24,ee106d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94cdb24,ee106d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee106d60, ebp = 0 --- Tracing command usb pid 15 tid 100034 td 0xc94b82e0 sched_switch(c94b82e0,0,104,1a3,b0676b08,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94b82e0,0,c0f5b860,268,c94b82e0,...) at sleepq_switch+0x162 sleepq_wait(c94cdafc,0,ee103cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94cdafc,c94cdc74,c0f2f0b1,74,c94cdb04,...) at _cv_wait+0x260 usb_process(c94cdaf4,ee103d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94cdaf4,ee103d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee103d60, ebp = 0 --- Tracing command usb pid 15 tid 100033 td 0xc94b85c0 sched_switch(c94b85c0,0,104,1a3,b0675527,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94b85c0,0,c0f5b860,268,c94b85c0,...) at sleepq_switch+0x162 sleepq_wait(c94cdacc,0,ee100cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c94cdacc,c94cdc74,c0f2f0b1,74,c94cdad4,...) at _cv_wait+0x260 usb_process(c94cdac4,ee100d28,c0f50610,3db,c94142c4,...) at usb_process+0x1a3 fork_exit(c08eef70,c94cdac4,ee100d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee100d60, ebp = 0 --- Tracing command ctl_thrd pid 2 tid 100028 td 0xc7ee28a0 sched_switch(c7ee28a0,0,104,1a3,b0673c23,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,5c,...) at mi_switch+0x1f9 sleepq_switch(c7ee28a0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7fc9000,5c,c0dbc372,0,0,...) at sleepq_wait+0x63 _sleep(c7fc9000,c7fc9000,5c,c0dbc372,0,...) at _sleep+0x38b ctl_work_thread(c7fc9000,c7b72d28,c0f50610,3db,c9414588,...) at ctl_work_thread+0x22f6 fork_exit(c04b9d00,c7fc9000,c7b72d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b72d60, ebp = 0 --- Tracing command yarrow pid 14 tid 100017 td 0xc7ee15c0 sched_switch(c7ee15c0,0,104,1a3,54634b68,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7ee15c0,0,c0f5b860,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c10ee0e4,0,c0f48952,2,0,...) at sleepq_timedwait+0x6b _sleep(c10ee0e4,0,0,c0f48952,64) at _sleep+0x359 pause(c0f48952,64,c0f0b450,111,0,...) at pause+0xa0 random_kthread(0,c7b51d28,c0f50610,3db,c7dd1000,...) at random_kthread+0x1ef fork_exit(c07f88c0,0,c7b51d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b51d60, ebp = 0 --- Tracing command geom pid 13 tid 100015 td 0xc7ee1b80 sched_switch(c7ee1b80,0,104,1a3,580ff633,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,5c,...) at mi_switch+0x1f9 sleepq_switch(c7ee1b80,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10ebce8,5c,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c10ebce8,c10ebc48,25c,c0f48952,0,...) at _sleep+0x38b g_io_schedule_down(c7ee1b80,0,c0f4a4a1,6c,c7b4bd14,...) at g_io_schedule_down+0x5b g_down_procbody(0,c7b4bd28,c0f50610,3db,c7dd12c4,...) at g_down_procbody+0x9d fork_exit(c09e0150,0,c7b4bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b4bd60, ebp = 0 --- Tracing command geom pid 13 tid 100014 td 0xc7ee2000 sched_switch(c7ee2000,0,104,1a3,5813bed6,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,5c,...) at mi_switch+0x1f9 sleepq_switch(c7ee2000,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10ebce4,5c,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c10ebce4,c10ebc68,25c,c0f48952,0,...) at _sleep+0x38b g_io_schedule_up(c7ee2000,0,c0f4a4a1,5f,c7b48d14,...) at g_io_schedule_up+0x134 g_up_procbody(0,c7b48d28,c0f50610,3db,c7dd12c4,...) at g_up_procbody+0x9d fork_exit(c09e01f0,0,c7b48d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b48d60, ebp = 0 --- Tracing command geom pid 13 tid 100013 td 0xc7dd42e0 sched_switch(c7dd42e0,0,104,1a3,ae1ff042,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,5c,...) at mi_switch+0x1f9 sleepq_switch(c7dd42e0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10ebcdc,5c,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c10ebcdc,c10ebc0c,25c,c0f48952,0,...) at _sleep+0x38b g_run_events(c10fbf40,0,c0f4a4a1,79,c7b45d14,...) at g_run_events+0x54b g_event_procbody(0,c7b45d28,c0f50610,3db,c7dd12c4,...) at g_event_procbody+0x90 fork_exit(c09e0290,0,c7b45d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b45d60, ebp = 0 --- Tracing command intr pid 12 tid 100067 td 0xc96165c0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100066 td 0xc96168a0 sched_switch(c96168a0,0,109,1a3,b063f802,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c96168a0,...) at mi_switch+0x1f9 ithread_loop(c7e16520,ee17fd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16520,ee17fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee17fd60, ebp = 0 --- Tracing command intr pid 12 tid 100064 td 0xc9617000 sched_switch(c9617000,0,109,1a3,f4cdeb65,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c9617000,...) at mi_switch+0x1f9 ithread_loop(c7e16530,ee16fd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16530,ee16fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee16fd60, ebp = 0 --- Tracing command intr pid 12 tid 100061 td 0xc94e08a0 sched_switch(c94e08a0,0,109,1a3,a3aebdb9,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c94e08a0,...) at mi_switch+0x1f9 ithread_loop(c7e16540,ee163d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16540,ee163d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee163d60, ebp = 0 --- Tracing command intr pid 12 tid 100060 td 0xc94e0b80 sched_switch(c94e0b80,0,109,1a3,556dce0e,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c94e0b80,...) at mi_switch+0x1f9 ithread_loop(c7e16570,ee15bd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16570,ee15bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee15bd60, ebp = 0 --- Tracing command intr pid 12 tid 100055 td 0xc94f2b80 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100042 td 0xc94dfb80 sched_switch(c94dfb80,0,109,1a3,d5608556,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c94dfb80,...) at mi_switch+0x1f9 ithread_loop(c7e16590,ee11dd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16590,ee11dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee11dd60, ebp = 0 --- Tracing command intr pid 12 tid 100037 td 0xc94b58a0 sched_switch(c94b58a0,0,109,1a3,cfe80368,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c94b58a0,...) at mi_switch+0x1f9 ithread_loop(c7e165a0,ee10dd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e165a0,ee10dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee10dd60, ebp = 0 --- Tracing command intr pid 12 tid 100032 td 0xc94b88a0 sched_switch(c94b88a0,0,109,1a3,d00f59a5,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c94b88a0,...) at mi_switch+0x1f9 ithread_loop(c7e165b0,ee0fdd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e165b0,ee0fdd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee0fdd60, ebp = 0 --- Tracing command intr pid 12 tid 100031 td 0xc94b8b80 sched_switch(c94b8b80,0,109,1a3,4d8ef184,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c94b8b80,...) at mi_switch+0x1f9 ithread_loop(c7e16640,edfa7d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16640,edfa7d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xedfa7d60, ebp = 0 --- Tracing command intr pid 12 tid 100030 td 0xc7ee22e0 sched_switch(c7ee22e0,0,109,1a3,1ae9fba5,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7ee22e0,...) at mi_switch+0x1f9 ithread_loop(c7e16650,edfa3d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16650,edfa3d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xedfa3d60, ebp = 0 --- Tracing command intr pid 12 tid 100029 td 0xc7ee25c0 sched_switch(c7ee25c0,0,109,1a3,a55f5d0f,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7ee25c0,...) at mi_switch+0x1f9 ithread_loop(c7e16660,c7ba3d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16660,c7ba3d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7ba3d60, ebp = 0 --- Tracing command intr pid 12 tid 100027 td 0xc7ee2b80 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100026 td 0xc7fc3000 sched_switch(c7fc3000,0,109,1a3,4d8f791b,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7fc3000,...) at mi_switch+0x1f9 ithread_loop(c7e166d0,c7b6cd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e166d0,c7b6cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b6cd60, ebp = 0 --- Tracing command intr pid 12 tid 100020 td 0xc7e17b80 sched_switch(c7e17b80,0,109,1a3,7eb61a70,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7e17b80,...) at mi_switch+0x1f9 ithread_loop(c7e16710,c7b5ad28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e16710,c7b5ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b5ad60, ebp = 0 --- Tracing command intr pid 12 tid 100019 td 0xc7ee1000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100012 td 0xc7dd45c0 sched_switch(c7dd45c0,0,109,1a3,459bbfd,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7dd45c0,...) at mi_switch+0x1f9 ithread_loop(c7e167a0,c7b42d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e167a0,c7b42d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b42d60, ebp = 0 --- Tracing command intr pid 12 tid 100011 td 0xc7dd48a0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100010 td 0xc7dd4b80 sched_switch(c7dd4b80,0,109,1a3,4466d232,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7dd4b80,...) at mi_switch+0x1f9 ithread_loop(c7e167c0,c7b3cd28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e167c0,c7b3cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b3cd60, ebp = 0 --- Tracing command intr pid 12 tid 100009 td 0xc7e17000 sched_switch(c7e17000,0,109,1a3,31d75f15,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7e17000,...) at mi_switch+0x1f9 ithread_loop(c7e167d0,c7b39d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e167d0,c7b39d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b39d60, ebp = 0 --- Tracing command intr pid 12 tid 100008 td 0xc7e172e0 sched_switch(c7e172e0,0,109,1a3,49a8aa38,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7e172e0,...) at mi_switch+0x1f9 ithread_loop(c7e167e0,c7b36d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e167e0,c7b36d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b36d60, ebp = 0 --- Tracing command intr pid 12 tid 100007 td 0xc7e175c0 sched_switch(c7e175c0,0,109,1a3,566d2cbc,...) at sched_switch+0x3ec mi_switch(109,0,c0f50933,554,c7e175c0,...) at mi_switch+0x1f9 ithread_loop(c7e167f0,c7b33d28,c0f50610,3db,c7dd1588,...) at ithread_loop+0x1fb fork_exit(c0a22b60,c7e167f0,c7b33d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b33d60, ebp = 0 --- Tracing command idle pid 11 tid 100006 td 0xc7dd3000 cpustop_handler(3,13,c7b2fc38,c0d89a56,f5,...) at cpustop_handler+0x28 ipi_nmi_handler(f5,0,11a447c,c0d797ed,c7dd184c,...) at ipi_nmi_handler+0x47 trap(c7b2fc44) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d797ed, esp = 0xc7b2fc84, ebp = 0xc7b2fc88 --- cpu_idle_mwait(1,2710,c10fd2c0,2,c7b2fce8,...) at cpu_idle_mwait+0x4d cpu_idle(1,c7b2fcc4,c0f57f62,3c0,c7dd3000,...) at cpu_idle+0x30 sched_idletd(0,c7b2fd28,c0f50610,3db,c7dd184c,...) at sched_idletd+0x263 fork_exit(c0a733e0,0,c7b2fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b2fd60, ebp = 0 --- Tracing command idle pid 11 tid 100005 td 0xc7dd32e0 sched_switch(c7dd32e0,0,108,19e,5813b53a,...) at sched_switch+0x3ec mi_switch(108,0,c0f57f62,a09,c7dd32e0,...) at mi_switch+0x1f9 sched_idletd(0,c7b2cd28,c0f50610,3db,c7dd184c,...) at sched_idletd+0x2bf fork_exit(c0a733e0,0,c7b2cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b2cd60, ebp = 0 --- Tracing command idle pid 11 tid 100004 td 0xc7dd35c0 cpustop_handler(1,13,c7b29c38,c0d89a56,f5,...) at cpustop_handler+0x28 ipi_nmi_handler(f5,0,10f6f14,c0d797ed,c7dd184c,...) at ipi_nmi_handler+0x47 trap(c7b29c44) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d797ed, esp = 0xc7b29c84, ebp = 0xc7b29c88 --- cpu_idle_mwait(1,2710,c10fc5c0,2,c7b29ce8,...) at cpu_idle_mwait+0x4d cpu_idle(1,c7b29cc4,c0f57f62,a0b,c7dd35c0,...) at cpu_idle+0x30 sched_idletd(0,c7b29d28,c0f50610,3db,c7dd184c,...) at sched_idletd+0x263 fork_exit(c0a733e0,0,c7b29d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b29d60, ebp = 0 --- Tracing command idle pid 11 tid 100003 td 0xc7dd38a0 cpustop_handler(0,13,c7b26c38,c0d89a56,f5,...) at cpustop_handler+0x28 ipi_nmi_handler(f5,0,1f2a4a6,c0d797ed,c7dd184c,...) at ipi_nmi_handler+0x47 trap(c7b26c44) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d797ed, esp = 0xc7b26c84, ebp = 0xc7b26c88 --- cpu_idle_mwait(1,2710,c10fbf40,2,c7b26ce8,...) at cpu_idle_mwait+0x4d cpu_idle(1,c7b26cc4,c0f57f62,a0b,c7dd38a0,...) at cpu_idle+0x30 sched_idletd(0,c7b26d28,c0f50610,3db,c7dd184c,...) at sched_idletd+0x263 fork_exit(c0a733e0,0,c7b26d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b26d60, ebp = 0 --- Tracing command init pid 1 tid 100002 td 0xc7dd3b80 sched_switch(c7dd3b80,0,104,1a3,3471354a,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,6c,...) at mi_switch+0x1f9 sleepq_switch(c7dd3b80,0,c0f5b860,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f5b860,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c7dd1b10,6c,c0f5e777,100,0,...) at sleepq_wait_sig+0x17 _sleep(c7dd1b10,c7dd1b98,16c,c0f5e777,0,...) at _sleep+0x374 kern_wait(c7dd3b80,ffffffff,c7b22c60,2,0,...) at kern_wait+0x626 sys_wait4(c7dd3b80,c7b22cec,c,c,282,...) at sys_wait4+0x3b syscall(c7b22d28) at syscall+0x2c7 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x8060f97, esp = 0xbfbfe81c, ebp = 0xbfbfe838 --- Tracing command audit pid 10 tid 100001 td 0xc7dd4000 sched_switch(c7dd4000,0,104,1a3,b065729d,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7dd4000,0,c0f5b860,268,c7dd4000,...) at sleepq_switch+0x162 sleepq_wait(c126aee0,0,c7b1fc8c,1,0,...) at sleepq_wait+0x63 _cv_wait(c126aee0,c126aec4,c0f86917,194,0,...) at _cv_wait+0x260 audit_worker(0,c7b1fd28,c0f50610,3db,c7dd2000,...) at audit_worker+0x84 fork_exit(c0c4b4f0,0,c7b1fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b1fd60, ebp = 0 --- Tracing command kernel pid 0 tid 100078 td 0xca6958a0 sched_switch(ca6958a0,0,104,1a3,a990e961,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(ca6958a0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c94b9480,0,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c94b9480,c94b9498,0,c0f48952,0,...) at _sleep+0x38b taskqueue_thread_loop(c12cc960,ee203d28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a90000,c12cc960,ee203d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee203d60, ebp = 0 --- Tracing command kernel pid 0 tid 100068 td 0xc96162e0 sched_switch(c96162e0,0,104,1a3,6936368e,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c96162e0,0,c0f5b860,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c10ee0e4,0,c0f48952,2,0,...) at sleepq_timedwait+0x6b _sleep(c10ee0e4,0,0,c0f48952,bb8) at _sleep+0x359 pause(c0f48952,bb8,124,122,c10ebe48,...) at pause+0xa0 deadlkres(0,ee185d28,c0f50610,3db,c10ebdc0,...) at deadlkres+0x324 fork_exit(c0a02320,0,ee185d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee185d60, ebp = 0 --- Tracing command kernel pid 0 tid 100062 td 0xc94e05c0 sched_switch(c94e05c0,0,104,1a3,52e32e8a,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c94e05c0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c948f2c0,0,c0f56be1,c0f48952,0,...) at sleepq_wait+0x63 msleep_spin(c948f2c0,c948f2d8,c0f48952,0,c0f542ab,...) at msleep_spin+0x23d taskqueue_thread_loop(c952549c,ee169d28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0x8f fork_exit(c0a90000,c952549c,ee169d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xee169d60, ebp = 0 --- Tracing command kernel pid 0 tid 100025 td 0xc7fc32e0 sched_switch(c7fc32e0,0,104,1a3,ca6b4c94,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7fc32e0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7fc49c0,0,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c7fc49c0,c7fc49d8,0,c0f48952,0,...) at _sleep+0x38b taskqueue_thread_loop(c10ec738,c7b69d28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a90000,c10ec738,c7b69d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b69d60, ebp = 0 --- Tracing command kernel pid 0 tid 100024 td 0xc7fc35c0 sched_switch(c7fc35c0,0,104,1a3,ca6b3cee,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7fc35c0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7fc4a00,0,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c7fc4a00,c7fc4a18,0,c0f48952,0,...) at _sleep+0x38b taskqueue_thread_loop(c126b4c4,c7b66d28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a90000,c126b4c4,c7b66d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b66d60, ebp = 0 --- Tracing command kernel pid 0 tid 100023 td 0xc7fc38a0 sched_switch(c7fc38a0,0,104,1a3,ca6b2c0e,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7fc38a0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7da1880,0,c0f56be1,c0f48952,0,...) at sleepq_wait+0x63 msleep_spin(c7da1880,c7da1898,c0f48952,0,c0f542ab,...) at msleep_spin+0x23d taskqueue_thread_loop(c10b6d38,c7b63d28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0x8f fork_exit(c0a90000,c10b6d38,c7b63d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b63d60, ebp = 0 --- Tracing command kernel pid 0 tid 100022 td 0xc7fc3b80 sched_switch(c7fc3b80,0,104,1a3,ca6b1df1,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7fc3b80,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7da1880,0,c0f56be1,c0f48952,0,...) at sleepq_wait+0x63 msleep_spin(c7da1880,c7da1898,c0f48952,0,c0f542ab,...) at msleep_spin+0x23d taskqueue_thread_loop(c10b6d38,c7b60d28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0x8f fork_exit(c0a90000,c10b6d38,c7b60d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b60d60, ebp = 0 --- Tracing command kernel pid 0 tid 100021 td 0xc7e178a0 sched_switch(c7e178a0,0,104,1a3,ca6b0d6d,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7e178a0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7da1880,0,c0f56be1,c0f48952,0,...) at sleepq_wait+0x63 msleep_spin(c7da1880,c7da1898,c0f48952,0,c0f542ab,...) at msleep_spin+0x23d taskqueue_thread_loop(c10b6d38,c7b5dd28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0x8f fork_exit(c0a90000,c10b6d38,c7b5dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b5dd60, ebp = 0 --- Tracing command kernel pid 0 tid 100018 td 0xc7ee12e0 sched_switch(c7ee12e0,0,104,1a3,55866c08,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7ee12e0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7da1780,0,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c7da1780,c7da1798,0,c0f48952,0,...) at _sleep+0x38b taskqueue_thread_loop(c110acac,c7b54d28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a90000,c110acac,c7b54d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b54d60, ebp = 0 --- Tracing command kernel pid 0 tid 100016 td 0xc7ee18a0 sched_switch(c7ee18a0,0,104,1a3,8e36bb9a,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,0,...) at mi_switch+0x1f9 sleepq_switch(c7ee18a0,0,c0f5b860,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7da1900,0,c0f48952,0,0,...) at sleepq_wait+0x63 _sleep(c7da1900,c7da1918,0,c0f48952,0,...) at _sleep+0x38b taskqueue_thread_loop(c11096c0,c7b4ed28,c0f50610,3db,c10ebdc0,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a90000,c11096c0,c7b4ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc7b4ed60, ebp = 0 --- Tracing command kernel pid 0 tid 100000 td 0xc10ec090 sched_switch(c10ec090,0,104,1a3,44bd5282,...) at sched_switch+0x3ec mi_switch(104,0,c0f5b860,1f3,54,...) at mi_switch+0x1f9 sleepq_switch(c10ec090,0,c0f5b860,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c10ebdc0,54,c0f58874,0,0,...) at sleepq_timedwait+0x6b _sleep(c10ebdc0,0,54,c0f58874,2710,...) at _sleep+0x359 scheduler(0,181ec00,181ec00,181e000,1825000,...) at scheduler+0x240 mi_startup() at mi_startup+0xac begin() at begin+0x2c db:0:allt> call doadump Physical memory: 3435 MB Dumping 206 MB: 191 175 159 143 127 111 95 79 63 47 31 15 Dump complete = 0 db:0:doadump> reset cpu_reset: Restarting BSP cpu_reset_proxy: Stopped CPU 2 (kgdb) bt #0 doadump (textdump=0xf2717508) at pcpu.h:244 #1 0xc0503e59 in db_fncall (dummy1=0xc0a8195a, dummy2=0x0, dummy3=0xffffffff, dummy4=0xf271759c "¿uq¿") at ../../../ddb/db_command.c:573 #2 0xc050428f in db_command (last_cmdp=0xc10b4efc, cmd_table=0x0, dopager=0x0) at ../../../ddb/db_command.c:449 #3 0xc0504344 in db_command_script (command=0xc10b5e08 "call doadump") at ../../../ddb/db_command.c:520 #4 0xc0508730 in db_script_exec (scriptname=0xc10b5760 "doadump", warnifnotfound=Variable "warnifnotfound" is not available. ) at ../../../ddb/db_script.c:302 #5 0xc05087c1 in db_run_cmd (addr=0x1, have_addr=0x0, count=0xc1298260, modif=0xf27176d4 "") at ../../../ddb/db_script.c:375 #6 0xc0504251 in db_command (last_cmdp=0xc10b4efc, cmd_table=0x0, dopager=0x1) at ../../../ddb/db_command.c:449 #7 0xc05043aa in db_command_loop () at ../../../ddb/db_command.c:502 #8 0xc050639d in db_trap (type=0x3, code=0x0) at ../../../ddb/db_main.c:229 #9 0xc0a81b32 in kdb_trap (type=0x3, code=0x0, tf=0xf2717888) at ../../../kern/subr_kdb.c:629 #10 0xc0d8a08b in trap (frame=0xf2717888) at ../../../i386/i386/trap.c:722 #11 0xc0d728fc in calltrap () at ../../../i386/i386/exception.s:168 #12 0xc0a8195a in kdb_enter (why=0xc0f55e78 "panic", msg=0xc0f55e78 "panic") at cpufunc.h:71 #13 0xc0a4c8cd in panic (fmt=0xc0f93056 "writemappings") at ../../../kern/kern_shutdown.c:634 #14 0xc0cd1e67 in vnode_pager_dealloc (object=0xcab331bc) at ../../../vm/vnode_pager.c:272 #15 0xc0cce59b in vm_pager_deallocate (object=0xcab331bc) at ../../../vm/vm_pager.c:251 #16 0xc0cc3d18 in vm_object_terminate (object=0xcab331bc) at ../../../vm/vm_object.c:765 #17 0xc0cd2455 in vnode_destroy_vobject (vp=0xcb461000) at ../../../vm/vnode_pager.c:167 #18 0xc0c9bc5d in ufs_prepare_reclaim (vp=0xcb461000) at ../../../ufs/ufs/ufs_inode.c:184 #19 0xc0c9bcd6 in ufs_reclaim (ap=0xf2717a24) at ../../../ufs/ufs/ufs_inode.c:213 #20 0xc0daa3d5 in VOP_RECLAIM_APV (vop=0xc10a3a60, a=0xf2717a24) at vnode_if.c:1926 #21 0xc0aec104 in vgonel (vp=0xcb461000) at vnode_if.h:830 #22 0xc0aec3ad in vrecycle (vp=0xcb461000, td=0xcad312e0) at ../../../kern/vfs_subr.c:2599 #23 0xc0c9c110 in ufs_inactive (ap=0xf2717adc) at ../../../ufs/ufs/ufs_inode.c:168 #24 0xc0daa525 in VOP_INACTIVE_APV (vop=0xc10a3a60, a=0xf2717adc) at vnode_if.c:1863 #25 0xc0aeb381 in vinactive (vp=0xcb461000, td=0xcad312e0) at vnode_if.h:807 #26 0xc0aede9d in vputx (vp=0xcb461000, func=0x2) at ../../../kern/vfs_subr.c:2307 #27 0xc0aedf10 in vput (vp=0xcb461000) at ../../../kern/vfs_subr.c:2334 #28 0xc0af0723 in kern_unlinkat (td=0xcad312e0, fd=0xffffff9c, path=0x284731b8
, pathseg=UIO_USERSPACE, oldinum=0x0) at ../../../kern/vfs_syscalls.c:1974 #29 0xc0af079f in kern_unlink (td=0xcad312e0, path=0x284731b8
, pathseg=UIO_USERSPACE) at ../../../kern/vfs_syscalls.c:1906 #30 0xc0af07d2 in sys_unlink (td=0xcad312e0, uap=0xf2717cec) at ../../../kern/vfs_syscalls.c:1876 #31 0xc0d89657 in syscall (frame=0xf2717d28) at subr_syscall.c:131 #32 0xc0d72961 in Xint0x80_syscall () at ../../../i386/i386/exception.s:266 #33 0x00000033 in ?? () Previous frame inner to this frame (corrupt stack?) (kgdb) f 14 #14 0xc0cd1e67 in vnode_pager_dealloc (object=0xcab331bc) at ../../../vm/vnode_pager.c:272 272 KASSERT(vp->v_writecount >= object->un_pager.vnp.writemappings, (kgdb) l 267 vm_object_clear_flag(object, OBJ_DISCONNECTWNT); 268 wakeup(object); 269 } 270 ASSERT_VOP_ELOCKED(vp, "vnode_pager_dealloc"); 271 VI_LOCK(vp); 272 KASSERT(vp->v_writecount >= object->un_pager.vnp.writemappings, 273 ("writemappings")); 274 vp->v_writecount -= object->un_pager.vnp.writemappings; 275 VI_UNLOCK(vp); 276 object->un_pager.vnp.writemappings = 0; (kgdb) p *vp $1 = {v_type = VREG, v_tag = 0xc0f4c54c "ufs", v_op = 0xc10a34e0, v_data = 0xcb44b2b8, v_mount = 0xcaac32d4, v_nmntvnodes = {tqe_next = 0xcb45a580, tqe_prev = 0xcb465434}, v_un = { vu_mount = 0x0, vu_socket = 0x0, vu_cdev = 0x0, vu_fifoinfo = 0x0}, v_hashlist = {le_next = 0x0, le_prev = 0xca4453c0}, v_hash = 0x8018, v_cache_src = {lh_first = 0x0}, v_cache_dst = { tqh_first = 0x0, tqh_last = 0xcb461030}, v_cache_dd = 0x0, v_cstart = 0x0, v_lasta = 0x0, v_lastw = 0x0, v_clen = 0x0, v_lock = {lock_object = {lo_name = 0xc0f4c54c "ufs", lo_flags = 0x57b0000, lo_data = 0x0, lo_witness = 0xc7d79610}, lk_lock = 0xcad312e0, lk_exslpfail = 0x0, lk_timo = 0x33, lk_pri = 0x60, lk_stack = {depth = 0x12, pcs = {0xc0a3420e, 0xc0c94f81, 0xc0dac965, 0xc0af9c78, 0xc0aec53b, 0xc0adbfbd, 0xc0c8e2e9, 0xc0c8e86e, 0xc0c9d0a3, 0xc0c9d46a, 0xc0dac2c5, 0xc0ad5486, 0xc0dadae5, 0xc0add41b, 0xc0ade43f, 0xc0af0521, 0xc0af079f, 0xc0af07d2}}}, v_interlock = {lock_object = {lo_name = 0xc0f5db18 "vnode interlock", lo_flags = 0x1030000, lo_data = 0x0, lo_witness = 0xc7d721e0}, mtx_lock = 0xcad312e0}, v_vnlock = 0xcb461058, v_holdcnt = 0x1, v_usecount = 0x0, v_iflag = 0x880, v_vflag = 0x4, v_writecount = 0x0, v_freelist = {tqe_next = 0x0, tqe_prev = 0x0}, v_bufobj = {bo_mtx = { lock_object = {lo_name = 0xc0f667fb "bufobj interlock", lo_flags = 0x1030000, lo_data = 0x0, lo_witness = 0xc7d77c10}, mtx_lock = 0x4}, bo_clean = {bv_hd = {tqh_first = 0x0, tqh_last = 0xcb461110}, bv_root = 0x0, bv_cnt = 0x0}, bo_dirty = {bv_hd = {tqh_first = 0x0, tqh_last = 0xcb461120}, bv_root = 0x0, bv_cnt = 0x0}, bo_numoutput = 0x0, bo_flag = 0x0, bo_ops = 0xc10907c0, bo_bsize = 0x8000, bo_object = 0xcab331bc, bo_synclist = {le_next = 0x0, le_prev = 0xcb462984}, bo_private = 0xcb461000, __bo_vnode = 0xcb461000}, v_pollinfo = 0x0, v_label = 0x0, v_lockf = 0x0} (kgdb) p *object $2 = {mtx = {lock_object = {lo_name = 0xc0f5db28 "vm object", lo_flags = 0x1430000, lo_data = 0x0, lo_witness = 0xc7d75ac0}, mtx_lock = 0xcad312e0}, object_list = {tqe_next = 0xcb1bd2e4, tqe_prev = 0xcad6d38c}, shadow_head = {lh_first = 0x0}, shadow_list = {le_next = 0x0, le_prev = 0xc9415428}, memq = {tqh_first = 0x0, tqh_last = 0xcab331e4}, root = 0x0, size = 0x0, generation = 0x1, ref_count = 0x0, shadow_count = 0x0, memattr = 0x6, type = 0x5, flags = 0x8, pg_color = 0x0, paging_in_progress = 0x0, resident_page_count = 0x0, backing_object = 0x0, backing_object_offset = 0x0, pager_object_list = {tqe_next = 0x0, tqe_prev = 0xc126b89c}, rvq = {lh_first = 0x0}, cache = 0x0, handle = 0x0, un_pager = {vnp = {vnp_size = 0x0, writemappings = 0xc10a3e08}, devp = {devp_pglist = {tqh_first = 0x0, tqh_last = 0x0}, ops = 0xc10a3e08}, sgp = {sgp_pglist = {tqh_first = 0x0, tqh_last = 0x0}}, swp = { swp_bcount = 0x0}}, cred = 0x0, charge = 0x0} (kgdb) info loc vp = (struct vnode *) 0xcb461000 refs = 0x0 (kgdb) p *vp->v_mount $3 = {mnt_mtx = {lock_object = {lo_name = 0xc0f48111 "struct mount mtx", lo_flags = 0x1030000, lo_data = 0x0, lo_witness = 0xc7d72450}, mtx_lock = 0x4}, mnt_gen = 0x1, mnt_list = { tqe_next = 0x0, tqe_prev = 0xcaac4018}, mnt_op = 0xc10a3280, mnt_vfc = 0xc10a30e0, mnt_vnodecovered = 0xcad3a160, mnt_syncer = 0xcab51420, mnt_ref = 0x96a, mnt_nvnodelist = { tqh_first = 0xcab512c0, tqh_last = 0xcc751594}, mnt_nvnodelistsize = 0x969, mnt_writeopcount = 0x0, mnt_kern_flag = 0x60000044, mnt_flag = 0x201000, mnt_noasync = 0x1, mnt_opt = 0xc7dce6a0, mnt_optnew = 0x0, mnt_maxsymlinklen = 0x78, mnt_stat = {f_version = 0x20030518, f_type = 0x35, f_flags = 0x201000, f_bsize = 0x1000, f_iosize = 0x8000, f_blocks = 0x3dfa5, f_bfree = 0x3c9d0, f_bavail = 0x37a7c, f_files = 0x1fffe, f_ffree = 0x1f693, f_syncwrites = 0x0, f_asyncwrites = 0x0, f_syncreads = 0x0, f_asyncreads = 0x0, f_spare = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, f_namemax = 0xff, f_owner = 0x0, f_fsid = {val = {0x4f1a7036, 0x38785c1}}, f_charspare = '\0' , f_fstypename = "ufs", '\0' , f_mntfromname = "/dev/md5a", '\0' , f_mntonname = "/mnt", '\0' }, mnt_cred = 0xca881900, mnt_data = 0xcb1c0800, mnt_time = 0x0, mnt_iosize_max = 0x20000, mnt_export = 0x0, mnt_label = 0x0, mnt_hashseed = 0xce2a8d8, mnt_lockref = 0x0, mnt_secondary_writes = 0x1, mnt_secondary_accwrites = 0x5bcc, mnt_susp_owner = 0x0, mnt_gjprovider = 0x0, mnt_explock = {lock_object = {lo_name = 0xc0f48122 "explock", lo_flags = 0x5730000, lo_data = 0x0, lo_witness = 0xc7d780f0}, lk_lock = 0x1, lk_exslpfail = 0x0, lk_timo = 0x0, lk_pri = 0x60, lk_stack = {depth = 0x0, pcs = {0x0 }}}} (kgdb) git diff master diff --git a/sys/fs/unionfs/union_subr.c b/sys/fs/unionfs/union_subr.c index 2e74844..887aab6 100644 --- a/sys/fs/unionfs/union_subr.c +++ b/sys/fs/unionfs/union_subr.c @@ -951,7 +951,9 @@ unionfs_vn_create_on_upper(struct vnode **vpp, struct vnode *udvp, vput(vp); goto unionfs_vn_create_on_upper_free_out1; } + VI_LOCK(vp); vp->v_writecount++; + VI_UNLOCK(vp); *vpp = vp; unionfs_vn_create_on_upper_free_out1: @@ -1086,7 +1088,9 @@ unionfs_copyfile(struct unionfs_node *unp, int docopy, struct ucred *cred, } } VOP_CLOSE(uvp, FWRITE, cred, td); + VI_LOCK(uvp); uvp->v_writecount--; + VI_UNLOCK(uvp); vn_finished_write(mp); diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index ee383ee..f13fa04 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -2245,9 +2245,18 @@ vputx(struct vnode *vp, int func) CTR2(KTR_VFS, "%s: vp %p", __func__, vp); VI_LOCK(vp); - /* Skip this v_writecount check if we're going to panic below. */ +#if 0 + /* + * Skip this v_writecount check if we're going to panic below. + * + * XXXKIB Disable the assert. The v_writecount counts number + * of pages mapped writeable, so it can now become (much) + * bigger then v_usecount. Might be, the useful assert is + * that v_writecount == 0 if v_usecount is going to 0. + */ VNASSERT(vp->v_writecount < vp->v_usecount || vp->v_usecount < 1, vp, ("vputx: missed vn_close")); +#endif error = 0; if (vp->v_usecount > 1 || ((vp->v_iflag & VI_DOINGINACT) && @@ -2496,6 +2505,19 @@ loop: * vnodes open for writing. */ if (flags & WRITECLOSE) { + if (vp->v_object != NULL) { + VM_OBJECT_LOCK(vp->v_object); + vm_object_page_clean(vp->v_object, 0, 0, 0); + VM_OBJECT_UNLOCK(vp->v_object); + } + error = VOP_FSYNC(vp, MNT_WAIT, td); + if (error != 0) { + VOP_UNLOCK(vp, 0); + vdrop(vp); + MNT_VNODE_FOREACH_ABORT(mp, mvp); + return (error); + } + error = VOP_GETATTR(vp, &vattr, td->td_ucred); VI_LOCK(vp); @@ -2721,8 +2743,9 @@ vn_printf(struct vnode *vp, const char *fmt, ...) va_end(ap); printf("%p: ", (void *)vp); printf("tag %s, type %s\n", vp->v_tag, typename[vp->v_type]); - printf(" usecount %d, writecount %d, refcount %d mountedhere %p\n", - vp->v_usecount, vp->v_writecount, vp->v_holdcnt, vp->v_mountedhere); + printf(" usecount %d, writecount %jd, refcount %d mountedhere %p\n", + vp->v_usecount, (uintmax_t)vp->v_writecount, vp->v_holdcnt, + vp->v_mountedhere); buf[0] = '\0'; buf[1] = '\0'; if (vp->v_vflag & VV_ROOT) diff --git a/sys/kern/vfs_syscalls.c b/sys/kern/vfs_syscalls.c index 31ad276..b13fd39 100644 --- a/sys/kern/vfs_syscalls.c +++ b/sys/kern/vfs_syscalls.c @@ -4599,16 +4599,22 @@ sys_fhopen(td, uap) if (error) goto bad; - if (fmode & FWRITE) + if (fmode & FWRITE) { + VI_LOCK(vp); vp->v_writecount++; + VI_UNLOCK(vp); + } /* * end of vn_open code */ if ((error = falloc(td, &nfp, &indx, fmode)) != 0) { - if (fmode & FWRITE) + if (fmode & FWRITE) { + VI_LOCK(vp); vp->v_writecount--; + VI_UNLOCK(vp); + } goto bad; } /* An extra reference on `nfp' has been held for us by falloc(). */ diff --git a/sys/kern/vfs_vnops.c b/sys/kern/vfs_vnops.c index e33592a..05471bd 100644 --- a/sys/kern/vfs_vnops.c +++ b/sys/kern/vfs_vnops.c @@ -245,8 +245,11 @@ restart: if ((error = VOP_OPEN(vp, fmode, cred, td, fp)) != 0) goto bad; - if (fmode & FWRITE) + if (fmode & FWRITE) { + VI_LOCK(vp); vp->v_writecount++; + VI_UNLOCK(vp); + } *flagp = fmode; ASSERT_VOP_LOCKED(vp, "vn_open_cred"); if (!mpsafe) @@ -308,7 +311,9 @@ vn_close(vp, flags, file_cred, td) if (flags & FWRITE) { VNASSERT(vp->v_writecount > 0, vp, ("vn_close: negative writecount")); + VI_LOCK(vp); vp->v_writecount--; + VI_UNLOCK(vp); } error = VOP_CLOSE(vp, flags, file_cred, td); vput(vp); diff --git a/sys/sys/vnode.h b/sys/sys/vnode.h index 0ef4979..477f18e 100644 --- a/sys/sys/vnode.h +++ b/sys/sys/vnode.h @@ -149,9 +149,14 @@ struct vnode { struct lock *v_vnlock; /* u pointer to vnode lock */ int v_holdcnt; /* i prevents recycling. */ int v_usecount; /* i ref count of users */ - u_long v_iflag; /* i vnode flags (see below) */ - u_long v_vflag; /* v vnode flags */ - int v_writecount; /* v ref count of writers */ + u_int v_iflag; /* i vnode flags (see below) */ + u_int v_vflag; /* v vnode flags */ + uint64_t v_writecount; /* i/v ref count of writers */ + /* + * v_writecount is protected by vnode interlock. When + * v_writecount is decremented from 1 to 0, or + * incremented from 0 to 1, vnode lock must be held. + */ /* * The machinery of being a vnode diff --git a/sys/ufs/ufs/ufs_extattr.c b/sys/ufs/ufs/ufs_extattr.c index 777f385..5fb4184 100644 --- a/sys/ufs/ufs/ufs_extattr.c +++ b/sys/ufs/ufs/ufs_extattr.c @@ -334,7 +334,9 @@ ufs_extattr_enable_with_open(struct ufsmount *ump, struct vnode *vp, return (error); } + VI_LOCK(vp); vp->v_writecount++; + VI_UNLOCK(vp); vref(vp); diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index d62576f..9402012 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -475,11 +476,39 @@ vm_map_process_deferred(void) { struct thread *td; vm_map_entry_t entry; + vm_object_t object; + struct vnode *vp; + struct mount *mp; + int vfslocked; td = curthread; while ((entry = td->td_map_def_user) != NULL) { td->td_map_def_user = entry->next; + if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0 && + (object = entry->object.vm_object) != NULL) { + mp = NULL; + vfslocked = 0; + VM_OBJECT_LOCK(object); + if (object->type == OBJT_VNODE && + entry->eflags & MAP_ENTRY_VN_WRITECNT) { + vp = object->handle; + vhold(vp); + VM_OBJECT_UNLOCK(object); + vfslocked = VFS_LOCK_GIANT(vp->v_mount); + vn_start_write(vp, &mp, V_WAIT); + vn_lock(vp, LK_EXCLUSIVE | LK_RETRY); + vm_object_update_writecount(object, + entry->start - entry->end); + VOP_UNLOCK(vp, 0); + vdrop(vp); + } else + VM_OBJECT_UNLOCK(object); + if (mp != NULL) + vn_finished_write(mp); + VFS_UNLOCK_GIANT(vfslocked); + } + vm_map_entry_deallocate(entry, FALSE); } } @@ -1174,6 +1203,13 @@ vm_map_insert(vm_map_t map, vm_object_t object, vm_ooffset_t offset, if (cow & MAP_DISABLE_COREDUMP) protoeflags |= MAP_ENTRY_NOCOREDUMP; + if (object != NULL && object->type == OBJT_VNODE && + (max & VM_PROT_WRITE) != 0 && (cow & MAP_COPY_ON_WRITE) == 0) { + ASSERT_VOP_ELOCKED(object->handle, + "vm_map_insert inc v_writecount"); + protoeflags |= MAP_ENTRY_VN_WRITECNT; + } + cred = NULL; KASSERT((object != kmem_object && object != kernel_object) || ((object == kmem_object || object == kernel_object) && @@ -1231,6 +1267,11 @@ charged: (prev_entry->protection == prot) && (prev_entry->max_protection == max)) { map->size += (end - prev_entry->end); + if ((prev_entry->eflags & MAP_ENTRY_VN_WRITECNT) != 0) { + vm_object_update_writecount( + prev_entry->object.vm_object, + end - prev_entry->end); + } prev_entry->end = end; vm_map_entry_resize_free(map, prev_entry); vm_map_simplify_entry(map, prev_entry); @@ -1290,6 +1331,9 @@ charged: */ vm_map_entry_link(map, prev_entry, new_entry); map->size += new_entry->end - new_entry->start; + if ((new_entry->eflags & MAP_ENTRY_VN_WRITECNT) != 0) + vm_object_update_writecount(object, new_entry->end - + new_entry->start); /* * It may be possible to merge the new entry with the next and/or @@ -1511,6 +1555,12 @@ vm_map_simplify_entry(vm_map_t map, vm_map_entry_t entry) * references. Thus, the map lock can be kept * without causing a lock-order reversal with * the vnode lock. + * + * Since we count the number of virtual page + * mappings in v_writecount, both v_writecount + * and object->un_pager.vnp.writemappings + * should not be adjusted on the entry + * dispose. */ if (prev->object.vm_object) vm_object_deallocate(prev->object.vm_object); @@ -1622,6 +1672,14 @@ _vm_map_clip_start(vm_map_t map, vm_map_entry_t entry, vm_offset_t start) if ((entry->eflags & MAP_ENTRY_IS_SUB_MAP) == 0) { vm_object_reference(new_entry->object.vm_object); + + /* + * The v_writecount for the vnode referenced by the + * object of MAP_ENTRY_VN_WRITECNT type entry shall be + * kept as is there. The virtual pages are + * re-distributed among clipped entries, so the sum is + * left the same. + */ } } @@ -2895,6 +2953,7 @@ vm_map_copy_entry( vm_ooffset_t *fork_charge) { vm_object_t src_object; + vm_map_entry_t fake_entry; vm_offset_t size; struct ucred *cred; int charged; @@ -2960,6 +3019,27 @@ vm_map_copy_entry( src_entry->eflags |= (MAP_ENTRY_COW|MAP_ENTRY_NEEDS_COPY); dst_entry->eflags |= (MAP_ENTRY_COW|MAP_ENTRY_NEEDS_COPY); dst_entry->offset = src_entry->offset; + if (src_entry->eflags & MAP_ENTRY_VN_WRITECNT) { + /* + * MAP_ENTRY_VN_WRITECNT cannot + * indicate write reference from + * src_entry, since the entry is + * marked as needs copy. + * Allocate a fake entry that is used + * to decrement v_writecount at the + * appropriate time. + * Attach fake_entry to the deferred list. + */ + fake_entry = vm_map_entry_create(dst_map); + fake_entry->eflags = MAP_ENTRY_VN_WRITECNT; + src_entry->eflags &= ~MAP_ENTRY_VN_WRITECNT; + vm_object_reference(src_object); + fake_entry->object.vm_object = src_object; + fake_entry->start = src_entry->start; + fake_entry->end = src_entry->end; + fake_entry->next = curthread->td_map_def_user; + curthread->td_map_def_user = fake_entry; + } } else { dst_entry->object.vm_object = NULL; dst_entry->offset = 0; @@ -3117,6 +3197,14 @@ vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_charge) new_entry->eflags &= ~(MAP_ENTRY_USER_WIRED | MAP_ENTRY_IN_TRANSITION); new_entry->wired_count = 0; + if (new_entry->eflags & MAP_ENTRY_VN_WRITECNT) { + object = new_entry->object.vm_object; + KASSERT(((struct vnode *)object->handle)-> + v_writecount > 0, + ("vmspace_fork: v_writecount")); + vm_object_update_writecount(object, + new_entry->end - new_entry->start); + } /* * Insert the entry into the new map -- we know we're @@ -3141,8 +3229,11 @@ vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_charge) */ new_entry = vm_map_entry_create(new_map); *new_entry = *old_entry; + /* + * Copied entry is COW over the old object. + */ new_entry->eflags &= ~(MAP_ENTRY_USER_WIRED | - MAP_ENTRY_IN_TRANSITION); + MAP_ENTRY_IN_TRANSITION | MAP_ENTRY_VN_WRITECNT); new_entry->wired_count = 0; new_entry->object.vm_object = NULL; new_entry->cred = NULL; @@ -3156,9 +3247,13 @@ vmspace_fork(struct vmspace *vm1, vm_ooffset_t *fork_charge) old_entry = old_entry->next; } unlock_and_return: - vm_map_unlock(old_map); + /* + * Inlined vm_map_unlock to properly handle nodefer. + */ + sx_xunlock(&old_map->lock); if (vm2 != NULL) - vm_map_unlock(new_map); + sx_xunlock(&new_map->lock); + vm_map_process_deferred(); return (vm2); } diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index 5311e02..90ad5c3 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -139,6 +139,7 @@ struct vm_map_entry { #define MAP_ENTRY_GROWS_UP 0x2000 /* Bottom-up stacks */ #define MAP_ENTRY_WIRE_SKIPPED 0x4000 +#define MAP_ENTRY_VN_WRITECNT 0x8000 /* writeable vnode mapping */ #ifdef _KERNEL static __inline u_char diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c index e85b681..f219a44 100644 --- a/sys/vm/vm_mmap.c +++ b/sys/vm/vm_mmap.c @@ -93,7 +93,8 @@ struct sbrk_args { #endif static int vm_mmap_vnode(struct thread *, vm_size_t, vm_prot_t, vm_prot_t *, - int *, struct vnode *, vm_ooffset_t *, vm_object_t *); + int *, struct vnode *, vm_ooffset_t *, vm_object_t *, struct vnode **, + int *); static int vm_mmap_cdev(struct thread *, vm_size_t, vm_prot_t, vm_prot_t *, int *, struct cdev *, vm_ooffset_t *, vm_object_t *); static int vm_mmap_shm(struct thread *, vm_size_t, vm_prot_t, vm_prot_t *, @@ -1222,25 +1223,36 @@ sys_munlock(td, uap) * * Helper function for vm_mmap. Perform sanity check specific for mmap * operations on vnodes. + * + * For regular files, function returns with *rvp locked, since + * vm_map_insert shall bump v_writecount for shared writable mappings. + * + * For VCHR vnodes, lock is held over call to vm_mmap_cdev() to keep + * vp->v_rdev valid. */ int vm_mmap_vnode(struct thread *td, vm_size_t objsize, vm_prot_t prot, vm_prot_t *maxprotp, int *flagsp, - struct vnode *vp, vm_ooffset_t *foffp, vm_object_t *objp) + struct vnode *vp, vm_ooffset_t *foffp, vm_object_t *objp, + struct vnode **rvp, int *vfslocked) { struct vattr va; vm_object_t obj; vm_offset_t foff; struct mount *mp; struct ucred *cred; - int error, flags; - int vfslocked; + int error, flags, locktype; mp = vp->v_mount; cred = td->td_ucred; - vfslocked = VFS_LOCK_GIANT(mp); - if ((error = vget(vp, LK_SHARED, td)) != 0) { - VFS_UNLOCK_GIANT(vfslocked); + + if ((*maxprotp & VM_PROT_WRITE) && (*flagsp & MAP_SHARED)) + locktype = LK_EXCLUSIVE; + else + locktype = LK_SHARED; + *vfslocked = VFS_LOCK_GIANT(mp); + if ((error = vget(vp, locktype, td)) != 0) { + VFS_UNLOCK_GIANT(*vfslocked); return (error); } foff = *foffp; @@ -1257,11 +1269,15 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize, if (obj->handle != vp) { vput(vp); vp = (struct vnode*)obj->handle; - vget(vp, LK_SHARED, td); + vget(vp, locktype, td); } + *rvp = vp; } else if (vp->v_type == VCHR) { error = vm_mmap_cdev(td, objsize, prot, maxprotp, flagsp, vp->v_rdev, foffp, objp); + vput(vp); + VFS_UNLOCK_GIANT(*vfslocked); + *rvp = NULL; if (error == 0) goto mark_atime; goto done; @@ -1305,8 +1321,11 @@ mark_atime: vfs_mark_atime(vp, cred); done: - vput(vp); - VFS_UNLOCK_GIANT(vfslocked); + if (error != 0 && *rvp != NULL) { + vput(vp); + VFS_UNLOCK_GIANT(*vfslocked); + *rvp = NULL; + } return (error); } @@ -1430,8 +1449,9 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, boolean_t fitit; vm_object_t object = NULL; int rv = KERN_SUCCESS; - int docow, error; + int docow, error, vfslocked; struct thread *td = curthread; + struct vnode *vp; if (size == 0) return (0); @@ -1470,6 +1490,9 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, return (EINVAL); fitit = FALSE; } + vfslocked = 0; + vp = NULL; + /* * Lookup/allocate object. */ @@ -1480,7 +1503,7 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, break; case OBJT_VNODE: error = vm_mmap_vnode(td, size, prot, &maxprot, &flags, - handle, &foff, &object); + handle, &foff, &object, &vp, &vfslocked); break; case OBJT_SWAP: error = vm_mmap_shm(td, size, prot, &maxprot, &flags, @@ -1529,6 +1552,10 @@ vm_mmap(vm_map_t map, vm_offset_t *addr, vm_size_t size, vm_prot_t prot, rv = vm_map_fixed(map, object, foff, *addr, size, prot, maxprot, docow); + if (vp != NULL) { + vput(vp); + VFS_UNLOCK_GIANT(vfslocked); + } if (rv != KERN_SUCCESS) { /* * Lose the object reference. Will destroy the diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c index 1a8ce65..566387e 100644 --- a/sys/vm/vm_object.c +++ b/sys/vm/vm_object.c @@ -2132,6 +2132,31 @@ vm_object_set_writeable_dirty(vm_object_t object) vm_object_set_flag(object, OBJ_MIGHTBEDIRTY); } +void +vm_object_update_writecount(vm_object_t object, vm_offset_t inc) +{ + struct vnode *vp; + u_long pages; + + pages = inc / PAGE_SIZE; + VM_OBJECT_LOCK(object); + if (object->type != OBJT_VNODE) { + VM_OBJECT_UNLOCK(object); + return; + } + object->un_pager.vnp.writemappings += pages; + vp = object->handle; + VI_LOCK(vp); +#ifdef DEBUG_VFS_LOCKS + if ((vp->v_writecount == 0 && pages > 0) || + (vp->v_writecount != 0 && vp->v_writecount + pages) == 0) + ASSERT_VOP_ELOCKED(vp, "v_writecount"); +#endif + vp->v_writecount += pages; + VI_UNLOCK(vp); + VM_OBJECT_UNLOCK(object); +} + #include "opt_ddb.h" #ifdef DDB #include diff --git a/sys/vm/vm_object.h b/sys/vm/vm_object.h index 599df51..315948f 100644 --- a/sys/vm/vm_object.h +++ b/sys/vm/vm_object.h @@ -112,6 +112,7 @@ struct vm_object { */ struct { off_t vnp_size; + uint64_t writemappings; } vnp; /* @@ -240,6 +241,7 @@ void vm_object_split(vm_map_entry_t); void vm_object_sync(vm_object_t, vm_ooffset_t, vm_size_t, boolean_t, boolean_t); void vm_object_madvise (vm_object_t, vm_pindex_t, int, int); +void vm_object_update_writecount(vm_object_t object, vm_offset_t inc); #endif /* _KERNEL */ #endif /* _VM_OBJECT_ */ diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 929fa4f..011a987 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -268,10 +268,18 @@ vnode_pager_dealloc(object) wakeup(object); } ASSERT_VOP_ELOCKED(vp, "vnode_pager_dealloc"); + VI_LOCK(vp); + KASSERT(vp->v_writecount >= object->un_pager.vnp.writemappings, + ("writemappings")); + vp->v_writecount -= object->un_pager.vnp.writemappings; + VI_UNLOCK(vp); + object->un_pager.vnp.writemappings = 0; vp->v_object = NULL; vp->v_vflag &= ~VV_TEXT; + VM_OBJECT_UNLOCK(object); while (refs-- > 0) vunref(vp); + VM_OBJECT_LOCK(object); } static boolean_t -- Test scenario: simple.sh