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>