Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 27 May 2002 10:31:29 +0200 (CEST)
From:      Rasmus Skaarup <mfbsd@skaarup.org>
To:        Alfred Perlstein <bright@mu.org>
Cc:        freebsd-current@freebsd.org
Subject:   Re: Messages from WITNESS [Sun May 26 kernel]
Message-ID:  <20020527102310.T24102-100000@skaarup.org>
In-Reply-To: <20020527030826.GE43189@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help

I have several different types of "could sleep with" messages.

The following appear during boot-up.

/usr/src/sys/vm/uma_core.c:1324: could sleep with "eventhandler" locked
from /usr/src/sys/kern/subr_eventhandler.c:162

/usr/src/sys/vm/uma_core.c:1324: could sleep with "sf_bufs list lock"
locked from /usr/src/sys/kern/uipc_syscalls.c:1578

/usr/src/sys/vm/uma_core.c:1324: could sleep with "xl0" locked from
/usr/src/sys/pci/if_xl.c:1260

/usr/src/sys/vm/uma_core.c:1324: could sleep with "rman" locked from
/usr/src/sys/kern/subr_rman.c:194

If I enable debug.witness_ddb in loader.conf and type trace everytime a
"could sleep with" message appears, it doesn't appear in /var/log/messages
and I don't feel like writing all the information down by hand.. Unless it
is /really/ necessary.

But the following appears when the system is up, and a copy/paste works
fine.

/usr/src/sys/vm/uma_core.c:1324: could sleep with "xl0" locked from
/usr/src/sys
/pci/if_xl.c:2974
Debugger("witness_sleep")
Stopped at      Debugger+0x45:  xchgl   %ebx,in_Debugger.0
db> trace
Debugger(c0335740) at Debugger+0x45
witness_sleep(1,0,c034ba71,52c) at witness_sleep+0xf8
uma_zalloc_arg(c082a780,0,0) at uma_zalloc_arg+0x3e
vm_map_entry_create(c0822ef4,0,cf1f1ea8,707da90,13ba000) at
vm_map_entry_create+
0x2b
vm_map_insert(c0822ef4,c03fb260,13ba000,0,c12b9000) at vm_map_insert+0x1dc
kmem_malloc(c0822ef4,1000,1,c0333f9e,263) at kmem_malloc+0x129
mb_pop_cont(c03d4c20,1,c76c7ca0,c03d4c60,0) at mb_pop_cont+0x8e
mb_alloc(c03d4c20,1,0,c0e41c00,cf2adb68) at mb_alloc+0x147
m_clget(c0e41c00,1,22,cd2de188,cddfe000) at m_clget+0x16
xl_newbuf(cd2de000,cd2de320) at xl_newbuf+0x2c
xl_list_rx_init(cd2de000) at xl_list_rx_init+0x3d
xl_init(cd2de000,0,cf2adc60,80206910,cf2adc60) at xl_init+0x13d
xl_ioctl(cd2de000,80206910,cf2adc60) at xl_ioctl+0x19c
ifhwioctl(80206910,cd2de000,cf2adc60,cf28b728) at ifhwioctl+0x289
ifioctl(cf1c23d8,80206910,cf2adc60,cf28b728,0) at ifioctl+0xb2
soo_ioctl(cf106078,80206910,cf2adc60,cf28b728) at soo_ioctl+0x197
ioctl(cf28b728,cf2add14,3,0,296) at ioctl+0x353
syscall(2f,2f,2f,3,1) at syscall+0x205
syscall_with_err_pushed() at syscall_with_err_pushed+0x1b
--- syscall (54, FreeBSD ELF, ioctl), eip = 0x804d577, esp = 0xbfbffb9c,
ebp = 0
xbfbffbe8 ---

and another one:

/usr/src/sys/vm/uma_core.c:1324: could sleep with "process l
ock" locked from /usr/src/sys/kern/kern_prot.c:613
Debugger("witness_sleep")
Stopped at      Debugger+0x45:  xchgl   %ebx,in_Debugger.0
db> trace
Debugger(c0335740) at Debugger+0x45
witness_sleep(1,0,c034ba71,52c) at witness_sleep+0xf8
uma_zalloc_arg(c082ac80,0,4) at uma_zalloc_arg+0x3e
malloc(20,c0398880,4,c03d3d00,0) at malloc+0x68
uifind(1,c76c7d60,cf3a9f00,1,cf2b1cec) at uifind+0x56
change_euid(cf1d3600,1,cf28b4f0,0,cf1d3600) at change_euid+0x1c
seteuid(cf28b414,cf2b1d14,1,1,282) at seteuid+0xbf
syscall(2f,2f,2f,bfbffceb,804a226) at syscall+0x205
syscall_with_err_pushed() at syscall_with_err_pushed+0x1b
--- syscall (183, FreeBSD ELF, seteuid), eip = 0x280a3eeb, esp =
0xbfbffc8c, ebp
 = 0xbfbffd64 ---

and another process lock:

/usr/src/sys/vm/uma_core.c:1324: could sleep with "process lock" locked
from /us
r/src/sys/kern/kern_prot.c:511
Debugger("witness_sleep")
Stopped at      Debugger+0x45:  xchgl   %ebx,in_Debugger.0
db> trace
Debugger(c0335740) at Debugger+0x45
witness_sleep(1,0,c034ba71,52c) at witness_sleep+0xf8
uma_zalloc_arg(c082ac80,0,4) at uma_zalloc_arg+0x3e
malloc(20,c0398880,4,c03d3d00,0) at malloc+0x68
uifind(2,c76c7d60,c76c7d60,ffffffff,0) at uifind+0x56
change_ruid(cf1d3600,2,cf28cb18,0,cf1d3600) at change_ruid+0x28
setuid(cf28ca3c,cf406d14,1,0,296) at setuid+0xc2
syscall(2f,2f,2f,8056050,12) at syscall+0x205
syscall_with_err_pushed() at syscall_with_err_pushed+0x1b
--- syscall (23, FreeBSD ELF, setuid), eip = 0x280b3a0b, esp = 0xbfbff71c,
ebp =
 0xbfbff748 ---


Best regards
Rasmus Skaarup


On Sun, 26 May 2002, Alfred Perlstein wrote:

> * Jun Kuriyama <kuriyama@imgsrc.co.jp> [020526 19:09] wrote:
> > At Sun, 26 May 2002 22:19:58 +0000 (UTC),
> > Alfred Perlstein wrote:
> > > Uh, why don't you guys enable 'debug.witness_ddb' and get us some
> > > tracebacks? :)
> >
> > Could this help you?
>
> Yes.
>
>
> Index: feeder.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/dev/sound/pcm/feeder.c,v
> retrieving revision 1.23
> diff -u -r1.23 feeder.c
> --- feeder.c	25 May 2002 11:18:03 -0000	1.23
> +++ feeder.c	27 May 2002 03:07:30 -0000
> @@ -137,7 +137,8 @@
>  	struct pcm_feeder *f;
>  	int err;
>
> -	f = (struct pcm_feeder *)kobj_create((kobj_class_t)fc, M_FEEDER, M_WAITOK | M_ZERO);
> +	f = (struct pcm_feeder *)kobj_create((kobj_class_t)fc, M_FEEDER,
> +	    M_NOWAIT | M_ZERO);
>  	if (f == NULL)
>  		return NULL;
>
>
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-current" in the body of the message
>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020527102310.T24102-100000>