Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Oct 2007 11:51:59 +0200
From:      Nikolay Pavlov <qpadla@gmail.com>
To:        freebsd-current@freebsd.org
Cc:        delphij@freebsd.org, Dmitry Morozovsky <marck@rinet.ru>
Subject:   acquiring duplicate lock of same type: "sleepq chain" [was: tmpfs on contemporary -current: panic: locked against myself]
Message-ID:  <200710301152.06525.qpadla@gmail.com>
In-Reply-To: <472561A7.60108@delphij.net>
References:  <20070917194009.W84177@woozle.rinet.ru> <200709241223.52140.qpadla@gmail.com> <472561A7.60108@delphij.net>

next in thread | previous in thread | raw e-mail | index | archive | help
--nextPart1390612.r2P8YyxfFY
Content-Type: text/plain;
  charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

On Monday 29 October 2007 06:29:27 LI Xin wrote:
> Can not reproduce here. =C2=A0Could you please confirm that this still
> persists for latest RELENG_7?

Well i am not able to reproduce it on my VMware box. However i'll try to do=
=20
it later on my real box.

I have another interesting report regarding RELENG_7. I don't know is this=
=20
a bug or not, but... While testing tmpfs with postmark with a lot of=20
swapping on purpose i have got this panic:

root@orion-vm:~# kgdb -q -n 0 /boot/kernel/kernel.symbols                  =
                                                                           =
                      =20
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so:=
=20
Undefined symbol "ps_pglobal_lookup"]

Unread portion of the kernel message buffer:
acquiring duplicate lock of same type: "sleepq chain"
 1st sleepq chain @ /usr/src/sys/kern/subr_sleepqueue.c:781
 2nd sleepq chain @ /usr/src/sys/vm/vm_glue.c:770
KDB: stack backtrace:
db_trace_self_wrapper(c0a9d415,cbd43be4,c078584e,c0a9f7cf,c0a9e2be,...) at=
=20
db_trace_self_wrapper+0x26
kdb_backtrace(c0a9f7cf,c0a9e2be,c0abbe42,302,cbd43bd0,...) at=20
kdb_backtrace+0x29
witness_checkorder(c0bb4db0,9,c0abbe42,302,9,...) at=20
witness_checkorder+0x6de
_thread_lock_flags(c0bae590,0,c0abbe42,302,cbd43c44,...) at=20
_thread_lock_flags+0x47
kick_proc0(c0bb4bb8,1,c0a9b2c7,1d3,c2c7f000,...) at kick_proc0+0x2a
setrunnable(c2c7f000,1,c0a9e012,26b) at setrunnable+0xbb
sleepq_resume_thread(c0bb0384,0,c0a9e012,30d,e40e5,...) at=20
sleepq_resume_thread+0x259
sleepq_timeout(c2c7f000,0,c0a9bb75,ef,0,...) at sleepq_timeout+0xc0
softclock(0,0,c0a97551,471,c292a6e4,...) at softclock+0x266
ithread_loop(c290a270,cbd43d38,c0a972c5,314,c290b550,...) at=20
ithread_loop+0x1b5
fork_exit(c0732ad0,c290a270,cbd43d38) at fork_exit+0xb8
fork_trampoline() at fork_trampoline+0x8
=2D-- trap 0, eip =3D 0, esp =3D 0xcbd43d70, ebp =3D 0 ---
KDB: enter: witness_checkorder
panic: from debugger
cpuid =3D 0
KDB: stack backtrace:
Uptime: 15m52s
Physical memory: 243 MB
Dumping 79 MB: 64 48 32 16

