From owner-freebsd-stable@FreeBSD.ORG Tue Jul 22 20:00:00 2008 Return-Path: Delivered-To: stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9E28510656E1 for ; Tue, 22 Jul 2008 20:00:00 +0000 (UTC) (envelope-from mi+mill@aldan.algebra.com) Received: from mail7.sea5.speakeasy.net (mail7.sea5.speakeasy.net [69.17.117.9]) by mx1.freebsd.org (Postfix) with ESMTP id 7991E8FC2C for ; Tue, 22 Jul 2008 20:00:00 +0000 (UTC) (envelope-from mi+mill@aldan.algebra.com) Received: (qmail 31447 invoked from network); 22 Jul 2008 19:59:59 -0000 Received: from aldan.algebra.com (HELO [127.0.0.1]) (mi@[216.254.65.224]) (envelope-sender ) by mail7.sea5.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 22 Jul 2008 19:59:59 -0000 Message-ID: <48863C3D.7090401@aldan.algebra.com> Date: Tue, 22 Jul 2008 15:59:57 -0400 From: Mikhail Teterin User-Agent: Thunderbird 2.0.0.14 (X11/20080421) MIME-Version: 1.0 To: Kostik Belousov References: <4885F2A6.5020204@aldan.algebra.com> <4885FCE5.1060507@FreeBSD.org> <48860725.9050808@aldan.algebra.com> <20080722161958.GA11139@eos.sc1.parodius.com> <48860E8C.6050400@FreeBSD.org> <48860EF6.2040007@aldan.algebra.com> <48861284.1050706@FreeBSD.org> <48861448.7020708@aldan.algebra.com> <20080722192155.GC17123@deviant.kiev.zoral.com.ua> <48863465.8080204@aldan.algebra.com> <20080722194114.GE17123@deviant.kiev.zoral.com.ua> In-Reply-To: <20080722194114.GE17123@deviant.kiev.zoral.com.ua> Content-Type: text/plain; charset=KOI8-U; format=flowed Content-Transfer-Encoding: 8bit Cc: Kris Kennaway , stable@freebsd.org, Jeremy Chadwick Subject: Re: "sleeping without queue" ? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 Jul 2008 20:00:00 -0000 Kostik Belousov ΞΑΠΙΣΑΧ(ΜΑ): > On Tue, Jul 22, 2008 at 03:26:29PM -0400, Mikhail Teterin wrote: >> Kostik Belousov ΞΑΠΙΣΑΧ(ΜΑ): >>> Did you switched to the process before doing backtrace (using the proc >>> >>> command)? >> Ok, thanks. Did not know about this one. Here: >> ... >> (kgdb) proc 79759 >> (kgdb) bt >> #0 sched_switch (td=0xffffff01286dc000, newtd=0xffffff00010ce000, >> flags=2) at /var/src/sys/kern/sched_4bsd.c:928 >> #1 0x0000000000000000 in ?? () >> #2 0xffffffff802f1108 in mi_switch (flags=678281216, newtd=0x2) at >> /var/src/sys/kern/kern_synch.c:442 >> #3 0xffffffff80318513 in sleepq_check_timeout () at >> /var/src/sys/kern/subr_sleepqueue.c:519 >> #4 0xffffffff80318c85 in sleepq_timedwait (wchan=0xffffffff80688408) at >> /var/src/sys/kern/subr_sleepqueue.c:597 >> #5 0xffffffff802f16a2 in _sleep (ident=0xffffffff80688408, lock=0x0, >> priority=0, wmesg=0xffffffff804f3059 "vmo_de", timo=1) at >> /var/src/sys/kern/kern_synch.c:224 >> #6 0xffffffff8043036b in vm_object_deallocate >> (object=0xffffff0053024a90) at /var/src/sys/vm/vm_object.c:509 > From this frame, please, print the object (like p *object) and > likewise, print the object that is at the head of the object->shadow_head > list. kgdb /usr/obj/var/src/sys/SILVER-SMP/kernel.debug /dev/mem [GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Undefined symbol "ps_pglobal_lookup"] GNU gdb 6.1.1 [FreeBSD] Copyright 2004 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 "amd64-marcel-freebsd". There is no member named pathname. Reading symbols from /opt/modules/fuse.ko...done. Loaded symbols for /opt/modules/fuse.ko Reading symbols from /opt/modules/rtc.ko...done. Loaded symbols for /opt/modules/rtc.ko Reading symbols from /boot/kernel/snd_ich.ko...Reading symbols from /boot/kernel/snd_ich.ko.symbols...done. done. Loaded symbols for /boot/kernel/snd_ich.ko Reading symbols from /boot/kernel/msdosfs.ko...Reading symbols from /boot/kernel/msdosfs.ko.symbols...done. done. Loaded symbols for /boot/kernel/msdosfs.ko #0 0x0000000000000000 in ?? () (kgdb) frame 6 Error accessing memory address 0x0: Bad address. (kgdb) pid 79759 Undefined command: "pid". Try "help". (kgdb) proc 79759 (kgdb) frame 6 #6 0xffffffff8043036b in vm_object_deallocate (object=0xffffff0053024a90) at /var/src/sys/vm/vm_object.c:509 509 pause("vmo_de", 1); (kgdb) p *object $1 = {mtx = {lock_object = {lo_name = 0xffffffff804f21c4 "vm object", lo_type = 0xffffffff804f3018 "standard object", lo_flags = 21168128, lo_witness_data = { lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, mtx_lock = 4, mtx_recurse = 0}, object_list = {tqe_next = 0xffffff0005018a90, tqe_prev = 0xffffff00539a6850}, shadow_head = {lh_first = 0xffffff005d3afa90}, shadow_list = {le_next = 0x0, le_prev = 0xffffff005d2cd048}, memq = { tqh_first = 0xffffff007eb9fa58, tqh_last = 0xffffff007f864820}, root = 0xffffff007ee14d38, size = 427, generation = 66, ref_count = 2, shadow_count = 1, type = 0 '\0', flags = 256, pg_color = 0, paging_in_progress = 0, resident_page_count = 44, backing_object = 0x0, backing_object_offset = 0, pager_object_list = { tqe_next = 0x0, tqe_prev = 0x0}, cache = 0x0, handle = 0x0, un_pager = {vnp = {vnp_size = 576646}, devp = {devp_pglist = {tqh_first = 0x8cc86, tqh_last = 0x0}}, swp = {swp_bcount = 576646}}} (kgdb) p (object->shadow_head) $2 = {lh_first = 0xffffff005d3afa90} (kgdb) p *object->shadow_head.lh_first $3 = {mtx = {lock_object = {lo_name = 0xffffffff804f21c4 "vm object", lo_type = 0xffffffff804f3018 "standard object", lo_flags = 21168128, lo_witness_data = { lod_list = {stqe_next = 0x0}, lod_witness = 0x0}}, mtx_lock = 4, mtx_recurse = 0}, object_list = {tqe_next = 0xffffff0066c32340, tqe_prev = 0xffffff012f673ac0}, shadow_head = {lh_first = 0x0}, shadow_list = {le_next = 0x0, le_prev = 0xffffff0053024ad0}, memq = { tqh_first = 0xffffff007779f9a0, tqh_last = 0xffffff0077c04140}, root = 0xffffff0077c04130, size = 387, generation = 3, ref_count = 1, shadow_count = 0, type = 0 '\0', flags = 8452, pg_color = 0, paging_in_progress = 0, resident_page_count = 2, backing_object = 0xffffff0053024a90, backing_object_offset = 163840, pager_object_list = {tqe_next = 0x0, tqe_prev = 0x0}, cache = 0x0, handle = 0x0, un_pager = {vnp = {vnp_size = 365278}, devp = {devp_pglist = { tqh_first = 0x592de, tqh_last = 0x0}}, swp = {swp_bcount = 365278}}} > > Another question is what scheduler do you use ? options SCHED_4BSD # 4BSD scheduler options PREEMPTION # Enable kernel thread preemption >>> Also, show the output of ps axl . >> UID PID PPID CPU PRI NI VSZ RSS MWCHAN STAT TT TIME COMMAND >> 0 79759 79758 0 96 0 0 16 - DE+ p6 0:00,00 >> /bin/tcsh -fc >> /meow/ports/editors/openoffice.org-3/work/BEB300_m3/solver/300/unxfbsdx.pro/bin/ma > > It makes sense to show the whole ps axl output. See http://aldan.algebra.com/~mi/tmp/ps-axl.txt -- I edited it for privacy a little bit, but process-states are intact. The java-processes in the linuxf have remained unkillable for weeks now -- I even forgot about them. But those are linuxulator problems, whereas the tcsh is native... Yours, -mi