2 LORs on my NFS server.
Tilman Linneweh
tilman at arved.de
Fri Aug 15 07:16:59 PDT 2003
Hi list,
My CURRENT is already a bit old:
# uname -a
FreeBSD polly.arved.de 5.1-CURRENT FreeBSD 5.1-CURRENT #1: Sun Jul 20
01:00:14 CEST 2003
tilman at sauna.arved.de:/usr/obj/usr/src/CURRENT/sys/POLLY i386
But at least the first problem looks like it hasn't been fixed yet:
This happend while the machine was NFS-serving around 3 clients with
normal udp NFS and a fourth. client tried to mount something via
mount_nfs -T -a 2
vmcore.1:
Debugger(c0382315) at Debugger+0x45
witness_lock(c04599ec,8,c03b13ee,26d,0) at witness_lock+0x54e
_mtx_lock_flags(c04599ec,0,c03b13ee,26d) at _mtx_lock_flags+0x7d
tcp_usr_rcvd(c1b7d600,80) at tcp_usr_rcvd+0x1b
soreceive(c1b7d600,c8724b1c,c8724b28,c8724b20,0) at soreceive+0x789
nfsrv_rcv(c1b7d600,c20f2e00,4) at nfsrv_rcv+0x72
sowakeup(c1b7d600,c1b7d64c) at sowakeup+0x75
tcp_input(c0bc1600,14) at tcp_input+0x11df
ip_input(c0bc1600) at ip_input+0x7a0
swi_net(0) at swi_net+0xe7
ithread_loop(c0b8a080,c8724d48,c0b8cbe0,c02134a0,0) at
ithread_loop+0x126
fork_exit(c02134a0,c0b8a080,c8724d48) at fork_exit+0xab
fork_trampoline() at fork_trampoline+0x1a
db> show locks
exclusive sleep mutex inp r = 0 (0xc1a7de0c) locked @
/usr/src/CURRENT/sys/netinet/tcp_input.c:650
exclusive sleep mutex netisr lock r = 0 (0xc0457140) locked @
/usr/src/CURRENT/sys/net/netisr.c:215
exclusive sleep mutex Giant r = 0 (0xc042eac0) locked @
/usr/src/CURRENT/sys/kern/kern_intr.c:533
(kgdb) bt
#0 doadump () at /usr/src/CURRENT/sys/kern/kern_shutdown.c:240
#1 0xc014e7f8 in db_fncall (dummy1=0, dummy2=0, dummy3=-1069114912,
dummy4=0xc87248d8 "ôHrÈȹ!ÀèHrÈ\001\215\"ÀôHrÈø\003")
at /usr/src/CURRENT/sys/ddb/db_command.c:547
#2 0xc014e5f0 in db_command (last_cmdp=0xc0419460, cmd_table=0x0,
aux_cmd_tablep=0xc03c9410, aux_cmd_tablep_end=0xc03c9414)
at /usr/src/CURRENT/sys/ddb/db_command.c:346
#3 0xc014e6cb in db_command_loop ()
at /usr/src/CURRENT/sys/ddb/db_command.c:471
#4 0xc0150f8a in db_trap (type=3, code=0)
at /usr/src/CURRENT/sys/ddb/db_trap.c:73
#5 0xc0351ef5 in kdb_trap (type=3, code=0, regs=0xc8724a04)
at /usr/src/CURRENT/sys/i386/i386/db_interface.c:172
#6 0xc03612da in trap (frame=
{tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = -1069194936, tf_esi
= -1069180436, tf_ebp = -932033976, tf_isp = -932034000, tf_ebx = 0,
tf_edx = 0, tf_ecx = 1, tf_eax = 25, tf_trapno = 3, tf_err = 0, tf_eip =
-1070259835, tf_cs = 8, tf_eflags = 662, tf_esp = -1069194932, tf_ss =
-932033928})
at /usr/src/CURRENT/sys/i386/i386/trap.c:595
#7 0xc0353558 in calltrap () at {standard input}:102
#8 0xc0242c4e in witness_lock (lock=0xc04599ec, flags=8,
file=0xc03b13ee "/usr/src/CURRENT/sys/netinet/tcp_usrreq.c",
line=621)
at /usr/src/CURRENT/sys/kern/subr_witness.c:838
#9 0xc021b7dd in _mtx_lock_flags (m=0xc04599ec, opts=0,
---Type <return> to continue, or q <return> to quit---
file=0xc03b13ee "/usr/src/CURRENT/sys/netinet/tcp_usrreq.c",
line=621)
at /usr/src/CURRENT/sys/kern/kern_mutex.c:334
#10 0xc02a9b1b in tcp_usr_rcvd (so=0x0, flags=128)
at /usr/src/CURRENT/sys/netinet/tcp_usrreq.c:621
#11 0xc0257829 in soreceive (so=0xc1b7d600, psa=0xc8724b1c,
uio=0xc8724b28,
mp0=0xc8724b20, controlp=0x0, flagsp=0xc8724b24)
at /usr/src/CURRENT/sys/kern/uipc_socket.c:1087
#12 0xc1a9ff92 in nfsrv_rcv (so=0xc1b7d600, arg=0xc20f2e00, waitflag=4)
at /usr/src/CURRENT/sys/nfsserver/nfs_srvsock.c:445
#13 0xc0258e35 in sowakeup (so=0xc1b7d600, sb=0xc1b7d64c)
at /usr/src/CURRENT/sys/kern/uipc_socket2.c:320
#14 0xc02a1abf in tcp_input (m=0xc0bc1600, off0=20)
at /usr/src/CURRENT/sys/netinet/tcp_input.c:1108
#15 0xc029c6c0 in ip_input (m=0xc0bc1600)
at /usr/src/CURRENT/sys/netinet/ip_input.c:943
#16 0xc0284507 in swi_net (dummy=0x0) at
/usr/src/CURRENT/sys/net/netisr.c:236
#17 0xc02135c6 in ithread_loop (arg=0xc0b8a080)
at /usr/src/CURRENT/sys/kern/kern_intr.c:534
#18 0xc021294b in fork_exit (callout=0xc02134a0 <ithread_loop>,
arg=0xc0b8a080, frame=0xc8724d48)
at /usr/src/CURRENT/sys/kern/kern_fork.c:794
(kgdb) fr 12
#12 0xc1a9ff92 in nfsrv_rcv (so=0xc1b7d600, arg=0xc20f2e00, waitflag=4)
at /usr/src/CURRENT/sys/nfsserver/nfs_srvsock.c:445
445 error = so->so_proto->pr_usrreqs->pru_soreceive
(kgdb) list
440 /*
441 * Do soreceive().
442 */
443 auio.uio_resid = 1000000000;
444 flags = MSG_DONTWAIT;
445 error = so->so_proto->pr_usrreqs->pru_soreceive
446 (so, &nam, &auio, &mp, NULL, &flags);
447 if (error || mp == NULL) {
448 if (error == EWOULDBLOCK)
449 slp->ns_flag |= SLP_NEEDQ;
(kgdb) fr 11
#11 0xc0257829 in soreceive (so=0xc1b7d600, psa=0xc8724b1c,
uio=0xc8724b28,
mp0=0xc8724b20, controlp=0x0, flagsp=0xc8724b24)
at /usr/src/CURRENT/sys/kern/uipc_socket.c:1087
warning: Source file is more recent than executable.
1087 (*pr->pr_usrreqs->pru_rcvd)(so, flags);
(kgdb) list
1082 }
1083 if ((flags & MSG_PEEK) == 0) {
1084 if (m == 0)
1085 so->so_rcv.sb_mb = nextrecord;
1086 if (pr->pr_flags & PR_WANTRCVD && so->so_pcb)
1087 (*pr->pr_usrreqs->pru_rcvd)(so, flags);
1088 }
1089 if (orig_resid == uio->uio_resid && orig_resid &&
1090 (flags & MSG_EOR) == 0 && (so->so_state &
SS_CANTRCVMORE) == 0) {
1091 sbunlock(&so->so_rcv);
(kgdb) fr 10
#10 0xc02a9b1b in tcp_usr_rcvd (so=0x0, flags=128)
at /usr/src/CURRENT/sys/netinet/tcp_usrreq.c:621
621 COMMON_START();
(kgdb) list
616 int error = 0;
617 struct inpcb *inp;
618 struct tcpcb *tp;
619 const int inirw = INI_READ;
620
621 COMMON_START();
622 tcp_output(tp);
623 COMMON_END(PRU_RCVD);
624 }
625
(kgdb) fr 9
#9 0xc021b7dd in _mtx_lock_flags (m=0xc04599ec, opts=0,
file=0xc03b13ee "/usr/src/CURRENT/sys/netinet/tcp_usrreq.c",
line=621)
at /usr/src/CURRENT/sys/kern/kern_mutex.c:334
warning: Source file is more recent than executable.
334 WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file,
line);
(kgdb) list
329 ("mtx_lock() of spin mutex %s @ %s:%d",
m->mtx_object.lo_name,
330 file, line));
331 _get_sleep_lock(m, curthread, opts, file, line);
332 LOCK_LOG_LOCK("LOCK", &m->mtx_object, opts,
m->mtx_recurse, file,
333 line);
334 WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file,
line);
335 #ifdef MUTEX_PROFILING
336 /* don't reset the timer when/if recursing */
337 if (m->mtx_acqtime == 0) {
338 m->mtx_filename = file;
(kgdb) fr 8
#8 0xc0242c4e in witness_lock (lock=0xc04599ec, flags=8,
file=0xc03b13ee "/usr/src/CURRENT/sys/netinet/tcp_usrreq.c",
line=621)
at /usr/src/CURRENT/sys/kern/subr_witness.c:838
warning: Source file is more recent than executable.
838 Debugger(__func__);
(kgdb) list
833 #ifdef DDB
834 if (go_into_ddb) {
835 if (witness_trace)
836 backtrace();
837 if (witness_ddb)
838 Debugger(__func__);
839 }
840 #endif
841 w->w_file = file;
842 w->w_line = line;
========================================================================
After I rebooted, I looked for the right kernel.debug file and did an ls
-la on an NFS mounted /usr/obj and got this one:
There has been a lot of action in this area since Jul 20, so this may be
already fixed. But IANAKernel hacker.
vmcore.2:
rw-r-st 0xc1a5e4a0 vm object (vm object) @
/usr/src/CURRENT/sys/vm/vm_object.c:
1516
2nd 0xc082f110 system map (system map) @
/usr/src/CURRENT/sys/vm/vm_kern.c:325
Stack backtrace:
backtrace(1,0,ffffffff,c0433a38,c04339c0) at backtrace+0x12
witness_lock(c082f110,8,c03be8e8,145,c082f0b0) at witness_lock+0x53b
_mtx_lock_flags(c082f110,0,c03be8e8,145) at _mtx_lock_flags+0x7d
_vm_map_lock(c082f0b0,c03be8e8,145) at _vm_map_lock+0x21
kmem_malloc(c082f0b0,1000,101,cce07ad0,c03307c1) at kmem_malloc+0x32
page_alloc(c083a1c0,1000,cce07ac3,101,c03a8f34) at page_alloc+0x1a
slab_zalloc(c083a1c0,101,c083a210,c083a1c0,c083a1d4) at slab_zalloc+0xe1
uma_zone_slab(c083a1c0,101,c083a1d4,0,c03c0263,678) at
uma_zone_slab+0xb7
uma_zalloc_internal(c083a1c0,0,101,0,0) at uma_zalloc_internal+0x39
uma_zfree_arg(c1962d20,cce1033c,0) at uma_zfree_arg+0x21c
swp_pager_meta_free(c1a5e4a0,6,0,1,0,c1a5e4a0,1,c03be116,25f) at
swp_pager_metafree+0x15d
swap_pager_freespace(c1a5e4a0,6,0,1) at swap_pager_freespace+0x33
vm_object_backing_scan(c1d591bc,4) at vm_object_backing_scan+0x298
vm_object_collapse(c1d591bc,c1d76e10,c1b75a00,cce07c30,c032588f) at
vm_object_cllapse+0xb7
vm_object_deallocate(c1b7f1bc) at vm_object_deallocate+0x1fb
vm_map_entry_delete(c1b75a00,c1d76e10,c,0,c) at vm_map_entry_delete+0x2f
vm_map_delete(c1b75a00,0,bfc00000,c1b75a00,c1969700) at
vm_map_delete+0x2f7
vm_map_remove(c1b75a00,0,bfc00000) at vm_map_remove+0x42
exit1(c1966be0,0,c042eac0,0,c03a3e26) at exit1+0x4eb
sys_exit(c1966be0,cce07d14,1,2,292) at sys_exit+0x27
syscall(2f,2f,2f,0,8052040) at syscall+0x1f1
Xint0x80_syscall() at Xint0x80_syscall+0x1d
--- syscall (1), eip = 0x280c9fbb, esp = 0xbfbffcec, ebp = 0xbfbffd08
---
Debugger("witness_lock")
Stopped at Debugger+0x45: xchgl %ebx,in_Debugger.0
gdb -k /usr/obj/usr/src/CURRENT/sys/POLLY/kernel.debug vmcore.2
GNU gdb 5.2.1 (FreeBSD)
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for
details.
This GDB was configured as "i386-undermydesk-freebsd"...
panic messages:
---
---
Reading symbols from
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/acpi/acpi.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/acpi/acpi.ko.debug
Reading symbols from
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/if_vlan/if_vlan.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/if_vlan/if_vlan.ko.debug
Reading symbols from
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/nfsserver/nfsserver.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/nfsserver/nfsserver.ko.debug
Reading symbols from /boot/kernel/daemon_saver.ko...done.
Loaded symbols for /boot/kernel/daemon_saver.ko
Reading symbols from
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/linux/linux.ko.debug...done.
Loaded symbols for
/usr/obj/usr/src/CURRENT/sys/POLLY/modules/usr/src/CURRENT/sys/modules/linux/linux.ko.debug
#0 doadump () at /usr/src/CURRENT/sys/kern/kern_shutdown.c:240
240 dumping++;
(kgdb) bt
#0 doadump () at /usr/src/CURRENT/sys/kern/kern_shutdown.c:240
#1 0xc014e7f8 in db_fncall (dummy1=0, dummy2=0, dummy3=-1069114912,
dummy4=0xcce0787c "\230xàÌȹ!À\214xàÌ\001\215\"À\230xàÌø\003")
at /usr/src/CURRENT/sys/ddb/db_command.c:547
#2 0xc014e5f0 in db_command (last_cmdp=0xc0419460, cmd_table=0x0,
aux_cmd_tablep=0xc03c9410, aux_cmd_tablep_end=0xc03c9414)
at /usr/src/CURRENT/sys/ddb/db_command.c:346
#3 0xc014e6cb in db_command_loop ()
at /usr/src/CURRENT/sys/ddb/db_command.c:471
#4 0xc0150f8a in db_trap (type=3, code=0)
at /usr/src/CURRENT/sys/ddb/db_trap.c:73
#5 0xc0351ef5 in kdb_trap (type=3, code=0, regs=0xcce079a8)
at /usr/src/CURRENT/sys/i386/i386/db_interface.c:172
#6 0xc03612da in trap (frame=
{tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = -1069194880, tf_esi
= -1065160432, tf_ebp = -857703956, tf_isp = -857703980, tf_ebx = 0,
tf_edx = 0, tf_ecx = 1, tf_eax = 25, tf_trapno = 3, tf_err = 0, tf_eip =
-1070259835, tf_cs = 8, tf_eflags = 646, tf_esp = -1069194844, tf_ss =
-857703908})
at /usr/src/CURRENT/sys/i386/i386/trap.c:595
#7 0xc0353558 in calltrap () at {standard input}:102
#8 0xc0242c4e in witness_lock (lock=0xc082f110, flags=8,
file=0xc03be8e8 "/usr/src/CURRENT/sys/vm/vm_kern.c", line=325)
at /usr/src/CURRENT/sys/kern/subr_witness.c:838
#9 0xc021b7dd in _mtx_lock_flags (m=0xc082f110, opts=0,
---Type <return> to continue, or q <return> to quit---
file=0xc03be8e8 "/usr/src/CURRENT/sys/vm/vm_kern.c", line=325)
at /usr/src/CURRENT/sys/kern/kern_mutex.c:334
#10 0xc03236e1 in _vm_map_lock (map=0xc082f0b0,
file=0xc03be8e8 "/usr/src/CURRENT/sys/vm/vm_kern.c", line=325)
at /usr/src/CURRENT/sys/vm/vm_map.c:351
#11 0xc0322c52 in kmem_malloc (map=0xc082f0b0, size=4096, flags=257)
at /usr/src/CURRENT/sys/vm/vm_kern.c:325
#12 0xc03309ba in page_alloc (zone=0xc083a1c0, bytes=4096, pflag=0x0,
wait=257)
at /usr/src/CURRENT/sys/vm/uma_core.c:806
#13 0xc03307c1 in slab_zalloc (zone=0xc083a1c0, wait=257)
at /usr/src/CURRENT/sys/vm/uma_core.c:715
#14 0xc0331597 in uma_zone_slab (zone=0xc083a1c0, flags=257)
at /usr/src/CURRENT/sys/vm/uma_core.c:1503
#15 0xc03317d9 in uma_zalloc_internal (zone=0xc083a1c0, udata=0x0,
flags=257)
at /usr/src/CURRENT/sys/vm/uma_core.c:1658
#16 0xc0331a7c in uma_zfree_arg (zone=0xc1962d20, item=0xcce1033c,
udata=0x0)
at /usr/src/CURRENT/sys/vm/uma_core.c:1800
#17 0xc031e4dd in swp_pager_meta_free (object=0xc1a5e4a0, index=6,
count=1)
at /usr/src/CURRENT/sys/vm/uma.h:257
#18 0xc031cb13 in swap_pager_freespace (object=0xc1a5e4a0,
start=14762931313757388806, size=1)
at /usr/src/CURRENT/sys/vm/swap_pager.c:608
#19 0xc032ab18 in vm_object_backing_scan (object=0xc1d591bc, op=4)
at /usr/src/CURRENT/sys/vm/vm_object.c:1404
---Type <return> to continue, or q <return> to quit---
#20 0xc0329bf7 in vm_object_collapse (object=0xc1d591bc)
at /usr/src/CURRENT/sys/vm/vm_object.c:1552
#21 0xc0328adb in vm_object_deallocate (object=0xc1d591bc)
at /usr/src/CURRENT/sys/vm/vm_object.c:502
#22 0xc032588f in vm_map_entry_delete (map=0xc1b75a00, entry=0xc1d76e10)
at /usr/src/CURRENT/sys/vm/vm_map.c:2078
#23 0xc0325b97 in vm_map_delete (map=0xc1b75a00, start=3250057660,
end=3217031168) at /usr/src/CURRENT/sys/vm/vm_map.c:2208
#24 0xc0325c02 in vm_map_remove (map=0xc1b75a00, start=0,
end=3217031168)
at /usr/src/CURRENT/sys/vm/vm_map.c:2230
#25 0xc02106ab in exit1 (td=0xc1966be0, rv=0)
at /usr/src/CURRENT/sys/vm/vm_map.h:191
#26 0xc02101a7 in sys_exit () at
/usr/src/CURRENT/sys/kern/kern_exit.c:102
#27 0xc0361a71 in syscall (frame=
{tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 0, tf_esi =
134553664, tf_ebp = -1077936888, tf_isp = -857703052, tf_ebx =
134602944, tf_edx = -1, tf_ecx = 10, tf_eax = 1, tf_trapno = 12, tf_err
= 2, tf_eip = 671915963, tf_cs = 31, tf_eflags = 658, tf_esp =
-1077936916, tf_ss = 47})
at /usr/src/CURRENT/sys/i386/i386/trap.c:1023
#28 0xc03535ad in Xint0x80_syscall () at {standard input}:144
(kgdb) fr 12
#12 0xc03309ba in page_alloc (zone=0xc083a1c0, bytes=4096, pflag=0x0,
wait=257)
at /usr/src/CURRENT/sys/vm/uma_core.c:806
warning: Source file is more recent than executable.
806 p = (void *) kmem_malloc(kmem_map, bytes, wait);
(kgdb) list
801 page_alloc(uma_zone_t zone, int bytes, u_int8_t *pflag, int
wait)
802 {
803 void *p; /* Returned page */
804
805 *pflag = UMA_SLAB_KMEM;
806 p = (void *) kmem_malloc(kmem_map, bytes, wait);
807
808 return (p);
809 }
810
(kgdb) fr 13
#13 0xc03307c1 in slab_zalloc (zone=0xc083a1c0, wait=257)
at /usr/src/CURRENT/sys/vm/uma_core.c:715
715 mem = zone->uz_allocf(zone,
(kgdb) list
710 mtx_lock(&Giant);
711 mem = zone->uz_allocf(zone,
712 zone->uz_ppera * UMA_SLAB_SIZE,
&flags, wait);
713 mtx_unlock(&Giant);
714 } else {
715 mem = zone->uz_allocf(zone,
716 zone->uz_ppera * UMA_SLAB_SIZE,
&flags, wait);
717 }
718 if (mem == NULL) {
719 ZONE_LOCK(zone);
(kgdb) fr 12
#12 0xc03309ba in page_alloc (zone=0xc083a1c0, bytes=4096, pflag=0x0,
wait=257)
at /usr/src/CURRENT/sys/vm/uma_core.c:806
warning: Source file is more recent than executable.
806 p = (void *) kmem_malloc(kmem_map, bytes, wait);
(kgdb) list
801 page_alloc(uma_zone_t zone, int bytes, u_int8_t *pflag, int
wait)
802 {
803 void *p; /* Returned page */
804
805 *pflag = UMA_SLAB_KMEM;
806 p = (void *) kmem_malloc(kmem_map, bytes, wait);
807
808 return (p);
809 }
810
(kgdb) fr 11
#11 0xc0322c52 in kmem_malloc (map=0xc082f0b0, size=4096, flags=257
at /usr/src/CURRENT/sys/vm/vm_kern.c:325
warning: Source file is more recent than executable.
325 vm_map_lock(map);
(kgdb) list
320 /*
321 * Locate sufficient space in the map. This will
g inal
322 * virtual address for the new memory, and thus
wil e
323 * offset within the kernel map.
324 */
325 vm_map_lock(map);
326 if (vm_map_findspace(map, vm_map_min(map), size, &a
327 vm_map_unlock(map);
328 if (map != kmem_map) {
329 static int last_report; /* when
we icks) */
#10 0xc03236e1 in _vm_map_lock (map=0xc082f0b0,
file=0xc03be8e8 "/usr/src/CURRENT/sys/vm/vm_kern.c", line=325)
at /usr/src/CURRENT/sys/vm/vm_map.c:351
warning: Source file is more recent than executable.
351 _mtx_lock_flags(&map->system_mtx, 0, file,
line);
(kgdb) list
346 _vm_map_lock(vm_map_t map, const char *file, int line)
347 {
348 int error;
349
350 if (map->system_map)
351 _mtx_lock_flags(&map->system_mtx, 0, file,
line);
352 else {
353 error = lockmgr(&map->lock, LK_EXCLUSIVE, NULL,
curthread);
354 KASSERT(error == 0, ("%s: failed to get lock",
__func__));
355 }
(kgdb) fr 9
#9 0xc021b7dd in _mtx_lock_flags (m=0xc082f110, opts=0,
file=0xc03be8e8 "/usr/src/CURRENT/sys/vm/vm_kern.c", line=325)
at /usr/src/CURRENT/sys/kern/kern_mutex.c:334
warning: Source file is more recent than executable.
334 WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file,
line);
(kgdb) list
329 ("mtx_lock() of spin mutex %s @ %s:%d",
m->mtx_object.lo_name,
330 file, line));
331 _get_sleep_lock(m, curthread, opts, file, line);
332 LOCK_LOG_LOCK("LOCK", &m->mtx_object, opts,
m->mtx_recurse, file,
333 line);
334 WITNESS_LOCK(&m->mtx_object, opts | LOP_EXCLUSIVE, file,
line);
335 #ifdef MUTEX_PROFILING
336 /* don't reset the timer when/if recursing */
337 if (m->mtx_acqtime == 0) {
338 m->mtx_filename = file;
More information about the freebsd-current
mailing list