#0  doadump () at pcpu.h:195
195     pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0  doadump () at pcpu.h:195
#1  0xc074e0ce in boot (howto=3D260) at /usr/src/sys/kern/kern_shutdown.c:4=
09
#2  0xc074e38b in panic (fmt=3DVariable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:563
#3  0xc048cc27 in db_panic (addr=3DCould not find the frame base=20
for "db_panic".
) at /usr/src/sys/ddb/db_command.c:433
#4  0xc048d615 in db_command_loop () at /usr/src/sys/ddb/db_command.c:401
#5  0xc048ed85 in db_trap (type=3D3, code=3D0)=20
at /usr/src/sys/ddb/db_main.c:222
#6  0xc0775026 in kdb_trap (type=3D3, code=3D0, tf=3D0xcbd43b54)=20
at /usr/src/sys/kern/subr_kdb.c:502
#7  0xc0a0407b in trap (frame=3D0xcbd43b54)=20
at /usr/src/sys/i386/i386/trap.c:621
#8  0xc09e9a6b in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#9  0xc07751a2 in kdb_enter (msg=3D0xc0a378b0 "witness_checkorder") at=20
cpufunc.h:60
#10 0xc0785863 in witness_checkorder (lock=3D0xc0bb4db0, flags=3D9,=20
file=3D0xc0abbe42 "/usr/src/sys/vm/vm_glue.c", line=3D770)=20
at /usr/src/sys/kern/subr_witness.c:1124
#11 0xc0743227 in _thread_lock_flags (td=3D0xc0bae590, opts=3D0,=20
file=3D0xc0abbe42 "/usr/src/sys/vm/vm_glue.c", line=3D770)=20
at /usr/src/sys/kern/kern_mutex.c:486
#12 0xc095789a in kick_proc0 () at /usr/src/sys/vm/vm_glue.c:770
#13 0xc075633b in setrunnable (td=3D0xc2c7f000)=20
at /usr/src/sys/kern/kern_synch.c:496
#14 0xc077c589 in sleepq_resume_thread (sq=3D0xc28fd150, td=3D0xc2c7f000,=20
pri=3D-1) at /usr/src/sys/kern/subr_sleepqueue.c:660
#15 0xc077c7b0 in sleepq_timeout (arg=3D0xc2c7f000)=20
at /usr/src/sys/kern/subr_sleepqueue.c:789
#16 0xc075fe36 in softclock (dummy=3D0x0)=20
at /usr/src/sys/kern/kern_timeout.c:274
#17 0xc0732c85 in ithread_loop (arg=3D0xc290a270)=20
at /usr/src/sys/kern/kern_intr.c:1036
#18 0xc0730148 in fork_exit (callout=3D0xc0732ad0 <ithread_loop>,=20
arg=3D0xc290a270, frame=3D0xcbd43d38) at /usr/src/sys/kern/kern_fork.c:796
#19 0xc09e9ae0 in fork_trampoline ()=20
at /usr/src/sys/i386/i386/exception.s:205

But I should mention that before the panic there was a lot of=20
"swap zone exhausted, increase kern.maxswzone" messages, so i don't know=20
whether this is a disired behavior or not.

In my fstab i have this line:
tmpfs     /tmp    tmpfs rw    0 0 =20

root@orion-vm:~# uname -a
=46reeBSD orion-vm 7.0-BETA1 FreeBSD 7.0-BETA1 #0: Mon Oct 29 11:12:58 UTC=
=20
2007     root@orion-vm:/usr/obj/usr/src/sys/DEBUG  i386

postmark configuration is:
The base number of files is 50000
Transactions: 10000
=46iles range between 500 bytes and 9.77 kilobytes in size
Working directory: /usr/home/quetzal
1000 subdirectories will be used
Block sizes are: read=3D512 bytes, write=3D512 bytes
Biases are: read/append=3D5, create/delete=3D5
Using Unix buffered file I/O
Random number generator seed is 42
Report format is verbose.

root@orion-vm:~# swapinfo                                                  =
                                                                           =
                      =20
Device          512-blocks     Used    Avail Capacity
/dev/ad0s1b        1048576        0  1048576     0%

hw.physmem: 255221760
hw.usermem: 212406272
hw.realmem: 268435456



=2D-=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20
=2D Best regards, Nikolay Pavlov. <<<-----------------------------------   =
=20
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20


--nextPart1390612.r2P8YyxfFY
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQBHJv7G/2R6KvEYGaIRAo8sAKCPp/KOIJg6iixtXt0QN0yNSaR9MACeLlX8
sNum6tYAbG/GwZ40BpQKCPE=
=ezNt
-----END PGP SIGNATURE-----

--nextPart1390612.r2P8YyxfFY--



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