GENERIC HEAD from 2011-11-15 09:23:21 UTC, r227528, vmcore.226 KDB: debugger backends: ddb KDB: current backend: ddb 524288K of memory above 4GB ignored Copyright (c) 1992-2011 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 r227528:227550M: Wed Nov 16 11:23:15 CET 2011 pho@x4.osted.lan:/usr/src/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 = 3531710464 (3368 MB) : Trying to mount root from ufs:/dev/ad4s1a [rw]... 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: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1a: clean, 130113 free (969 frags, 16143 blocks, 0.1% fragmentation) /dev/ad4s1f: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1f: clean, 137953 free (4425 frags, 16691 blocks, 0.4% fragmentation) /dev/label/tmp: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/label/tmp: clean, 114670967 free (1231 frags, 14333717 blocks, 0.0% fragmentation) /dev/ad4s1d: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1d: clean, 1397988 free (285148 frags, 139105 blocks, 2.8% fragmentation) /dev/ad4s1e: FILE SYSTEM CLEAN; SKIPPING CHECKS /dev/ad4s1e: clean, 6653584 free (69464 frags, 823015 blocks, 0.3% 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=389b 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 0xe0b20580 bufwait (bufwait) @ kern/vfs_bio.c:2658 2nd 0xc73efc00 dirhash (dirhash) @ ufs/ufs/ufs_dirhash.c:284 KDB: stack backtrace: db_trace_self_wrapper(c0f24688,2e687361,38323a63,a34,f18d87e8,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a57a5b,c0f2808f,c11fff60,11c,f18d8878,...) at kdb_backtrace+0x2a _witness_debugger(c0f2808f,c73efc00,c0f57ec6,c71693a0,c0f57b58,...) at _witness_debugger+0x25 witness_checkorder(c73efc00,9,c0f57b4f,11c,0,...) at witness_checkorder+0x86f _sx_xlock(c73efc00,0,c0f57b4f,11c,c78b25e4,...) at _sx_xlock+0x85 ufsdirhash_acquire(e0b20520,c78b25e4,f18d89f4,e18449b8,f18d8948,...) at ufsdirhash_acquire+0x48 ufsdirhash_add(c78b25e4,f18d89f4,9b8,f18d8934,f18d8938,...) at ufsdirhash_add+0x13 ufs_direnter(c7bb76cc,c7dae984,f18d89f4,f18d8b84,e0b20ba0,...) at ufs_direnter+0x789 ufs_mkdir(f18d8c14,c0f777e8,0,0,f18d8bac,...) at ufs_mkdir+0xa36 VOP_MKDIR_APV(c106b840,f18d8c14,f18d8b84,f18d8bac,0,...) at VOP_MKDIR_APV+0xc5 kern_mkdirat(c7c2a8a0,ffffff9c,28404020,0,1c0,...) at kern_mkdirat+0x291 kern_mkdir(c7c2a8a0,28404020,0,1c0,f18d8d1c,...) at kern_mkdir+0x2e sys_mkdir(c7c2a8a0,f18d8cec,c0f705ea,c0f28c4a,202,...) at sys_mkdir+0x29 syscall(f18d8d28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (136, FreeBSD ELF32, sys_mkdir), eip = 0x28174583, esp = 0xbfbfe8cc, ebp = 0xbfbfed78 --- Clearing /tmp (X related). Starting mountd. NFSv4 is disabled Starting nfsd. Recovering vi editor sessions:lock order reversal: 1st 0xc7e16df0 ufs (ufs) @ kern/vfs_lookup.c:540 2nd 0xe0b27740 bufwait (bufwait) @ ufs/ffs/ffs_vnops.c:260 3rd 0xc7e1646c ufs (ufs) @ kern/vfs_subr.c:2167 KDB: stack backtrace: db_trace_self_wrapper(c0f24688,3a632e73,a303632,0,0,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a57a5b,c0f280a8,c11ffd88,877,f18f8344,...) at kdb_backtrace+0x2a _witness_debugger(c0f280a8,c7e1646c,c0f16dc4,c7169338,c0f2fe45,...) at _witness_debugger+0x25 witness_checkorder(c7e1646c,9,c0f2fe3c,877,0,...) at witness_checkorder+0x86f __lockmgr_args(c7e1646c,80100,c7e164d8,0,0,...) at __lockmgr_args+0x834 ffs_lock(f18f8468,60,0,80100,c7e16414,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c106b840,f18f8468,c71621e0,c107a8a0,c7e16414,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7e16414,80100,c0f2fe3c,877,4,...) at _vn_lock+0x78 vget(c7e16414,80100,c7d9f000,50,0,...) at vget+0xbb vfs_hash_get(c7bb8000,160525,80000,c7d9f000,f18f85ac,...) at vfs_hash_get+0xed ffs_vgetf(c7bb8000,160525,80000,f18f85ac,1,...) at ffs_vgetf+0x49 softdep_sync_buf(c7e16d98,e0b276e0,1,106,0,...) at softdep_sync_buf+0xac9 ffs_syncvnode(c7e16d98,1,c11ffd78,c7e16e90,c7165370,...) at ffs_syncvnode+0x24c ffs_truncate(c7e16d98,200,0,880,c71a4c00,...) at ffs_truncate+0x817 ufs_direnter(c7e16d98,c7e16414,f18f8918,f18f8bc0,0,...) at ufs_direnter+0x971 ufs_makeinode(f18f8bc0,c106bdc0,f18f8b04,f18f8a60,c0d7bb05,...) at ufs_makeinode+0x635 ufs_create(f18f8b04,c0f779ae,0,0,f18f8b80,...) at ufs_create+0x30 VOP_CREATE_APV(c106b840,f18f8b04,f18f8bc0,f18f8a9c,0,...) at VOP_CREATE_APV+0xc5 vn_open_cred(f18f8b80,f18f8c48,1b0,0,c71a4c00,...) at vn_open_cred+0x205 vn_open(f18f8b80,f18f8c48,1b0,c7d91a10,4ec391db,...) at vn_open+0x3b kern_openat(c7d9f000,ffffff9c,28839f60,0,a03,...) at kern_openat+0x1ec kern_open(c7d9f000,28839f60,0,a02,1b0,...) at kern_open+0x35 sys_open(c7d9f000,f18f8cec,c0f705ea,c0f28c4a,216,...) at sys_open+0x30 syscall(f18f8d28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (5, FreeBSD ELF32, sys_open), eip = 0x283d65c3, esp = 0xbfbfc4fc, ebp = 0xbfbfc588 --- . Updating motd:. Starting ntpd. Starting default moused. Configuring syscons: keymap blanktime. Starting sshd. Starting cron. Local package initialization: backuplock order reversal: 1st 0xc794e1b4 ufs (ufs) @ kern/vfs_mount.c:1209 2nd 0xc7924df0 devfs (devfs) @ ufs/ffs/ffs_softdep.c:1834 KDB: stack backtrace: db_trace_self_wrapper(c0f24688,38313a63,a3433,c0a69d6c,8,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a57a5b,c0f2808f,c11ff958,72a,f1898a10,...) at kdb_backtrace+0x2a _witness_debugger(c0f2808f,c7924df0,c0f0ec27,c7169198,c0f54059,...) at _witness_debugger+0x25 witness_checkorder(c7924df0,9,c0f54050,72a,c7924e5c,...) at witness_checkorder+0x86f __lockmgr_args(c7924df0,80400,c7924e5c,0,0,...) at __lockmgr_args+0x834 vop_stdlock(f1898b30,4,c0f1eb8b,80400,c7924d98,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c1041820,f1898b30,c1233900,c107a8a0,c7924d98,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c7924d98,80400,c0f54050,72a,c7bb85a8,...) at _vn_lock+0x78 softdep_flushworklist(c7bb85a8,f1898bdc,c7b9f2e0,5dc,0,...) at softdep_flushworklist+0x47 ffs_sync(c7bb85a8,1,f1898c30,4f2,c7025000,...) at ffs_sync+0x2fd dounmount(c7bb85a8,8080000,c7b9f2e0,483,5b85c5ea,...) at dounmount+0x3f8 sys_unmount(c7b9f2e0,f1898cec,c,c,206,...) at sys_unmount+0x331 syscall(f1898d28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (22, FreeBSD ELF32, sys_unmount), eip = 0x280debdb, 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 25579 files, 3643014 used, 114670967 free (1231 frags, 14333717 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 25579 files, 3643014 used, 114670967 free (1231 frags, 14333717 blocks, 0.0% fragmentation) ***** FILE SYSTEM IS CLEAN ***** fsck -y /tmp watchdogd. Starting inetd. Wed Nov 16 11:39:22 CET 2011 FreeBSD/i386 (x4.osted.lan) (console) login: Nov 16 12:33:47 x4 su: pho to root on /dev/pts/0 lock order reversal: 1st 0xc7e48e2c filedesc structure (filedesc structure) @ kern/sys_generic.c:1404 2nd 0xc7899310 devfs (devfs) @ kern/vfs_vnops.c:924 KDB: stack backtrace: db_trace_self_wrapper(c0f24688,2029000a,656b2040,732f6e72,675f7379,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a57a5b,c0f2808f,c11feda8,39c,f1a8b97c,...) at kdb_backtrace+0x2a _witness_debugger(c0f2808f,c7899310,c0f0ec27,c7169198,c0f31621,...) at _witness_debugger+0x25 witness_checkorder(c7899310,9,c0f31618,39c,c789937c,...) at witness_checkorder+0x86f __lockmgr_args(c7899310,80400,c789937c,0,0,...) at __lockmgr_args+0x834 vop_stdlock(f1a8ba9c,c0c81eb7,c8159800,80400,c78992b8,...) at vop_stdlock+0x65 VOP_LOCK1_APV(c1041720,f1a8ba9c,0,c107a8a0,c78992b8,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c78992b8,80400,c0f31618,39c,0,...) at _vn_lock+0x78 vn_poll(c856c460,20,c71a4900,c86998a0,c8159800,...) at vn_poll+0x77 sys_poll(c86998a0,f1a8bcec,c0f705ea,c0f28d92,282,...) at sys_poll+0x20c syscall(f1a8bd28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (209, FreeBSD ELF32, sys_poll), eip = 0x280feb81, esp = 0xbf5faf60, ebp = 0xbf5fafa8 --- lock order reversal: 1st 0xc7e48e2c filedesc structure (filedesc structure) @ kern/sys_generic.c:1404 2nd 0xc84ee724 ufs (ufs) @ kern/vfs_vnops.c:924 KDB: stack backtrace: db_trace_self_wrapper(c0f24688,20296572,656b2040,732f6e72,675f7379,...) at db_trace_self_wrapper+0x26 kdb_backtrace(c0a57a5b,c0f2808f,c11feda8,39c,f1a8b978,...) at kdb_backtrace+0x2a _witness_debugger(c0f2808f,c84ee724,c0f16dc4,c7169338,c0f31621,...) at _witness_debugger+0x25 witness_checkorder(c84ee724,9,c0f31618,39c,c84ee790,...) at witness_checkorder+0x86f __lockmgr_args(c84ee724,80400,c84ee790,0,0,...) at __lockmgr_args+0x834 ffs_lock(f1a8ba9c,c0aa7e75,c7899310,80400,c84ee6cc,...) at ffs_lock+0xa1 VOP_LOCK1_APV(c106b840,f1a8ba9c,0,c107a8a0,c84ee6cc,...) at VOP_LOCK1_APV+0xb5 _vn_lock(c84ee6cc,80400,c0f31618,39c,0,...) at _vn_lock+0x78 vn_poll(c78e55e8,40,c71a4900,c86998a0,c8159800,...) at vn_poll+0x77 sys_poll(c86998a0,f1a8bcec,c0f705ea,c0f28d92,282,...) at sys_poll+0x20c syscall(f1a8bd28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (209, FreeBSD ELF32, sys_poll), eip = 0x280feb81, esp = 0xbf5faf60, ebp = 0xbf5fafa8 --- tvotohz: negative time difference -1866210445 sec -984775 usec tvotohz: negative time difference -1434449915 sec -999998 usec tvotohz: negative time difference -2096626543 sec -690343 usec tvotohz: negative time difference -1879048191 sec -998690 usec tvotohz: negative time difference -16250875 sec -999998 usec tvotohz: negative time difference -1946157056 sec 0 usec tvotohz: negative time difference -603979775 sec -987434 usec tvotohz: negative time difference -1073741823 sec -998821 usec tvotohz: negative time difference -16777215 sec -983223 usec tvotohz: negative time difference -151063 sec -387859 usec tvotohz: negative time difference -2147483648 sec 0 usec tvotohz: negative time difference -955775856 sec -999926 usec tvotohz: negative time difference -388235263 sec -999951 usec tvotohz: negative time difference -100375 sec -970607 usec tvotohz: negative time difference -175895 sec -391513 usec tvotohz: negative time difference -1961064587 sec -853006 usec tvotohz: negative time difference -155415 sec -391513 usec tvotohz: negative time difference -1073741823 sec -998952 usec tvotohz: negative time difference -939524096 sec -999729 usec tvotohz: negative time difference -1653 sec -748227 usec tvotohz: negative time difference -1857773101 sec -722453 usec tvotohz: negative time difference -1428682747 sec -999998 usec tvotohz: negative time difference -1957690331 sec -919848 usec tvotohz: negative time difference -1879048191 sec -996920 usec tvotohz: negative time difference -27858907 sec -919784 usec tvotohz: negative time difference -167772143 sec -731565 usec tvotohz: negative time difference -16251770 sec -959106 usec tvotohz: negative time difference -232215 sec -395707 usec tvotohz: negative time difference -956301311 sec -982690 usec tvotohz: negative time difference -1480587259 sec -999998 usec tvotohz: negative time difference -1474820091 sec -999998 usec tvotohz: negative time difference -1526192119 sec -142255 usec tvotohz: negative time difference -1451751419 sec -999998 usec ~KDB: enter: Break to debugger [ thread pid 7114 tid 5083063 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> thread 5083063 [ thread pid 7114 tid 5083063 ] kdb_enter+0x3a: movl $0,kdb_why db> bt Tracing pid 7114 tid 5083063 td 0xc7d2d5c0 kdb_enter(c0d95bde,c0f24639,f18fbb30,c088d16b,c755c000,...) at kdb_enter+0x3a kdb_break(c755c000,c0f706b7,c0d551d8,c755c080,c755c058,...) at kdb_break+0x28 uart_intr(c755c000,c0d5fccd,f18fbb58,c10b8180,0,...) at uart_intr+0x11b intr_event_handle(c71c4d00,f18fbb9c,c7d2d5c0,20000000,c7882580,...) at intr_event_handle+0x76 intr_execute_handlers(c720b0d0,f18fbb9c,0,f18fbc1c,c0d40d45,...) at intr_execute_handlers+0x49 lapic_handle_intr(3c,f18fbb9c) at lapic_handle_intr+0x36 Xapic_isr1() at Xapic_isr1+0x35 --- interrupt, eip = 0xc0d551d8, esp = 0xf18fbbdc, ebp = 0xf18fbc1c --- fusufault(0,c87896cc,ffffffff,c7d2d5c0,f18fbc6c,...) at fusufault __umtx_op_rw_rdlock(c7d2d5c0,f18fbcec,f18fbd1c,c0d575b4,c7d2d5c0,...) at __umtx_op_rw_rdlock+0x27 sys__umtx_op(c7d2d5c0,f18fbcec,c0f705ea,c0f28bf7,296,...) at sys__umtx_op+0x27 syscall(f18fbd28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (454, FreeBSD ELF32, sys__umtx_op), eip = 0x2809e7e3, esp = 0xbf9fedc8, ebp = 0xbf9fede4 --- db> c ~KDB: enter: Break to debugger [ thread pid 11 tid 100003 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> thread 5083063 [ thread pid 7114 tid 5083063 ] cpustop_handler+0x28: movl 0xffffffec(%ebp),%ebx db> bt Tracing pid 7114 tid 5083063 td 0xc7d2d5c0 cpustop_handler(2,13,f18fbb80,c0d579b6,c7d2d5c0,...) at cpustop_handler+0x28 ipi_nmi_handler(c7d2d5c0,f18fbb9c,f18fbb90,c0d57e45,c7c25000,...) at ipi_nmi_handler+0x47 trap(f18fbb8c) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d40918, esp = 0xf18fbbcc, ebp = 0xf18fbc1c --- Xpage(0,c87896cc,ffffffff,c7d2d5c0,f18fbc6c,...) at Xpage __umtx_op_rw_rdlock(c7d2d5c0,f18fbcec,f18fbd1c,c0d575b4,c7d2d5c0,...) at __umtx_op_rw_rdlock+0x27 sys__umtx_op(c7d2d5c0,f18fbcec,c0f705ea,c0f28bf7,296,...) at sys__umtx_op+0x27 syscall(f18fbd28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (454, FreeBSD ELF32, sys__umtx_op), eip = 0x2809e7e3, esp = 0xbf9fedc8, ebp = 0xbf9fede4 --- db> c Nov 16 14:11:36 x4 su: pho to root on /dev/pts/2 Stopping inetd. Waiting for PIDS: 2183. Shutting down local packages:. Stopping cron. Waiting for PIDS: 2110. Stopping sshd. Waiting for PIDS: 2090. Stopping moused. Waiting for PIDS: 2030, 2030. Stopping ntpd. Waiting for PIDS: 1952. Stopping nfsd. Waiting for PIDS: 1845 1852. Stopping mountd. Waiting for PIDS: 1835. Stopping rpcbind. Waiting for PIDS: 1736. Stopping devd. Waiting for PIDS: 1502. Writing entropy file:. Terminated . Nov 16 14:13:16 x4 syslogd: exiting on signal 15 Nov 16 14:13:36 init: some processes would not die; ps axl advised Enter full pathname of shell or RETURN for /bin/sh: # ~KDB: enter: Break to debugger [ thread pid 11 tid 100003 ] Stopped at kdb_enter+0x3a: movl $0,kdb_why db> run pho db:0:pho> bt Tracing pid 11 tid 100003 td 0xc71c88a0 kdb_enter(c0d95bde,c0f24639,c6f3fba4,c088d16b,c755c000,...) at kdb_enter+0x3a kdb_break(c755c000,169e070,c0d3c345,c755c080,c755c058,...) at kdb_break+0x28 uart_intr(c755c000,0,c1262a60,c6f3fbe8,0,...) at uart_intr+0x11b intr_event_handle(c71c4d00,c6f3fc10,c6f3fc34,0,c73ee200,...) at intr_event_handle+0x76 intr_execute_handlers(c720b0d0,c6f3fc10,0,c6f3fc50,c0d40d45,...) at intr_execute_handlers+0x49 lapic_handle_intr(3c,c6f3fc10) at lapic_handle_intr+0x36 Xapic_isr1() at Xapic_isr1+0x35 --- interrupt, eip = 0xc0d3c345, esp = 0xc6f3fc50, ebp = 0xc6f3fc50 --- acpi_cpu_c1(c6f3fc6c,c107bfd0,0,301,24ea,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c6f3fca0,c0d4a5e9,0,ffffffff,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,ffffffff,c10c3d00,2,c6f3fce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c6f3fcc4,c0f22702,a0a,c71c88a0,...) at cpu_idle+0x89 sched_idletd(0,c6f3fd28,c0f1aef0,3db,c71c684c,...) at sched_idletd+0x263 fork_exit(c0a44c10,0,c6f3fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f3fd60, ebp = 0 --- db:0:bt> show allpcpu Current CPU: 0 cpuid = 0 dynamic pcpu = 0x7aa000 curthread = 0xc71c88a0: pid 11 "idle: cpu0" curpcb = 0xc6f3fd80 fpcurthread = none idlethread = 0xc71c88a0: tid 100003 "idle: cpu0" APIC ID = 0 currentldt = 0x50 spin locks held: cpuid = 1 dynamic pcpu = 0x5eb4000 curthread = 0xc71c85c0: pid 11 "idle: cpu1" curpcb = 0xc6f42d80 fpcurthread = none idlethread = 0xc71c85c0: tid 100004 "idle: cpu1" APIC ID = 1 currentldt = 0x50 spin locks held: cpuid = 2 dynamic pcpu = 0x5eb7000 curthread = 0xc71c82e0: pid 11 "idle: cpu2" curpcb = 0xc6f45d80 fpcurthread = none idlethread = 0xc71c82e0: tid 100005 "idle: cpu2" APIC ID = 2 currentldt = 0x50 spin locks held: cpuid = 3 dynamic pcpu = 0x5eba000 curthread = 0xc7d2d5c0: pid 7114 "syscall2" curpcb = 0xf18fbd80 fpcurthread = none idlethread = 0xc71c8000: tid 100006 "idle: cpu3" APIC ID = 3 currentldt = 0x50 spin locks held: db:0:allpcpu> show alllocks Process 7114 (syscall2) thread 0xc7d2d5c0 (5083063) exclusive sleep mutex umtxql (umtxql) r = 0 (0xc10b8180) locked @ kern/kern_umtx.c:287 db:0:alllocks> show lockedvnods Locked vnodes db:0:lockedvnods> show mount 0xc7895b50 /dev/ad4s1a on / (ufs) 0xc7896000 devfs on /dev (devfs) 0xc789587c /dev/ad4s1f on /home (ufs) 0xc7bb82d4 /dev/ad4s1d on /usr (ufs) 0xc7bb8000 /dev/ad4s1e on /var (ufs) 0xc7896b50 procfs on /proc (procfs) 0xc789687c linprocfs on /usr/compat/linux/proc (linprocfs) 0xc78965a8 /dev/label/tmp on /tmp (ufs) 0xc78962d4 /dev/md5a on /mnt (ufs) More info: show mount db:0:mount> ps pid ppid pgrp uid state wmesg wchan cmd 32862 1 32862 0 Ss+ ttyin 0xc72e8470 sh 7114 1 7955 65534 T+ (threaded) syscall2 5083573 s syscall2 5083067 s syscall2 5083063 Run CPU 3 syscall2 5083755 s syscall2 7982 0 0 0 DL mdwait 0xc73b1000 [md5] 18 0 0 0 DL sdflush 0xc1233940 [softdepflush] 17 0 0 0 DL syncer 0xc122d274 [syncer] 16 0 0 0 DL vlruwt 0xc77ef84c [vnlru] 9 0 0 0 DL psleep 0xc122cf08 [bufdaemon] 8 0 0 0 DL pgzero 0xc12357dc [pagezero] 7 0 0 0 DL psleep 0xc12353c8 [vmdaemon] 6 0 0 0 DL psleep 0xc1235390 [pagedaemon] 5 0 0 0 DL ccb_scan 0xc107bd54 [xpt_thrd] 4 0 0 0 DL waiting_ 0xc122ed78 [sctp_iterator] 3 0 0 0 DL - 0xc73eea3c [fdc0] 2 0 0 0 SL - 0xc747c000 [fw0_probe] 15 0 0 0 DL (threaded) [usb] 100058 D - 0xc745cd34 [usbus5] 100057 D - 0xc745cd04 [usbus5] 100056 D - 0xc745ccd4 [usbus5] 100055 D - 0xc745cca4 [usbus5] 100053 D - 0xc7451b5c [usbus4] 100052 D - 0xc7451b2c [usbus4] 100051 D - 0xc7451afc [usbus4] 100050 D - 0xc7451acc [usbus4] 100049 D - 0xc744db5c [usbus3] 100048 D - 0xc744db2c [usbus3] 100047 D - 0xc744dafc [usbus3] 100046 D - 0xc744dacc [usbus3] 100045 D - 0xc7443b5c [usbus2] 100044 D - 0xc7443b2c [usbus2] 100043 D - 0xc7443afc [usbus2] 100042 D - 0xc7443acc [usbus2] 100040 D - 0xc743bb5c [usbus1] 100039 D - 0xc743bb2c [usbus1] 100038 D - 0xc743bafc [usbus1] 100037 D - 0xc743bacc [usbus1] 100035 D - 0xc7428b5c [usbus0] 100034 D - 0xc7428b2c [usbus0] 100033 D - 0xc7428afc [usbus0] 100032 D - 0xc7428acc [usbus0] 14 0 0 0 DL - 0xc10b5ea4 [yarrow] 13 0 0 0 DL (threaded) [geom] 100015 D - 0xc10b3aa8 [g_down] 100014 D - 0xc10b3aa4 [g_up] 100013 D - 0xc10b3a9c [g_event] 12 0 0 0 WL (threaded) [intr] 100066 I [irq12: psm0] 100065 I [irq1: atkbd0] 100063 I [swi0: uart] 100060 I [irq20: fwohci0] 100059 I [irq14: ata0] 100054 I [irq19: ehci0] 100041 I [irq18: ohci2 ohci4] 100036 I [irq17: ohci1 ohci3] 100031 I [irq16: hdac1 ohci0] 100030 I [irq22: ahci0] 100029 I [irq257: re0] 100028 I [irq256: hdac0] 100027 I [swi6: Giant taskq] 100025 I [swi5: +] 100024 I [swi2: cambio] 100018 I [swi6: task queue] 100012 I [swi3: vm] 100011 I [swi4: clock] 100010 I [swi4: clock] 100009 I [swi4: clock] 100008 I [swi4: clock] 100007 I [swi1: netisr 0] 11 0 0 0 RL (threaded) [idle] 100006 CanRun [idle: cpu3] 100005 Run CPU 2 [idle: cpu2] 100004 Run CPU 1 [idle: cpu1] 100003 Run CPU 0 [idle: cpu0] 1 0 1 0 SLs wait 0xc71c6b10 [init] 10 0 0 0 DL audit_wo 0xc1233080 [audit] 0 0 0 0 DLs (threaded) [kernel] 100077 D - 0xc77cfb00 [mca taskq] 100067 D - 0xc10b5ea4 [deadlkres] 100061 D - 0xc747b140 [fw0_taskq] 100026 D - 0xc7354400 [thread taskq] 100023 D - 0xc7354480 [kqueue taskq] 100022 D - 0xc73544c0 [acpi_task_2] 100021 D - 0xc73544c0 [acpi_task_1] 100020 D - 0xc73544c0 [acpi_task_0] 100019 D - 0xc7354500 [ffs_trim taskq] 100016 D - 0xc7195c40 [firmware taskq] 100000 D sched 0xc10b3b80 [swapper] db:0:ps> allt Tracing command sh pid 32862 tid 5135181 td 0xc85998a0 sched_switch(c85998a0,0,104,191,a6feab9e,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c85998a0,0,c0f25fc0,1a7,0,...) at sleepq_switch+0x162 sleepq_catch_signals(c0a0df8a,c72e8404,0,c0f1eb8b,c85998a0,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c72e8470,0,f1983af0,101,0,...) at sleepq_wait_sig+0x17 _cv_wait_sig(c72e8470,c72e8404,c0f2a668,527,0,...) at _cv_wait_sig+0x243 tty_wait(c72e8400,c72e8470,f1983c44,1,0,...) at tty_wait+0x71 ttydisc_read(c72e8400,f1983c44,0,a1,0,...) at ttydisc_read+0x22c ttydev_read(c71ad700,f1983c44,0,0,1,...) at ttydev_read+0xaa devfs_read_f(c78e5d58,f1983c44,c71a4e80,0,c85998a0,...) at devfs_read_f+0x7e dofileread(f1983c44,ffffffff,ffffffff,0,f1983c20,...) at dofileread+0x9e kern_readv(c85998a0,0,f1983c44,f1983c64,1,...) at kern_readv+0x68 sys_read(c85998a0,f1983cec,c0f705ea,c0f41d80,206,...) at sys_read+0x4f syscall(f1983d28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (3, FreeBSD ELF32, sys_read), eip = 0x281fd563, esp = 0xbfbfecac, ebp = 0xbfbfecd8 --- Tracing command syscall2 pid 7114 tid 5083573 td 0xc88358a0 sched_switch(c88358a0,0,20a,191,33041e2e,...) at sched_switch+0x3bc mi_switch(20a,0,c0f219ab,330,c7c25088,...) at mi_switch+0x1eb thread_suspend_check(0,0,c0f2695e,f3,c88358a0,...) at thread_suspend_check+0x2b9 ast(f1a5bd28) at ast+0x431 doreti_ast() at doreti_ast+0x17 Tracing command syscall2 pid 7114 tid 5083067 td 0xc852cb80 sched_switch(c852cb80,0,10a,191,33040107,...) at sched_switch+0x3bc mi_switch(10a,0,c0f219ab,350,c7c25088,...) at mi_switch+0x1eb thread_suspend_switch(c852cb80,0,c0f219ab,2a5,c7c25010,...) at thread_suspend_switch+0x2a4 thread_single(0,4,c0f206f6,b22,0,...) at thread_single+0x2b4 sigexit(c852cb80,4,c0f6e7c9,2e0,c7c25088,...) at sigexit+0x77 sendsig(2809b0b0,f1a46cbc,c852cd04,74a,f1a46c88,...) at sendsig+0x934 trapsignal(c852cb80,f1a46cbc,c0f706b7,310,c7c25000,...) at trapsignal+0x147 trap(f1a46d28) at trap+0x74d calltrap() at calltrap+0x6 --- trap 0xc, eip = 0x280feb81, esp = 0xbf8fdf60, ebp = 0xbf8fdfa8 --- Tracing command syscall2 pid 7114 tid 5083063 td 0xc7d2d5c0 cpustop_handler(3,13,f18fbb68,c0d579b6,f18fbb9c,...) at cpustop_handler+0x28 ipi_nmi_handler(f18fbb9c,280ae000,c7d1b570,c7d2d5c0,c7c25000,...) at ipi_nmi_handler+0x47 trap(f18fbb74) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0a694c1, esp = 0xf18fbbb4, ebp = 0xf18fbbd8 --- witness_unlock(c10b8180,0,c0f21fb3,12b,0,...) at witness_unlock+0x1 do_rw_rdlock(0,c87896cc,ffffffff,c7d2d5c0,f18fbc6c,...) at do_rw_rdlock+0x41b __umtx_op_rw_rdlock(c7d2d5c0,f18fbcec,f18fbd1c,c0d575b4,c7d2d5c0,...) at __umtx_op_rw_rdlock+0x27 sys__umtx_op(c7d2d5c0,f18fbcec,c0f705ea,c0f28bf7,296,...) at sys__umtx_op+0x27 syscall(f18fbd28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (454, FreeBSD ELF32, sys__umtx_op), eip = 0x2809e7e3, esp = 0xbf9fedc8, ebp = 0xbf9fede4 --- Tracing command syscall2 pid 7114 tid 5083755 td 0xc85442e0 sched_switch(c85442e0,0,20a,191,33041169,...) at sched_switch+0x3bc mi_switch(20a,0,c0f219ab,330,c7c25088,...) at mi_switch+0x1eb thread_suspend_check(0,0,c0f1ac71,91,c11fdf90,...) at thread_suspend_check+0x2b9 exit1(c85442e0,4,c0f206f6,b40,0,...) at exit1+0xac sigexit(c85442e0,4,c0f6e7c9,2e0,c7c25088,...) at sigexit+0xe33 sendsig(2809b0b0,f1b4bcbc,c8544464,74a,f1b4bc88,...) at sendsig+0x934 trapsignal(c85442e0,f1b4bcbc,c0f706b7,310,c7c25000,...) at trapsignal+0x147 trap(f1b4bd28) at trap+0x74d calltrap() at calltrap+0x6 --- trap 0xc, eip = 0x280996f3, esp = 0xbfbfe710, ebp = 0xbfbfe758 --- Tracing command md5 pid 7982 tid 2995346 td 0xc85ad2e0 sched_switch(c85ad2e0,0,104,191,202e9bad,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,5c,...) at mi_switch+0x1eb sleepq_switch(c85ad2e0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c73b1000,5c,c0ebe942,0,0,...) at sleepq_wait+0x63 _sleep(c73b1000,c73b1020,25c,c0ebe942,0,...) at _sleep+0x372 md_kthread(c73b1000,f1a1fd28,c0f1aef0,3db,c7d28000,...) at md_kthread+0x11a fork_exit(c0736a70,c73b1000,f1a1fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf1a1fd60, ebp = 0 --- Tracing command softdepflush pid 18 tid 100076 td 0xc74578a0 sched_switch(c74578a0,0,104,191,3cffd400,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,54,...) at mi_switch+0x1eb sleepq_switch(c74578a0,0,c0f25fc0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1233940,54,c0f56590,0,0,...) at sleepq_timedwait+0x6b _sleep(c1233940,c1233900,54,c0f56590,3e8,...) at _sleep+0x342 softdep_flush(0,ed416d28,c0f1aef0,3db,c77ef2c4,...) at softdep_flush+0x266 fork_exit(c0c59be0,0,ed416d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed416d60, ebp = 0 --- Tracing command syncer pid 17 tid 100075 td 0xc7457b80 sched_switch(c7457b80,0,104,191,26ca290c,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c7457b80,0,c0f25fc0,28b,c7457b80,...) at sleepq_switch+0x162 sleepq_timedwait(c122d274,0,ed413c78,1,0,...) at sleepq_timedwait+0x6b _cv_timedwait(c122d274,c122d260,3e8,78b,4e20,...) at _cv_timedwait+0x252 sched_sync(0,ed413d28,c0f1aef0,3db,c77ef588,...) at sched_sync+0x595 fork_exit(c0abade0,0,ed413d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed413d60, ebp = 0 --- Tracing command vnlru pid 16 tid 100074 td 0xc7573000 sched_switch(c7573000,0,104,191,23adf427,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,60,...) at mi_switch+0x1eb sleepq_switch(c7573000,0,c0f25fc0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c77ef84c,60,c0f30da4,0,0,...) at sleepq_timedwait+0x6b _sleep(c77ef84c,c122d234,260,c0f30da4,3e8,...) at _sleep+0x342 vnlru_proc(0,ed410d28,c0f1aef0,3db,c77ef84c,...) at vnlru_proc+0xe7 fork_exit(c0abce40,0,ed410d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed410d60, ebp = 0 --- Tracing command bufdaemon pid 9 tid 100073 td 0xc75732e0 sched_switch(c75732e0,0,104,191,23adee6d,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,54,...) at mi_switch+0x1eb sleepq_switch(c75732e0,0,c0f25fc0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c122cf08,54,c0f2dd0f,0,0,...) at sleepq_timedwait+0x6b _sleep(c122cf08,c122cf10,54,c0f2dd0f,3e8,...) at _sleep+0x342 buf_daemon(0,ed40dd28,c0f1aef0,3db,c77efb10,...) at buf_daemon+0x175 fork_exit(c0aa1840,0,ed40dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed40dd60, ebp = 0 --- Tracing command pagezero pid 8 tid 100072 td 0xc75735c0 sched_switch(c75735c0,0,104,191,6b2c21b2,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c75735c0,0,c0f25fc0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c12357dc,0,c0f5d0e6,0,0,...) at sleepq_timedwait+0x6b _sleep(c12357dc,c1234280,0,c0f5d0e6,493e0,...) at _sleep+0x342 vm_pagezero(0,ed40ad28,c0f1aef0,3db,c77f0000,...) at vm_pagezero+0xdc fork_exit(c0c9faa0,0,ed40ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed40ad60, ebp = 0 --- Tracing command vmdaemon pid 7 tid 100071 td 0xc75738a0 sched_switch(c75738a0,0,104,191,a6cb863b,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,74,...) at mi_switch+0x1eb sleepq_switch(c75738a0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c12353c8,74,c0f2dd0f,0,0,...) at sleepq_wait+0x63 _sleep(c12353c8,c12353cc,74,c0f2dd0f,0,...) at _sleep+0x372 vm_daemon(0,ed407d28,c0f1aef0,3db,c71c72c4,...) at vm_daemon+0x59 fork_exit(c0c99900,0,ed407d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed407d60, ebp = 0 --- Tracing command pagedaemon pid 6 tid 100070 td 0xc7573b80 sched_switch(c7573b80,0,104,191,b848238d,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,54,...) at mi_switch+0x1eb sleepq_switch(c7573b80,0,c0f25fc0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c1235390,54,c0f2dd0f,0,0,...) at sleepq_timedwait+0x6b _sleep(c1235390,c1234280,54,c0f2dd0f,1388,...) at _sleep+0x342 vm_pageout(0,ed404d28,c0f1aef0,3db,c71c7588,...) at vm_pageout+0x2c7 fork_exit(c0c9a9e0,0,ed404d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed404d60, ebp = 0 --- Tracing command xpt_thrd pid 5 tid 100069 td 0xc7575000 sched_switch(c7575000,0,104,191,9eb11935,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,5c,...) at mi_switch+0x1eb sleepq_switch(c7575000,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c107bd54,5c,c0d7fb35,0,0,...) at sleepq_wait+0x63 _sleep(c107bd54,c107bd98,5c,c0d7fb35,0,...) at _sleep+0x372 xpt_scanner_thread(0,ed3a1d28,c0f1aef0,3db,c71c784c,...) at xpt_scanner_thread+0x47 fork_exit(c048e4c0,0,ed3a1d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed3a1d60, ebp = 0 --- Tracing command sctp_iterator pid 4 tid 100068 td 0xc75752e0 sched_switch(c75752e0,0,104,191,dba9ce4f,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c75752e0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c122ed78,0,c0f4439f,0,0,...) at sleepq_wait+0x63 _sleep(c122ed78,c122ed40,0,c0f4439f,0,...) at _sleep+0x372 sctp_iterator_thread(0,ed39ed28,c0f1aef0,3db,c71c7b10,...) at sctp_iterator_thread+0x5c fork_exit(c0b4e770,0,ed39ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed39ed60, ebp = 0 --- Tracing command fdc0 pid 3 tid 100064 td 0xc7576000 sched_switch(c7576000,0,104,191,23c913db,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,5c,...) at mi_switch+0x1eb sleepq_switch(c7576000,0,c0f25fc0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c73eea3c,5c,c0f131d2,0,0,...) at sleepq_timedwait+0x6b _sleep(c73eea3c,c73eeaf0,5c,c0f131d2,3e8,...) at _sleep+0x342 fdc_thread(c73eea00,ed392d28,c0f1aef0,3db,c7434000,...) at fdc_thread+0x27d fork_exit(c0d1ed70,c73eea00,ed392d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed392d60, ebp = 0 --- Tracing command fw0_probe pid 2 tid 100062 td 0xc744b5c0 sched_switch(c744b5c0,0,104,191,9eb14ff4,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,6c,...) at mi_switch+0x1eb sleepq_switch(c744b5c0,0,c0f25fc0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f25fc0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c747c000,6c,c0f131d2,100,0,...) at sleepq_wait_sig+0x17 _sleep(c747c000,c7480488,16c,c0f131d2,0,...) at _sleep+0x35c fw_bus_probe_thread(c747c000,ed382d28,c0f1aef0,3db,c74342c4,...) at fw_bus_probe_thread+0xa08 fork_exit(c06bdfe0,c747c000,ed382d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed382d60, ebp = 0 --- Tracing command usb pid 15 tid 100058 td 0xc74552e0 sched_switch(c74552e0,0,104,191,8c4af595,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74552e0,0,c0f25fc0,268,c74552e0,...) at sleepq_switch+0x162 sleepq_wait(c745cd34,0,ed36bcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c745cd34,c745cdd4,c0ef97f1,74,c745cd3c,...) at _cv_wait+0x243 usb_process(c745cd2c,ed36bd28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c745cd2c,ed36bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed36bd60, ebp = 0 --- Tracing command usb pid 15 tid 100057 td 0xc74555c0 sched_switch(c74555c0,0,104,191,4d381813,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74555c0,0,c0f25fc0,268,c74555c0,...) at sleepq_switch+0x162 sleepq_wait(c745cd04,0,ed368cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c745cd04,c745cdd4,c0ef97f1,74,c745cd0c,...) at _cv_wait+0x243 usb_process(c745ccfc,ed368d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c745ccfc,ed368d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed368d60, ebp = 0 --- Tracing command usb pid 15 tid 100056 td 0xc74558a0 sched_switch(c74558a0,0,104,191,8be4c02f,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74558a0,0,c0f25fc0,268,c74558a0,...) at sleepq_switch+0x162 sleepq_wait(c745ccd4,0,ed365cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c745ccd4,c745cdd4,c0ef97f1,74,c745ccdc,...) at _cv_wait+0x243 usb_process(c745cccc,ed365d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c745cccc,ed365d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed365d60, ebp = 0 --- Tracing command usb pid 15 tid 100055 td 0xc7455b80 sched_switch(c7455b80,0,104,191,8be4af3b,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c7455b80,0,c0f25fc0,268,c7455b80,...) at sleepq_switch+0x162 sleepq_wait(c745cca4,0,ed362cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c745cca4,c745cdd4,c0ef97f1,74,c745ccac,...) at _cv_wait+0x243 usb_process(c745cc9c,ed362d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c745cc9c,ed362d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed362d60, ebp = 0 --- Tracing command usb pid 15 tid 100053 td 0xc74572e0 sched_switch(c74572e0,0,104,191,8be49a5d,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74572e0,0,c0f25fc0,268,c74572e0,...) at sleepq_switch+0x162 sleepq_wait(c7451b5c,0,ed359cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7451b5c,c7451bfc,c0ef97f1,74,c7451b64,...) at _cv_wait+0x243 usb_process(c7451b54,ed359d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7451b54,ed359d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed359d60, ebp = 0 --- Tracing command usb pid 15 tid 100052 td 0xc74575c0 sched_switch(c74575c0,0,104,191,4d370679,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74575c0,0,c0f25fc0,268,c74575c0,...) at sleepq_switch+0x162 sleepq_wait(c7451b2c,0,ed356cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7451b2c,c7451bfc,c0ef97f1,74,c7451b34,...) at _cv_wait+0x243 usb_process(c7451b24,ed356d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7451b24,ed356d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed356d60, ebp = 0 --- Tracing command usb pid 15 tid 100051 td 0xc7449000 sched_switch(c7449000,0,104,191,8b805d5b,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c7449000,0,c0f25fc0,268,c7449000,...) at sleepq_switch+0x162 sleepq_wait(c7451afc,0,ed353cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7451afc,c7451bfc,c0ef97f1,74,c7451b04,...) at _cv_wait+0x243 usb_process(c7451af4,ed353d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7451af4,ed353d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed353d60, ebp = 0 --- Tracing command usb pid 15 tid 100050 td 0xc74492e0 sched_switch(c74492e0,0,104,191,8b804bfb,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74492e0,0,c0f25fc0,268,c74492e0,...) at sleepq_switch+0x162 sleepq_wait(c7451acc,0,ed350cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7451acc,c7451bfc,c0ef97f1,74,c7451ad4,...) at _cv_wait+0x243 usb_process(c7451ac4,ed350d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7451ac4,ed350d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed350d60, ebp = 0 --- Tracing command usb pid 15 tid 100049 td 0xc74495c0 sched_switch(c74495c0,0,104,191,8b803565,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74495c0,0,c0f25fc0,268,c74495c0,...) at sleepq_switch+0x162 sleepq_wait(c744db5c,0,ed34ccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c744db5c,c744dbfc,c0ef97f1,74,c744db64,...) at _cv_wait+0x243 usb_process(c744db54,ed34cd28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c744db54,ed34cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed34cd60, ebp = 0 --- Tracing command usb pid 15 tid 100048 td 0xc74498a0 sched_switch(c74498a0,0,104,191,4d363946,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74498a0,0,c0f25fc0,268,c74498a0,...) at sleepq_switch+0x162 sleepq_wait(c744db2c,0,ed349cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c744db2c,c744dbfc,c0ef97f1,74,c744db34,...) at _cv_wait+0x243 usb_process(c744db24,ed349d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c744db24,ed349d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed349d60, ebp = 0 --- Tracing command usb pid 15 tid 100047 td 0xc7449b80 sched_switch(c7449b80,0,104,191,85aa4233,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c7449b80,0,c0f25fc0,268,c7449b80,...) at sleepq_switch+0x162 sleepq_wait(c744dafc,0,ed346cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c744dafc,c744dbfc,c0ef97f1,74,c744db04,...) at _cv_wait+0x243 usb_process(c744daf4,ed346d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c744daf4,ed346d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed346d60, ebp = 0 --- Tracing command usb pid 15 tid 100046 td 0xc744a000 sched_switch(c744a000,0,104,191,85aa3045,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c744a000,0,c0f25fc0,268,c744a000,...) at sleepq_switch+0x162 sleepq_wait(c744dacc,0,ed343cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c744dacc,c744dbfc,c0ef97f1,74,c744dad4,...) at _cv_wait+0x243 usb_process(c744dac4,ed343d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c744dac4,ed343d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed343d60, ebp = 0 --- Tracing command usb pid 15 tid 100045 td 0xc744a2e0 sched_switch(c744a2e0,0,104,191,85aa1c67,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c744a2e0,0,c0f25fc0,268,c744a2e0,...) at sleepq_switch+0x162 sleepq_wait(c7443b5c,0,ed33fcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7443b5c,c7443bfc,c0ef97f1,74,c7443b64,...) at _cv_wait+0x243 usb_process(c7443b54,ed33fd28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7443b54,ed33fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed33fd60, ebp = 0 --- Tracing command usb pid 15 tid 100044 td 0xc744a5c0 sched_switch(c744a5c0,0,104,191,4d359a1f,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c744a5c0,0,c0f25fc0,268,c744a5c0,...) at sleepq_switch+0x162 sleepq_wait(c7443b2c,0,ed33ccac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7443b2c,c7443bfc,c0ef97f1,74,c7443b34,...) at _cv_wait+0x243 usb_process(c7443b24,ed33cd28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7443b24,ed33cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed33cd60, ebp = 0 --- Tracing command usb pid 15 tid 100043 td 0xc744a8a0 sched_switch(c744a8a0,0,104,191,85464152,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c744a8a0,0,c0f25fc0,268,c744a8a0,...) at sleepq_switch+0x162 sleepq_wait(c7443afc,0,ed339cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7443afc,c7443bfc,c0ef97f1,74,c7443b04,...) at _cv_wait+0x243 usb_process(c7443af4,ed339d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7443af4,ed339d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed339d60, ebp = 0 --- Tracing command usb pid 15 tid 100042 td 0xc744ab80 sched_switch(c744ab80,0,104,191,85462eed,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c744ab80,0,c0f25fc0,268,c744ab80,...) at sleepq_switch+0x162 sleepq_wait(c7443acc,0,ed336cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7443acc,c7443bfc,c0ef97f1,74,c7443ad4,...) at _cv_wait+0x243 usb_process(c7443ac4,ed336d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7443ac4,ed336d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed336d60, ebp = 0 --- Tracing command usb pid 15 tid 100040 td 0xc742f000 sched_switch(c742f000,0,104,191,85461c40,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c742f000,0,c0f25fc0,268,c742f000,...) at sleepq_switch+0x162 sleepq_wait(c743bb5c,0,e0ffecac,1,0,...) at sleepq_wait+0x63 _cv_wait(c743bb5c,c743bbfc,c0ef97f1,74,c743bb64,...) at _cv_wait+0x243 usb_process(c743bb54,e0ffed28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c743bb54,e0ffed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0ffed60, ebp = 0 --- Tracing command usb pid 15 tid 100039 td 0xc742f2e0 sched_switch(c742f2e0,0,104,191,4d3510ca,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c742f2e0,0,c0f25fc0,268,c742f2e0,...) at sleepq_switch+0x162 sleepq_wait(c743bb2c,0,e0ffbcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c743bb2c,c743bbfc,c0ef97f1,74,c743bb34,...) at _cv_wait+0x243 usb_process(c743bb24,e0ffbd28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c743bb24,e0ffbd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0ffbd60, ebp = 0 --- Tracing command usb pid 15 tid 100038 td 0xc742f5c0 sched_switch(c742f5c0,0,104,191,84e26b97,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c742f5c0,0,c0f25fc0,268,c742f5c0,...) at sleepq_switch+0x162 sleepq_wait(c743bafc,0,e0ff8cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c743bafc,c743bbfc,c0ef97f1,74,c743bb04,...) at _cv_wait+0x243 usb_process(c743baf4,e0ff8d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c743baf4,e0ff8d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0ff8d60, ebp = 0 --- Tracing command usb pid 15 tid 100037 td 0xc742f8a0 sched_switch(c742f8a0,0,104,191,84e25ac3,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c742f8a0,0,c0f25fc0,268,c742f8a0,...) at sleepq_switch+0x162 sleepq_wait(c743bacc,0,e0ff5cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c743bacc,c743bbfc,c0ef97f1,74,c743bad4,...) at _cv_wait+0x243 usb_process(c743bac4,e0ff5d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c743bac4,e0ff5d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0ff5d60, ebp = 0 --- Tracing command usb pid 15 tid 100035 td 0xc7431000 sched_switch(c7431000,0,104,191,84e244eb,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c7431000,0,c0f25fc0,268,c7431000,...) at sleepq_switch+0x162 sleepq_wait(c7428b5c,0,e0feecac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7428b5c,c7428bfc,c0ef97f1,74,c7428b64,...) at _cv_wait+0x243 usb_process(c7428b54,e0feed28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7428b54,e0feed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0feed60, ebp = 0 --- Tracing command usb pid 15 tid 100034 td 0xc74312e0 sched_switch(c74312e0,0,104,191,4d34b6be,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74312e0,0,c0f25fc0,268,c74312e0,...) at sleepq_switch+0x162 sleepq_wait(c7428b2c,0,e0febcac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7428b2c,c7428bfc,c0ef97f1,74,c7428b34,...) at _cv_wait+0x243 usb_process(c7428b24,e0febd28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7428b24,e0febd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0febd60, ebp = 0 --- Tracing command usb pid 15 tid 100033 td 0xc74315c0 sched_switch(c74315c0,0,104,191,847e9e54,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74315c0,0,c0f25fc0,268,c74315c0,...) at sleepq_switch+0x162 sleepq_wait(c7428afc,0,e0fe8cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7428afc,c7428bfc,c0ef97f1,74,c7428b04,...) at _cv_wait+0x243 usb_process(c7428af4,e0fe8d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7428af4,e0fe8d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0fe8d60, ebp = 0 --- Tracing command usb pid 15 tid 100032 td 0xc74318a0 sched_switch(c74318a0,0,104,191,847e8dde,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c74318a0,0,c0f25fc0,268,c74318a0,...) at sleepq_switch+0x162 sleepq_wait(c7428acc,0,e0fe5cac,1,0,...) at sleepq_wait+0x63 _cv_wait(c7428acc,c7428bfc,c0ef97f1,74,c7428ad4,...) at _cv_wait+0x243 usb_process(c7428ac4,e0fe5d28,c0f1aef0,3db,c7434588,...) at usb_process+0x1a3 fork_exit(c08c1b20,c7428ac4,e0fe5d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0fe5d60, ebp = 0 --- Tracing command yarrow pid 14 tid 100017 td 0xc72d25c0 sched_switch(c72d25c0,0,104,191,87ac8343,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c72d25c0,0,c0f25fc0,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c10b5ea4,0,c0f131d2,2,0,...) at sleepq_timedwait+0x6b _sleep(c10b5ea4,0,0,c0f131d2,64,...) at _sleep+0x342 pause(c0f131d2,64,c0ed6c9e,111,0,...) at pause+0x47 random_kthread(0,c6f6ad28,c0f1aef0,3db,c71c6000,...) at random_kthread+0x1ef fork_exit(c07d2b20,0,c6f6ad28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f6ad60, ebp = 0 --- Tracing command geom pid 13 tid 100015 td 0xc72d2b80 sched_switch(c72d2b80,0,104,191,a5861872,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,5c,...) at mi_switch+0x1eb sleepq_switch(c72d2b80,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10b3aa8,5c,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c10b3aa8,c10b3a08,25c,c0f131d2,0,...) at _sleep+0x372 g_io_schedule_down(c72d2b80,0,c0f14d19,6c,c6f64d14,...) at g_io_schedule_down+0x5b g_down_procbody(0,c6f64d28,c0f1aef0,3db,c71c62c4,...) at g_down_procbody+0x9d fork_exit(c09b2b20,0,c6f64d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f64d60, ebp = 0 --- Tracing command geom pid 13 tid 100014 td 0xc72d3000 sched_switch(c72d3000,0,104,191,a6e96427,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,5c,...) at mi_switch+0x1eb sleepq_switch(c72d3000,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10b3aa4,5c,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c10b3aa4,c10b3a28,25c,c0f131d2,0,...) at _sleep+0x372 g_io_schedule_up(c72d3000,0,c0f14d19,5f,c6f61d14,...) at g_io_schedule_up+0x134 g_up_procbody(0,c6f61d28,c0f1aef0,3db,c71c62c4,...) at g_up_procbody+0x9d fork_exit(c09b2bc0,0,c6f61d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f61d60, ebp = 0 --- Tracing command geom pid 13 tid 100013 td 0xc71c92e0 sched_switch(c71c92e0,0,104,191,e4730635,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,5c,...) at mi_switch+0x1eb sleepq_switch(c71c92e0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c10b3a9c,5c,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c10b3a9c,c10b39cc,25c,c0f131d2,0,...) at _sleep+0x372 g_run_events(c10c3d00,0,c0f14d19,79,c6f5ed14,...) at g_run_events+0x54b g_event_procbody(0,c6f5ed28,c0f1aef0,3db,c71c62c4,...) at g_event_procbody+0x90 fork_exit(c09b2c60,0,c6f5ed28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f5ed60, ebp = 0 --- Tracing command intr pid 12 tid 100066 td 0xc75758a0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100065 td 0xc7575b80 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100063 td 0xc744b2e0 sched_switch(c744b2e0,0,109,191,a6fe2241,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c744b2e0,...) at mi_switch+0x1eb ithread_loop(c720c6c0,ed385d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c6c0,ed385d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed385d60, ebp = 0 --- Tracing command intr pid 12 tid 100060 td 0xc744bb80 sched_switch(c744bb80,0,109,191,7a3c8788,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c744bb80,...) at mi_switch+0x1eb ithread_loop(c720c6d0,ed379d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c6d0,ed379d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed379d60, ebp = 0 --- Tracing command intr pid 12 tid 100059 td 0xc7455000 sched_switch(c7455000,0,109,191,b1c0162a,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c7455000,...) at mi_switch+0x1eb ithread_loop(c720c6e0,ed371d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c6e0,ed371d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed371d60, ebp = 0 --- Tracing command intr pid 12 tid 100054 td 0xc7457000 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100041 td 0xc744b000 sched_switch(c744b000,0,109,191,af789237,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c744b000,...) at mi_switch+0x1eb ithread_loop(c720c700,ed333d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c700,ed333d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed333d60, ebp = 0 --- Tracing command intr pid 12 tid 100036 td 0xc742fb80 sched_switch(c742fb80,0,109,191,a9ae71e3,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c742fb80,...) at mi_switch+0x1eb ithread_loop(c720c710,e0ff2d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c710,e0ff2d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0ff2d60, ebp = 0 --- Tracing command intr pid 12 tid 100031 td 0xc7431b80 sched_switch(c7431b80,0,109,191,97161a8f,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c7431b80,...) at mi_switch+0x1eb ithread_loop(c720c720,e0fe2d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c720,e0fe2d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0fe2d60, ebp = 0 --- Tracing command intr pid 12 tid 100030 td 0xc72d32e0 sched_switch(c72d32e0,0,109,191,a6e788ae,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c72d32e0,...) at mi_switch+0x1eb ithread_loop(c720c730,e0e8cd28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c730,e0e8cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0e8cd60, ebp = 0 --- Tracing command intr pid 12 tid 100029 td 0xc72d35c0 sched_switch(c72d35c0,0,109,191,5bcd43da,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c72d35c0,...) at mi_switch+0x1eb ithread_loop(c720c740,e0e88d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c740,e0e88d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xe0e88d60, ebp = 0 --- Tracing command intr pid 12 tid 100028 td 0xc72d38a0 sched_switch(c72d38a0,0,109,191,7adf059c,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c72d38a0,...) at mi_switch+0x1eb ithread_loop(c720c750,c6fb9d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c750,c6fb9d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6fb9d60, ebp = 0 --- Tracing command intr pid 12 tid 100027 td 0xc72d3b80 sched_switch(c72d3b80,0,109,191,5c5c285c,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c72d3b80,...) at mi_switch+0x1eb ithread_loop(c720c760,c6f88d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c760,c6f88d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f88d60, ebp = 0 --- Tracing command intr pid 12 tid 100025 td 0xc73bf2e0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100024 td 0xc73bf5c0 sched_switch(c73bf5c0,0,109,191,a6e86cd2,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c73bf5c0,...) at mi_switch+0x1eb ithread_loop(c720c780,c6f7fd28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c780,c6f7fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f7fd60, ebp = 0 --- Tracing command intr pid 12 tid 100018 td 0xc72d22e0 sched_switch(c72d22e0,0,109,191,b23d9d34,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c72d22e0,...) at mi_switch+0x1eb ithread_loop(c720c790,c6f6dd28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c790,c6f6dd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f6dd60, ebp = 0 --- Tracing command intr pid 12 tid 100012 td 0xc71c95c0 fork_trampoline() at fork_trampoline Tracing command intr pid 12 tid 100011 td 0xc71c98a0 sched_switch(c71c98a0,0,109,191,5676c0b9,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c71c98a0,...) at mi_switch+0x1eb ithread_loop(c720c7b0,c6f58d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c7b0,c6f58d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f58d60, ebp = 0 --- Tracing command intr pid 12 tid 100010 td 0xc71c9b80 sched_switch(c71c9b80,0,109,191,52072c69,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c71c9b80,...) at mi_switch+0x1eb ithread_loop(c720c7c0,c6f55d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c7c0,c6f55d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f55d60, ebp = 0 --- Tracing command intr pid 12 tid 100009 td 0xc720d000 sched_switch(c720d000,0,109,191,87ac4350,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c720d000,...) at mi_switch+0x1eb ithread_loop(c720c7d0,c6f52d28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c7d0,c6f52d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f52d60, ebp = 0 --- Tracing command intr pid 12 tid 100008 td 0xc720d2e0 sched_switch(c720d2e0,0,109,191,89b5eee6,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c720d2e0,...) at mi_switch+0x1eb ithread_loop(c720c7e0,c6f4fd28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c7e0,c6f4fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f4fd60, ebp = 0 --- Tracing command intr pid 12 tid 100007 td 0xc720d5c0 sched_switch(c720d5c0,0,109,191,aa36bd66,...) at sched_switch+0x3bc mi_switch(109,0,c0f1b213,554,c720d5c0,...) at mi_switch+0x1eb ithread_loop(c720c7f0,c6f4cd28,c0f1aef0,3db,c71c6588,...) at ithread_loop+0x1fb fork_exit(c09f4a50,c720c7f0,c6f4cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f4cd60, ebp = 0 --- Tracing command idle pid 11 tid 100006 td 0xc71c8000 sched_switch(c71c8000,0,108,18c,3e1e51c9,...) at sched_switch+0x3bc mi_switch(108,0,c0f22702,3be,c71c8000,...) at mi_switch+0x1eb sched_idletd(0,c6f48d28,c0f1aef0,3db,c71c684c,...) at sched_idletd+0x19f fork_exit(c0a44c10,0,c6f48d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f48d60, ebp = 0 --- Tracing command idle pid 11 tid 100005 td 0xc71c82e0 cpustop_handler(2,13,c6f45c04,c0d579b6,f5,...) at cpustop_handler+0x28 ipi_nmi_handler(f5,0,0,c12630b8,c71c684c,...) at ipi_nmi_handler+0x47 trap(c6f45c10) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d3c345, esp = 0xc6f45c50, ebp = 0xc6f45c50 --- acpi_cpu_c1(c6f45c6c,c107bfd0,2,301,24ea,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c6f45ca0,c0d4a5e9,0,ffffffff,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,ffffffff,c10c4a00,2,c6f45ce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c6f45cc4,c0f22702,3c0,c71c82e0,...) at cpu_idle+0x89 sched_idletd(0,c6f45d28,c0f1aef0,3db,c71c684c,...) at sched_idletd+0x263 fork_exit(c0a44c10,0,c6f45d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f45d60, ebp = 0 --- Tracing command idle pid 11 tid 100004 td 0xc71c85c0 cpustop_handler(1,13,c6f42c04,c0d579b6,f5,...) at cpustop_handler+0x28 ipi_nmi_handler(f5,0,12f6650,c0d3c345,c71c684c,...) at ipi_nmi_handler+0x47 trap(c6f42c10) at trap+0x36 calltrap() at calltrap+0x6 --- trap 0x13, eip = 0xc0d3c345, esp = 0xc6f42c50, ebp = 0xc6f42c50 --- acpi_cpu_c1(c6f42c6c,c107bfd0,1,301,24ea,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c6f42ca0,c0d4a5e9,0,ffffffff,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,ffffffff,c10c4380,2,c6f42ce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c6f42cc4,c0f22702,a0a,c71c85c0,...) at cpu_idle+0x89 sched_idletd(0,c6f42d28,c0f1aef0,3db,c71c684c,...) at sched_idletd+0x263 fork_exit(c0a44c10,0,c6f42d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f42d60, ebp = 0 --- Tracing command idle pid 11 tid 100003 td 0xc71c88a0 kdb_enter(c0d95bde,c0f24639,c6f3fba4,c088d16b,c755c000,...) at kdb_enter+0x3a kdb_break(c755c000,169e070,c0d3c345,c755c080,c755c058,...) at kdb_break+0x28 uart_intr(c755c000,0,c1262a60,c6f3fbe8,0,...) at uart_intr+0x11b intr_event_handle(c71c4d00,c6f3fc10,c6f3fc34,0,c73ee200,...) at intr_event_handle+0x76 intr_execute_handlers(c720b0d0,c6f3fc10,0,c6f3fc50,c0d40d45,...) at intr_execute_handlers+0x49 lapic_handle_intr(3c,c6f3fc10) at lapic_handle_intr+0x36 Xapic_isr1() at Xapic_isr1+0x35 --- interrupt, eip = 0xc0d3c345, esp = 0xc6f3fc50, ebp = 0xc6f3fc50 --- acpi_cpu_c1(c6f3fc6c,c107bfd0,0,301,24ea,...) at acpi_cpu_c1+0x5 acpi_cpu_idle(0,c6f3fca0,c0d4a5e9,0,ffffffff,...) at acpi_cpu_idle+0x122 cpu_idle_acpi(0,ffffffff,c10c3d00,2,c6f3fce8,...) at cpu_idle_acpi+0x2f cpu_idle(0,c6f3fcc4,c0f22702,a0a,c71c88a0,...) at cpu_idle+0x89 sched_idletd(0,c6f3fd28,c0f1aef0,3db,c71c684c,...) at sched_idletd+0x263 fork_exit(c0a44c10,0,c6f3fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f3fd60, ebp = 0 --- Tracing command init pid 1 tid 100002 td 0xc71c8b80 sched_switch(c71c8b80,0,104,191,c055ce53,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,6c,...) at mi_switch+0x1eb sleepq_switch(c71c8b80,0,c0f25fc0,1a7,6c,...) at sleepq_switch+0x162 sleepq_catch_signals(c0f25fc0,160,0,100,100,...) at sleepq_catch_signals+0xf9 sleepq_wait_sig(c71c6b10,6c,c0f28da3,100,0,...) at sleepq_wait_sig+0x17 _sleep(c71c6b10,c71c6b98,16c,c0f28da3,0,...) at _sleep+0x35c kern_wait(c71c8b80,ffffffff,c6f3bc60,2,0,...) at kern_wait+0x626 sys_wait4(c71c8b80,c6f3bcec,c,c,282,...) at sys_wait4+0x3b syscall(c6f3bd28) at syscall+0x2a4 Xint0x80_syscall() at Xint0x80_syscall+0x21 --- syscall (7, FreeBSD ELF32, sys_wait4), eip = 0x8060df7, esp = 0xbfbfe81c, ebp = 0xbfbfe838 --- Tracing command audit pid 10 tid 100001 td 0xc71c9000 sched_switch(c71c9000,0,104,191,847c8295,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c71c9000,0,c0f25fc0,268,c71c9000,...) at sleepq_switch+0x162 sleepq_wait(c1233080,0,c6f38c8c,1,0,...) at sleepq_wait+0x63 _cv_wait(c1233080,c1233064,c0f50fd7,194,0,...) at _cv_wait+0x243 audit_worker(0,c6f38d28,c0f1aef0,3db,c71c7000,...) at audit_worker+0x84 fork_exit(c0c1ac10,0,c6f38d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f38d60, ebp = 0 --- Tracing command kernel pid 0 tid 100077 td 0xc77f9b80 sched_switch(c77f9b80,0,104,191,3bf269ca,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c77f9b80,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c77cfb00,0,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c77cfb00,c77cfb18,0,c0f131d2,0,...) at _sleep+0x372 taskqueue_thread_loop(c12953e0,f17f1d28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a618f0,c12953e0,f17f1d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xf17f1d60, ebp = 0 --- Tracing command kernel pid 0 tid 100067 td 0xc75755c0 sched_switch(c75755c0,0,104,191,239370a8,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c75755c0,0,c0f25fc0,28b,2,...) at sleepq_switch+0x162 sleepq_timedwait(c10b5ea4,0,c0f131d2,2,0,...) at sleepq_timedwait+0x6b _sleep(c10b5ea4,0,0,c0f131d2,bb8,...) at _sleep+0x342 pause(c0f131d2,bb8,124,122,c10b3c08,...) at pause+0x47 deadlkres(0,ed39bd28,c0f1aef0,3db,c10b3b80,...) at deadlkres+0x324 fork_exit(c09d4c70,0,ed39bd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed39bd60, ebp = 0 --- Tracing command kernel pid 0 tid 100061 td 0xc744b8a0 sched_switch(c744b8a0,0,104,191,87e392db,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c744b8a0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c747b140,0,c0f213c1,c0f131d2,0,...) at sleepq_wait+0x63 msleep_spin(c747b140,c747b158,c0f131d2,0,c0f1eb8b,...) at msleep_spin+0x21d taskqueue_thread_loop(c748049c,ed37fd28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a618f0,c748049c,ed37fd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xed37fd60, ebp = 0 --- Tracing command kernel pid 0 tid 100026 td 0xc73bf000 sched_switch(c73bf000,0,104,191,a6cd57a5,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c73bf000,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7354400,0,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c7354400,c7354418,0,c0f131d2,0,...) at _sleep+0x372 taskqueue_thread_loop(c10d2a6c,c6f85d28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a618f0,c10d2a6c,c6f85d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f85d60, ebp = 0 --- Tracing command kernel pid 0 tid 100023 td 0xc73bf8a0 sched_switch(c73bf8a0,0,104,191,9eb51d2c,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c73bf8a0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7354480,0,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c7354480,c7354498,0,c0f131d2,0,...) at _sleep+0x372 taskqueue_thread_loop(c10b4518,c6f7cd28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a618f0,c10b4518,c6f7cd28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f7cd60, ebp = 0 --- Tracing command kernel pid 0 tid 100022 td 0xc73bfb80 sched_switch(c73bfb80,0,104,191,9eb50b15,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c73bfb80,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c73544c0,0,c0f213c1,c0f131d2,0,...) at sleepq_wait+0x63 msleep_spin(c73544c0,c73544d8,c0f131d2,0,c0f1eb8b,...) at msleep_spin+0x21d taskqueue_thread_loop(c107ec38,c6f79d28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a618f0,c107ec38,c6f79d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f79d60, ebp = 0 --- Tracing command kernel pid 0 tid 100021 td 0xc720d8a0 sched_switch(c720d8a0,0,104,191,9eb4fb9f,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c720d8a0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c73544c0,0,c0f213c1,c0f131d2,0,...) at sleepq_wait+0x63 msleep_spin(c73544c0,c73544d8,c0f131d2,0,c0f1eb8b,...) at msleep_spin+0x21d taskqueue_thread_loop(c107ec38,c6f76d28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a618f0,c107ec38,c6f76d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f76d60, ebp = 0 --- Tracing command kernel pid 0 tid 100020 td 0xc720db80 sched_switch(c720db80,0,104,191,9eb4e927,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c720db80,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c73544c0,0,c0f213c1,c0f131d2,0,...) at sleepq_wait+0x63 msleep_spin(c73544c0,c73544d8,c0f131d2,0,c0f1eb8b,...) at msleep_spin+0x21d taskqueue_thread_loop(c107ec38,c6f73d28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0x8f fork_exit(c0a618f0,c107ec38,c6f73d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f73d60, ebp = 0 --- Tracing command kernel pid 0 tid 100019 td 0xc72d2000 sched_switch(c72d2000,0,104,191,9eb17596,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c72d2000,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7354500,0,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c7354500,c7354518,0,c0f131d2,0,...) at _sleep+0x372 taskqueue_thread_loop(c1233664,c6f70d28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a618f0,c1233664,c6f70d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f70d60, ebp = 0 --- Tracing command kernel pid 0 tid 100016 td 0xc72d28a0 sched_switch(c72d28a0,0,104,191,66541259,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,0,...) at mi_switch+0x1eb sleepq_switch(c72d28a0,0,c0f25fc0,268,0,...) at sleepq_switch+0x162 sleepq_wait(c7195c40,0,c0f131d2,0,0,...) at sleepq_wait+0x63 _sleep(c7195c40,c7195c58,0,c0f131d2,0,...) at _sleep+0x372 taskqueue_thread_loop(c10d1480,c6f67d28,c0f1aef0,3db,c10b3b80,...) at taskqueue_thread_loop+0xb5 fork_exit(c0a618f0,c10d1480,c6f67d28) at fork_exit+0xb8 fork_trampoline() at fork_trampoline+0x8 --- trap 0, eip = 0, esp = 0xc6f67d60, ebp = 0 --- Tracing command kernel pid 0 tid 100000 td 0xc10b3e50 sched_switch(c10b3e50,0,104,191,9fef6b4d,...) at sched_switch+0x3bc mi_switch(104,0,c0f25fc0,1f3,54,...) at mi_switch+0x1eb sleepq_switch(c10b3e50,0,c0f25fc0,28b,0,...) at sleepq_switch+0x162 sleepq_timedwait(c10b3b80,54,c0f23014,0,0,...) at sleepq_timedwait+0x6b _sleep(c10b3b80,0,54,c0f23014,2710,...) at _sleep+0x342 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 184 MB: 169 153 137 121 105 89 73 57 41 25 9 Dump complete = 0 db:0:doadump> reset $ svn diff -x -p /usr/src/sys Index: /usr/src/sys/kern/kern_umtx.c =================================================================== --- /usr/src/sys/kern/kern_umtx.c (revision 227528) +++ /usr/src/sys/kern/kern_umtx.c (working copy) @@ -2577,7 +2577,7 @@ do_rw_wrlock(struct thread *td, struct urwlock *rw int32_t state, oldstate; int32_t blocked_writers; int32_t blocked_readers; - int error; + int error, loops; uq = td->td_umtxq; flags = fuword32(&rwlock->rw_flags); @@ -2586,6 +2586,7 @@ do_rw_wrlock(struct thread *td, struct urwlock *rw return (error); blocked_readers = 0; + loops = 0; for (;;) { state = fuword32(__DEVOLATILE(int32_t *, &rwlock->rw_state)); while (!(state & URWLOCK_WRITE_OWNER) && URWLOCK_READER_COUNT(state) == 0) { @@ -2606,7 +2607,6 @@ do_rw_wrlock(struct thread *td, struct urwlock *rw umtxq_unbusy(&uq->uq_key); umtxq_unlock(&uq->uq_key); } - break; } @@ -2633,6 +2633,10 @@ do_rw_wrlock(struct thread *td, struct urwlock *rw umtxq_lock(&uq->uq_key); umtxq_unbusy(&uq->uq_key); umtxq_unlock(&uq->uq_key); + if (loops++) { + umtx_key_release(&uq->uq_key); + return (EINVAL); + } continue; } sleep: Index: /usr/src/sys/kern/kern_proc.c =================================================================== --- /usr/src/sys/kern/kern_proc.c (revision 227528) +++ /usr/src/sys/kern/kern_proc.c (working copy) @@ -41,6 +41,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include +#include #include #include #include @@ -50,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -1358,6 +1361,289 @@ pargs_drop(struct pargs *pa) pargs_free(pa); } +static int +proc_read_mem(struct thread *td, struct proc *p, vm_offset_t offset, void* buf, + size_t len) +{ + struct iovec iov; + struct uio uio; + + iov.iov_base = (caddr_t)buf; + iov.iov_len = len; + uio.uio_iov = &iov; + uio.uio_iovcnt = 1; + uio.uio_offset = offset; + uio.uio_resid = (ssize_t)len; + uio.uio_segflg = UIO_SYSSPACE; + uio.uio_rw = UIO_READ; + uio.uio_td = td; + + return (proc_rwmem(p, &uio)); +} + +static int +proc_read_string(struct thread *td, struct proc *p, const char *sptr, char *buf, + size_t len) +{ + size_t i; + int error; + + error = proc_read_mem(td, p, (vm_offset_t)sptr, buf, len); + /* + * Reading the chunk may validly return EFAULT if the string is shorter + * than the chunk and is aligned at the end of the page, assuming the + * next page is not mapped. So if EFAULT is returned do a fallback to + * fubyte() read loop. + */ + if (error == EFAULT) { + for (i = 0; i < len; i++, buf++, sptr++) { + error = proc_read_mem(td, p, (vm_offset_t)sptr, buf, 1); + if (error != 0) + return (error); + if (*buf == '\0') + break; + } + error = 0; + } + return (error); +} + +#define PROC_AUXV_MAX 256 /* Safety limit on auxv size. */ + +enum proc_vector_type { + PROC_ARG, + PROC_ENV, + PROC_AUX, +}; + +#ifdef COMPAT_FREEBSD32 +static int +get_proc_vector32(struct thread *td, struct proc *p, char ***proc_vectorp, + size_t *vsizep, enum proc_vector_type type) +{ + struct freebsd32_ps_strings pss; + Elf32_Auxinfo aux; + vm_offset_t vptr, ptr; + uint32_t *proc_vector32; + char **proc_vector; + size_t vsize, size; + int i, error; + + error = proc_read_mem(td, p, (vm_offset_t)(p->p_sysent->sv_psstrings), + &pss, sizeof(pss)); + if (error != 0) + return (error); + switch (type) { + case PROC_ARG: + vptr = (vm_offset_t)PTRIN(pss.ps_argvstr); + vsize = pss.ps_nargvstr; + if (vsize > ARG_MAX) + return (ENOEXEC); + size = vsize * sizeof(int32_t); + break; + case PROC_ENV: + vptr = (vm_offset_t)PTRIN(pss.ps_envstr); + vsize = pss.ps_nenvstr; + if (vsize > ARG_MAX) + return (ENOEXEC); + size = vsize * sizeof(int32_t); + break; + case PROC_AUX: + vptr = (vm_offset_t)PTRIN(pss.ps_envstr) + + (pss.ps_nenvstr + 1) * sizeof(int32_t); + if (vptr % 4 != 0) + return (ENOEXEC); + for (ptr = vptr, i = 0; i < PROC_AUXV_MAX; i++) { + error = proc_read_mem(td, p, ptr, &aux, sizeof(aux)); + if (error != 0) + return (error); + if (aux.a_type == AT_NULL) + break; + ptr += sizeof(aux); + } + if (aux.a_type != AT_NULL) + return (ENOEXEC); + vsize = i + 1; + size = vsize * sizeof(aux); + break; + default: + KASSERT(0, ("Wrong proc vector type: %d", type)); + } + proc_vector32 = malloc(size, M_TEMP, M_WAITOK); + error = proc_read_mem(td, p, vptr, proc_vector32, size); + if (error != 0) + goto done; + if (type == PROC_AUX) { + *proc_vectorp = (char **)proc_vector32; + *vsizep = vsize; + return (0); + } + proc_vector = malloc(vsize * sizeof(char *), M_TEMP, M_WAITOK); + for (i = 0; i < (int)vsize; i++) + proc_vector[i] = PTRIN(proc_vector32[i]); + *proc_vectorp = proc_vector; + *vsizep = vsize; +done: + free(proc_vector32, M_TEMP); + return (error); +} +#endif + +static int +get_proc_vector(struct thread *td, struct proc *p, char ***proc_vectorp, + size_t *vsizep, enum proc_vector_type type) +{ + struct ps_strings pss; + Elf_Auxinfo aux; + vm_offset_t vptr, ptr; + char **proc_vector; + size_t vsize, size; + int error, i; + +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(p, SV_ILP32) != 0) + return (get_proc_vector32(td, p, proc_vectorp, vsizep, type)); +#endif + error = proc_read_mem(td, p, (vm_offset_t)(p->p_sysent->sv_psstrings), + &pss, sizeof(pss)); + if (error != 0) + return (error); + switch (type) { + case PROC_ARG: + vptr = (vm_offset_t)pss.ps_argvstr; + vsize = pss.ps_nargvstr; + if (vsize > ARG_MAX) + return (ENOEXEC); + size = vsize * sizeof(char *); + break; + case PROC_ENV: + vptr = (vm_offset_t)pss.ps_envstr; + vsize = pss.ps_nenvstr; + if (vsize > ARG_MAX) + return (ENOEXEC); + size = vsize * sizeof(char *); + break; + case PROC_AUX: + /* + * The aux array is just above env array on the stack. Check + * that the address is naturally aligned. + */ + vptr = (vm_offset_t)pss.ps_envstr + (pss.ps_nenvstr + 1) + * sizeof(char *); +#if __ELF_WORD_SIZE == 64 + if (vptr % sizeof(uint64_t) != 0) +#else + if (vptr % sizeof(uint32_t) != 0) +#endif + return (ENOEXEC); + /* + * We count the array size reading the aux vectors from the + * stack until AT_NULL vector is returned. So (to keep the code + * simple) we read the process stack twice: the first time here + * to find the size and the second time when copying the vectors + * to the allocated proc_vector. + */ + for (ptr = vptr, i = 0; i < PROC_AUXV_MAX; i++) { + error = proc_read_mem(td, p, ptr, &aux, sizeof(aux)); + if (error != 0) + return (error); + if (aux.a_type == AT_NULL) + break; + ptr += sizeof(aux); + } + /* + * If the PROC_AUXV_MAX entries are iterated over, and we have + * not reached AT_NULL, it is most likely we are reading wrong + * data: either the process doesn't have auxv array or data has + * been modified. Return the error in this case. + */ + if (aux.a_type != AT_NULL) + return (ENOEXEC); + vsize = i + 1; + size = vsize * sizeof(aux); + break; + default: + KASSERT(0, ("Wrong proc vector type: %d", type)); + } + proc_vector = malloc(size, M_TEMP, M_WAITOK); + if (proc_vector == NULL) + return (ENOMEM); + error = proc_read_mem(td, p, vptr, proc_vector, size); + if (error != 0) { + free(proc_vector, M_TEMP); + return (error); + } + *proc_vectorp = proc_vector; + *vsizep = vsize; + + return (0); +} + +#define GET_PS_STRINGS_CHUNK_SZ 256 /* Chunk size (bytes) for ps_strings operations. */ + +static int +get_ps_strings(struct thread *td, struct proc *p, struct sbuf *sb, + enum proc_vector_type type, size_t nchr) +{ + size_t done, len, vsize; + int error, i; + char **proc_vector, *sptr; + char pss_string[GET_PS_STRINGS_CHUNK_SZ]; + + PROC_ASSERT_HELD(p); + + /* + * We are not going to read more than 2 * (PATH_MAX + ARG_MAX) bytes. + */ + if (nchr > 2 * (PATH_MAX + ARG_MAX)) + nchr = 2 * (PATH_MAX + ARG_MAX); + + error = get_proc_vector(td, p, &proc_vector, &vsize, type); + if (error != 0) + return (error); + for (done = 0, i = 0; i < (int)vsize && done < nchr; i++) { + /* + * The program may have scribbled into its argv array, e.g. to + * remove some arguments. If that has happened, break out + * before trying to read from NULL. + */ + if (proc_vector[i] == NULL) + break; + for (sptr = proc_vector[i]; ; sptr += GET_PS_STRINGS_CHUNK_SZ) { + error = proc_read_string(td, p, sptr, pss_string, + sizeof(pss_string)); + if (error != 0) + goto done; + len = strnlen(pss_string, GET_PS_STRINGS_CHUNK_SZ); + if (done + len >= nchr) + len = nchr - done - 1; + sbuf_bcat(sb, pss_string, len); + if (len != GET_PS_STRINGS_CHUNK_SZ) + break; + done += GET_PS_STRINGS_CHUNK_SZ; + } + sbuf_bcat(sb, "", 1); + done += len + 1; + } +done: + free(proc_vector, M_TEMP); + return (error); +} + +int +proc_getargv(struct thread *td, struct proc *p, struct sbuf *sb, size_t nchr) +{ + + return (get_ps_strings(curthread, p, sb, PROC_ARG, nchr)); +} + +int +proc_getenvv(struct thread *td, struct proc *p, struct sbuf *sb, size_t nchr) +{ + + return (get_ps_strings(curthread, p, sb, PROC_ENV, nchr)); +} + /* * This sysctl allows a process to retrieve the argument list or process * title for another process without groping around in the address space @@ -1371,7 +1657,8 @@ sysctl_kern_proc_args(SYSCTL_HANDLER_ARGS) u_int namelen = arg2; struct pargs *newpa, *pa; struct proc *p; - int error = 0; + struct sbuf sb; + int error = 0, error2; if (namelen != 1) return (EINVAL); @@ -1391,11 +1678,24 @@ sysctl_kern_proc_args(SYSCTL_HANDLER_ARGS) } pa = p->p_args; - pargs_hold(pa); - PROC_UNLOCK(p); - if (pa != NULL) + if (pa != NULL) { + pargs_hold(pa); + PROC_UNLOCK(p); error = SYSCTL_OUT(req, pa->ar_args, pa->ar_length); - pargs_drop(pa); + pargs_drop(pa); + } else if ((p->p_flag & (P_WEXIT | P_SYSTEM)) == 0) { + _PHOLD(p); + PROC_UNLOCK(p); + sbuf_new_for_sysctl(&sb, NULL, GET_PS_STRINGS_CHUNK_SZ, req); + error = proc_getargv(curthread, p, &sb, req->oldlen); + error2 = sbuf_finish(&sb); + PRELE(p); + sbuf_delete(&sb); + if (error == 0 && error2 != 0) + error = error2; + } else { + PROC_UNLOCK(p); + } if (error != 0 || req->newptr == NULL) return (error); @@ -1416,6 +1716,95 @@ sysctl_kern_proc_args(SYSCTL_HANDLER_ARGS) } /* + * This sysctl allows a process to retrieve environment of another process. + */ +static int +sysctl_kern_proc_env(SYSCTL_HANDLER_ARGS) +{ + int *name = (int*) arg1; + u_int namelen = arg2; + struct proc *p; + struct sbuf sb; + int error, error2; + + if (namelen != 1) + return (EINVAL); + + p = pfind((pid_t)name[0]); + if (p == NULL) + return (ESRCH); + if ((p->p_flag & P_WEXIT) != 0) { + PROC_UNLOCK(p); + return (ESRCH); + } + if ((error = p_candebug(curthread, p)) != 0) { + PROC_UNLOCK(p); + return (error); + } + if ((p->p_flag & P_SYSTEM) != 0) { + PROC_UNLOCK(p); + return (0); + } + _PHOLD(p); + PROC_UNLOCK(p); + sbuf_new_for_sysctl(&sb, NULL, GET_PS_STRINGS_CHUNK_SZ, req); + error = proc_getenvv(curthread, p, &sb, req->oldlen); + error2 = sbuf_finish(&sb); + PRELE(p); + sbuf_delete(&sb); + return (error != 0 ? error : error2); +} + +/* + * This sysctl allows a process to retrieve ELF auxiliary vector of + * another process. + */ +static int +sysctl_kern_proc_auxv(SYSCTL_HANDLER_ARGS) +{ + int *name = (int*) arg1; + u_int namelen = arg2; + struct proc *p; + size_t vsize; + char **auxv; + int error; + + if (namelen != 1) + return (EINVAL); + + p = pfind((pid_t)name[0]); + if (p == NULL) + return (ESRCH); + if (p->p_flag & P_WEXIT) { + PROC_UNLOCK(p); + return (ESRCH); + } + if ((error = p_cansee(curthread, p)) != 0) { + PROC_UNLOCK(p); + return (error); + } + if ((p->p_flag & P_SYSTEM) != 0) { + PROC_UNLOCK(p); + return (0); + } + _PHOLD(p); + PROC_UNLOCK(p); + error = get_proc_vector(curthread, p, &auxv, &vsize, PROC_AUX); + PRELE(p); + if (error == 0) { +#ifdef COMPAT_FREEBSD32 + if (SV_PROC_FLAG(p, SV_ILP32) != 0) + error = SYSCTL_OUT(req, auxv, vsize * + sizeof(Elf32_Auxinfo)); + else +#endif + error = SYSCTL_OUT(req, auxv, vsize * sizeof(Elf_Auxinfo)); + free(auxv, M_TEMP); + } + return (error); +} + +/* * This sysctl allows a process to retrieve the path of the executable for * itself or another process. */ @@ -2035,6 +2424,14 @@ static SYSCTL_NODE(_kern_proc, KERN_PROC_ARGS, arg CTLFLAG_RW | CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, sysctl_kern_proc_args, "Process argument list"); +static SYSCTL_NODE(_kern_proc, KERN_PROC_ENV, env, + CTLFLAG_RW | CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, + sysctl_kern_proc_env, "Process environment"); + +static SYSCTL_NODE(_kern_proc, KERN_PROC_AUXV, auxv, + CTLFLAG_RW | CTLFLAG_ANYBODY | CTLFLAG_MPSAFE, + sysctl_kern_proc_auxv, "Process ELF auxiliary vector"); + static SYSCTL_NODE(_kern_proc, KERN_PROC_PATHNAME, pathname, CTLFLAG_RD | CTLFLAG_MPSAFE, sysctl_kern_proc_pathname, "Process executable path"); Index: /usr/src/sys/fs/procfs/procfs_status.c =================================================================== --- /usr/src/sys/fs/procfs/procfs_status.c (revision 227528) +++ /usr/src/sys/fs/procfs/procfs_status.c (working copy) @@ -170,15 +170,10 @@ procfs_doprocstatus(PFS_FILL_ARGS) int procfs_doproccmdline(PFS_FILL_ARGS) { - struct ps_strings pstr; - char **ps_argvstr; - int error, i; /* * If we are using the ps/cmdline caching, use that. Otherwise - * revert back to the old way which only implements full cmdline - * for the current process and just p->p_comm for all other - * processes. + * read argv from the process space. * Note that if the argv is no longer available, we deliberately * don't fall back on p->p_comm or return an error: the authentic * Linux behaviour is to return zero-length in this case. @@ -190,30 +185,13 @@ procfs_doproccmdline(PFS_FILL_ARGS) PROC_UNLOCK(p); return (0); } - PROC_UNLOCK(p); - if (p != td->td_proc) { - sbuf_printf(sb, "%.*s", MAXCOMLEN, p->p_comm); - } else { - error = copyin((void *)p->p_sysent->sv_psstrings, &pstr, - sizeof(pstr)); - if (error) - return (error); - if (pstr.ps_nargvstr > ARG_MAX) - return (E2BIG); - ps_argvstr = malloc(pstr.ps_nargvstr * sizeof(char *), - M_TEMP, M_WAITOK); - error = copyin((void *)pstr.ps_argvstr, ps_argvstr, - pstr.ps_nargvstr * sizeof(char *)); - if (error) { - free(ps_argvstr, M_TEMP); - return (error); - } - for (i = 0; i < pstr.ps_nargvstr; i++) { - sbuf_copyin(sb, ps_argvstr[i], 0); - sbuf_printf(sb, "%c", '\0'); - } - free(ps_argvstr, M_TEMP); + + if ((p->p_flag & P_SYSTEM) != 0) { + PROC_UNLOCK(p); + return (0); } - return (0); + PROC_UNLOCK(p); + + return (proc_getargv(td, p, sb, ARG_MAX)); } Index: /usr/src/sys/compat/linprocfs/linprocfs.c =================================================================== --- /usr/src/sys/compat/linprocfs/linprocfs.c (revision 227528) +++ /usr/src/sys/compat/linprocfs/linprocfs.c (working copy) @@ -919,150 +919,6 @@ linprocfs_doprocroot(PFS_FILL_ARGS) return (0); } -#define MAX_ARGV_STR 512 /* Max number of argv-like strings */ -#define UIO_CHUNK_SZ 256 /* Max chunk size (bytes) for uiomove */ - -static int -linprocfs_doargv(struct thread *td, struct proc *p, struct sbuf *sb, - void (*resolver)(const struct ps_strings, u_long *, int *)) -{ - struct iovec iov; - struct uio tmp_uio; - struct ps_strings pss; - int ret, i, n_elements, elm_len; - u_long addr, pbegin; - char **env_vector, *envp; - char env_string[UIO_CHUNK_SZ]; -#ifdef COMPAT_FREEBSD32 - struct freebsd32_ps_strings pss32; - uint32_t *env_vector32; -#endif - -#define UIO_HELPER(uio, iov, base, len, cnt, offset, sz, flg, rw, td) \ -do { \ - iov.iov_base = (caddr_t)(base); \ - iov.iov_len = (len); \ - uio.uio_iov = &(iov); \ - uio.uio_iovcnt = (cnt); \ - uio.uio_offset = (off_t)(offset); \ - uio.uio_resid = (sz); \ - uio.uio_segflg = (flg); \ - uio.uio_rw = (rw); \ - uio.uio_td = (td); \ -} while (0) - - env_vector = malloc(sizeof(char *) * MAX_ARGV_STR, M_TEMP, M_WAITOK); - -#ifdef COMPAT_FREEBSD32 - env_vector32 = NULL; - if (SV_PROC_FLAG(p, SV_ILP32) != 0) { - env_vector32 = malloc(sizeof(*env_vector32) * MAX_ARGV_STR, - M_TEMP, M_WAITOK); - elm_len = sizeof(int32_t); - envp = (char *)env_vector32; - - UIO_HELPER(tmp_uio, iov, &pss32, sizeof(pss32), 1, - (off_t)(p->p_sysent->sv_psstrings), - sizeof(pss32), UIO_SYSSPACE, UIO_READ, td); - ret = proc_rwmem(p, &tmp_uio); - if (ret != 0) - goto done; - pss.ps_argvstr = PTRIN(pss32.ps_argvstr); - pss.ps_nargvstr = pss32.ps_nargvstr; - pss.ps_envstr = PTRIN(pss32.ps_envstr); - pss.ps_nenvstr = pss32.ps_nenvstr; - } else { -#endif - elm_len = sizeof(char *); - envp = (char *)env_vector; - - UIO_HELPER(tmp_uio, iov, &pss, sizeof(pss), 1, - (off_t)(p->p_sysent->sv_psstrings), - sizeof(pss), UIO_SYSSPACE, UIO_READ, td); - ret = proc_rwmem(p, &tmp_uio); - if (ret != 0) - goto done; -#ifdef COMPAT_FREEBSD32 - } -#endif - - /* Get the array address and the number of elements */ - resolver(pss, &addr, &n_elements); - - /* Consistent with lib/libkvm/kvm_proc.c */ - if (n_elements > MAX_ARGV_STR) { - ret = E2BIG; - goto done; - } - - UIO_HELPER(tmp_uio, iov, envp, n_elements * elm_len, 1, - (vm_offset_t)(addr), iov.iov_len, UIO_SYSSPACE, UIO_READ, td); - ret = proc_rwmem(p, &tmp_uio); - if (ret != 0) - goto done; -#ifdef COMPAT_FREEBSD32 - if (env_vector32 != NULL) { - for (i = 0; i < n_elements; i++) - env_vector[i] = PTRIN(env_vector32[i]); - } -#endif - - /* Now we can iterate through the list of strings */ - for (i = 0; i < n_elements; i++) { - pbegin = (vm_offset_t)env_vector[i]; - for (;;) { - UIO_HELPER(tmp_uio, iov, env_string, sizeof(env_string), - 1, pbegin, iov.iov_len, UIO_SYSSPACE, UIO_READ, td); - ret = proc_rwmem(p, &tmp_uio); - if (ret != 0) - goto done; - - if (!strvalid(env_string, UIO_CHUNK_SZ)) { - /* - * We didn't find the end of the string. - * Add the string to the buffer and move - * the pointer. But do not allow strings - * of unlimited length. - */ - sbuf_bcat(sb, env_string, UIO_CHUNK_SZ); - if (sbuf_len(sb) >= ARG_MAX) { - ret = E2BIG; - goto done; - } - pbegin += UIO_CHUNK_SZ; - } else { - sbuf_cat(sb, env_string); - break; - } - } - sbuf_bcat(sb, "", 1); - } -#undef UIO_HELPER - -done: - free(env_vector, M_TEMP); -#ifdef COMPAT_FREEBSD32 - free(env_vector32, M_TEMP); -#endif - return (ret); -} - -static void -ps_string_argv(const struct ps_strings ps, u_long *addr, int *n) -{ - - *addr = (u_long) ps.ps_argvstr; - *n = ps.ps_nargvstr; -} - -static void -ps_string_env(const struct ps_strings ps, u_long *addr, int *n) -{ - - *addr = (u_long) ps.ps_envstr; - *n = ps.ps_nenvstr; -} - /* * Filler function for proc/pid/cmdline */ @@ -1090,9 +946,15 @@ linprocfs_doproccmdline(PFS_FILL_ARGS) PROC_UNLOCK(p); return (0); } + + if ((p->p_flag & P_SYSTEM) != 0) { + PROC_UNLOCK(p); + return (0); + } + PROC_UNLOCK(p); - ret = linprocfs_doargv(td, p, sb, ps_string_argv); + ret = proc_getargv(td, p, sb, ARG_MAX); return (ret); } @@ -1118,9 +980,15 @@ linprocfs_doprocenviron(PFS_FILL_ARGS) PROC_UNLOCK(p); return (0); } + + if ((p->p_flag & P_SYSTEM) != 0) { + PROC_UNLOCK(p); + return (0); + } + PROC_UNLOCK(p); - ret = linprocfs_doargv(td, p, sb, ps_string_env); + ret = proc_getenvv(td, p, sb, ARG_MAX); return (ret); } Index: /usr/src/sys/sys/sysctl.h =================================================================== --- /usr/src/sys/sys/sysctl.h (revision 227528) +++ /usr/src/sys/sys/sysctl.h (working copy) @@ -559,6 +559,8 @@ SYSCTL_ALLOWED_TYPES(UINT64, uint64_t *a; unsigned #define KERN_PROC_VMMAP 32 /* VM map entries for process */ #define KERN_PROC_FILEDESC 33 /* File descriptors for process */ #define KERN_PROC_GROUPS 34 /* process groups */ +#define KERN_PROC_ENV 35 /* get environment */ +#define KERN_PROC_AUXV 36 /* get ELF auxiliary vector */ /* * KERN_IPC identifiers Index: /usr/src/sys/sys/proc.h =================================================================== --- /usr/src/sys/sys/proc.h (revision 227528) +++ /usr/src/sys/sys/proc.h (working copy) @@ -168,6 +168,7 @@ struct p_sched; struct proc; struct procdesc; struct racct; +struct sbuf; struct sleepqueue; struct td_sched; struct thread; @@ -844,6 +845,10 @@ int p_canwait(struct thread *td, struct proc *p); struct pargs *pargs_alloc(int len); void pargs_drop(struct pargs *pa); void pargs_hold(struct pargs *pa); +int proc_getargv(struct thread *td, struct proc *p, struct sbuf *sb, + size_t nchr); +int proc_getenvv(struct thread *td, struct proc *p, struct sbuf *sb, + size_t nchr); void procinit(void); void proc_linkup0(struct proc *p, struct thread *td); void proc_linkup(struct proc *p, struct thread *td); -- Test scenario: syscall2.sh