On 18. sep. 2006, at 22.14, John Baldwin wrote:

On Sunday 17 September 2006 02:05, Frode Nordahl wrote:
On 17. sep. 2006, at 04.42, John Baldwin wrote:

On Saturday 16 September 2006 16:55, Frode Nordahl wrote:
On 16. sep. 2006, at 22.22, Frode Nordahl wrote:

On 16. sep. 2006, at 22.09, John Baldwin wrote:

On Saturday 16 September 2006 07:02, Frode Nordahl wrote:
Hello,

FreeBSD localhost.localdomain 6.2-PRERELEASE FreeBSD 6.2-
PRERELEASE
#1: Wed Sep 13 00:10:04 CEST 2006
[EMAIL PROTECTED]:/
usr/obj/usr/src/sys/PT  i386

After running some stress tests for 3 days, I wanted to remove
some
large directories.

Do you have a coredump?  I assume you do from your debug
output.  Can
you download http://www.FreeBSD.org/~jhb/gdb/gdb6, fire up kgdb,
and
once in kgdb, do 'source /path/to/gdb6' and then run 'ps' and reply
with the output from that?

I am sorry, I have not. I tried to call doadump, but there was no
dumpdevice configured :-(

Somehow I have convinced myself that this was turned on by default
now, so I have not enabled it explicitly in rc.conf. Is there any
way to tell DDB what dumpdevice to use directly?

I will configure a dumpdevice and try really hard to make it happen
again.

I was able to reproduce the livelock again, and this time I had the
system armed with dumpon :-)

Here is the output you requested:
(kgdb) ps
   pid  ppid  pgrp   uid   state   wmesg     wchan    cmd
2535  2499  2535     0  R+      CPU  0              rm
2534  2499  2534     0  L+     *Giant    0xc6704580 rm
2533  2499  2533     0  L+     *Giant    0xc6704580 rm
2532  2499  2532     0  R+                          rm
2531  2499  2531     0  L+     *Giant    0xc6704580 rm
2499  2496  2499     0  Ss+     ttyin    0xc655d810 bash
2496   784  2496     0  Rs                          sshd

Ok, do 'lockchain 2534' in kgdb (with gdb6 sourced) and let me see the
output from that.

(kgdb) lockchain 2534
thread 100038 (pid 2534, rm) blocked on lock 0xc09e6800 "Giant"
thread 100091 (pid 2535, rm) running on CPU 0

Ok, do 'proc 2535' followed by 'where'

(kgdb) proc 2535
(kgdb) where
#0  doadump () at pcpu.h:165
#1  0xc04733bb in db_fncall (dummy1=1016, dummy2=0, dummy3=-319658232,
    dummy4=0xecf2670c "@g??") at /usr/src/sys/ddb/db_command.c:492
#2  0xc04731c0 in db_command (last_cmdp=0xc09cb624, cmd_table=0x0,
    aux_cmd_tablep=0xc092a838, aux_cmd_tablep_end=0xc092a854)
    at /usr/src/sys/ddb/db_command.c:350
#3 0xc0473288 in db_command_loop () at /usr/src/sys/ddb/db_command.c: 458 #4 0xc0474e95 in db_trap (type=3, code=0) at /usr/src/sys/ddb/ db_main.c:221
#5  0xc0696203 in kdb_trap (type=3, code=0, tf=0xecf2684c)
    at /usr/src/sys/kern/subr_kdb.c:473
#6  0xc089140c in trap (frame=
{tf_fs = -319684600, tf_es = -1066860504, tf_ds = -1064304600, tf_edi = 249, tf_esi = -967491584, tf_ebp = -319657844, tf_isp = -319657864, tf_ebx = -963122944, tf_edx = 0, tf_ecx = -1056878592, tf_eax = 34, tf_trapno = 3, tf_err = 0, tf_eip = -1066836089, tf_cs = 32, tf_eflags = 130, tf_esp = -319657816, tf_ss = -1064914410}) at / usr/src/sys/i386/i386/trap.c:594
#7  0xc087f49a in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#8  0xc0695f87 in kdb_enter (msg=0x22 <Address 0x22 out of bounds>)
    at cpufunc.h:60
#9 0xc086b216 in siointr1 (com=0xc6554000) at /usr/src/sys/dev/sio/ sio.c:1522 #10 0xc086aff4 in siointr (arg=0xc6554000) at /usr/src/sys/dev/sio/ sio.c:1391 #11 0xc0883491 in intr_execute_handlers (isrc=0xc63854c4, iframe=0xecf268f8)
    at /usr/src/sys/i386/i386/intr_machdep.c:233
---Type <return> to continue, or q <return> to quit---
#12 0xc0885852 in lapic_handle_intr (frame=
{if_vec = 56, if_fs = 8, if_es = 40, if_ds = 40, if_edi = 36, if_esi = -961899520, if_ebp = -319657648, if_ebx = -873832448, if_edx = 100875, if_ecx = 3111, if_eax = 40, if_eip = -1065518606, if_cs = 32, if_eflags = 643, if_esp = 40, if_ss = 40}) at /usr/src/sys/i386/ i386/local_apic.c:606
#13 0xc087f853 in Xapic_isr1 () at apic_vector.s:110
#14 0xc07d79f2 in ufsdirhash_adjfree (dh=0xc6aa9400, offset=1593184, diff=-16)
    at /usr/src/sys/ufs/ufs/ufs_dirhash.c:917
#15 0xc07d6478 in ufsdirhash_build (ip=0xc8b3018c)
    at /usr/src/sys/ufs/ufs/ufs_dirhash.c:246
#16 0xc07d84b1 in ufs_lookup (ap=0xecf26a7c)
    at /usr/src/sys/ufs/ufs/ufs_lookup.c:192
#17 0xc08a28b8 in VOP_CACHEDLOOKUP_APV (vop=0x28, a=0x18a0b) at vnode_if.c:150
#18 0xc06c985e in vfs_cache_lookup (ap=0x28) at vnode_if.h:82
#19 0xc08a2847 in VOP_LOOKUP_APV (vop=0xc09b5840, a=0xecf26b18)
    at vnode_if.c:99
#20 0xc06cde31 in lookup (ndp=0xecf26ba0) at vnode_if.h:56
#21 0xc06cd6d2 in namei (ndp=0xecf26ba0) at /usr/src/sys/kern/ vfs_lookup.c:211
#22 0xc06dbe93 in kern_lstat (td=0xc697e900,
    path=0x18a0b <Address 0x18a0b out of bounds>, pathseg=100875,
    sbp=0xecf26c74) at /usr/src/sys/kern/vfs_syscalls.c:2147
#23 0xc06dbe2f in lstat (td=0xc697e900, uap=0xecf26d04)
    at /usr/src/sys/kern/vfs_syscalls.c:2130
---Type <return> to continue, or q <return> to quit---
#24 0xc0891c83 in syscall (frame=
{tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = 134541896, tf_esi = 134541824, tf_ebp = -1077941288, tf_isp = -319656604, tf_ebx = 672435584, tf_edx = 134541824, tf_ecx = 0, tf_eax = 190, tf_trapno = 12, tf_err = 2, tf_eip = 672322675, tf_cs = 51, tf_eflags = 662, tf_esp = -1077941444, tf_ss = 59})
    at /usr/src/sys/i386/i386/trap.c:983
#25 0xc087f4ef in Xint0x80_syscall () at /usr/src/sys/i386/i386/ exception.s:200
#26 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)

--
Frode Nordahl



_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to