Re: new fxp lor

From: Rene Ladan (r.c.ladan_at_student.tue.nl)
Date: 04/28/05

  • Next message: Samuel Clements: "Re: SATA RAID 1 controllers for Intel board"
    Date: Thu, 28 Apr 2005 00:37:02 +0200
    To: stable@freebsd.org
    
    
    

    On Wed, Apr 27, 2005 at 08:01:28PM +0200, Rene Ladan wrote:
    > Hi,
    >
    > I experienced this new fxp LOR (probably when ntpd started during boot):

    [snip 2 LORs]

    > The box panics with automatic dump and reboot:
    >
    > KDB: enter: witness_checkorder
    > panic: blockable sleep lock (sleep mutex) tty @ /usr/src/sys/kern/kern_event.c:1495
    > KDB: stack backtrace:
    > Uptime: 15m33s
    > Dumping 191 MB
    > 16 32 48 64 80 96 112 128 144 160 176
    > Dump complete

    Some dump analysis (especially frames 34 and 35 look interesting):

    [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 "i386-marcel-freebsd".
    #0 doadump () at pcpu.h:159
    159 pcpu.h: No such file or directory.
            in pcpu.h
    (kgdb) bt f
    #0 doadump () at pcpu.h:159
    No locals.
    #1 0xc04948aa in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:410
            first_buf_printf = 1
    #2 0xc0494c18 in panic (
        fmt=0xc05fcf6f "blockable sleep lock (%s) %s @ %s:%d")
        at /usr/src/sys/kern/kern_shutdown.c:566
            td = (struct thread *) 0xc13e7180
            bootopt = 256
            newpanic = 1
            ap = 0xc9be56a8 "{²`ÀØÌ_À~l_À×\005"
            buf = "blockable sleep lock (sleep mutex) tty @ /usr/src/sys/kern/kern_event.c:1495", '\0' <repeats 179 times>
    #3 0xc04bb5ae in witness_checkorder (lock=0xc158c510, flags=9,
        file=0xc05f6c7e "/usr/src/sys/kern/kern_event.c", line=1495)
        at /usr/src/sys/kern/subr_witness.c:709
            lock_list = (struct lock_list_entry **) 0x15
            lle = (struct lock_list_entry *) 0xc9be56fc
            lock1 = (struct lock_instance *) 0xc13e7180
            lock2 = (struct lock_instance *) 0x0
            class = (struct lock_class *) 0xc0620ffc
            w = (struct witness *) 0xc0649468
            w1 = (struct witness *) 0x20
            td = (struct thread *) 0xc13e7180
    ---Type <return> to continue, or q <return> to quit---
            i = 1923
            j = -1066895508
            __func__ = "witness_checkorder"
    #4 0xc048a95a in _mtx_lock_flags (m=0xc158c510, opts=0,
        file=0xc05f6c7e "/usr/src/sys/kern/kern_event.c", line=1495)
        at /usr/src/sys/kern/kern_mutex.c:271
    No locals.
    #5 0xc0476ff5 in knote (list=0xc158c498, hint=0, islocked=0)
        at /usr/src/sys/kern/kern_event.c:1495
            kq = (struct kqueue *) 0xc158c438
            kn = (struct knote *) 0xc158c400
    #6 0xc04c98ae in ttwwakeup (tp=0xc158c400) at /usr/src/sys/kern/tty.c:2398
    No locals.
    #7 0xc05baf21 in scstart (tp=0xc158c400)
        at /usr/src/sys/dev/syscons/syscons.c:1369
            rbp = (struct clist *) 0xc158c438
            len = 0
            buf = "lwhÀ\204\a\000\000\000p\000\000`whÀ€WŸÉBk[ÀlwhÀ\204\a\000\000 \000\000\000\000p\000\000BK\000 \224WŸÉ\032\205[À ªhÀlwhÀ`whÀ\000\017\000\000ÌWŸÉul[À`whÀ\204\a\000\000 \000\000\000\000\017\000\000\000\000\000\000`whÀ`whÀ ªhÀìWŸÉîÌ[À`whÀ\204\a\000\000\000\000\000"
            scp = (scr_stat *) 0xc0687760
    #8 0xc05be305 in scgetc (sc=0xc068aa20, flags=3)
        at /usr/src/sys/dev/syscons/syscons.c:3211
    ---Type <return> to continue, or q <return> to quit---
            scp = (scr_stat *) 0xc0687760
            tp = (struct tty *) 0x0
            c = 6
            this_scr = -910272488
            f = 0
            i = 0
    #9 0xc05bb379 in sccngetch (flags=2)
        at /usr/src/sys/dev/syscons/syscons.c:1555
            fkey = {str = '\0' <repeats 15 times>, len = 0 '\0'}
            fkeycp = 0
            scp = (scr_stat *) 0xc0687760
            p = (u_char *) 0x0
            cur_mode = 1
            c = -1067201760
    #10 0xc05bb1c2 in sccncheckc (cd=0xc06350e0)
        at /usr/src/sys/dev/syscons/syscons.c:1478
    No locals.
    #11 0xc04cc1f8 in cncheckc () at /usr/src/sys/kern/tty_cons.c:567
            cnd = (struct cn_device *) 0xc066d0e0
            cn = (struct consdev *) 0x0
            c = 0
    #12 0xc04cc1a5 in cngetc () at /usr/src/sys/kern/tty_cons.c:548
            c = 0
    #13 0xc042a765 in db_readline (lstart=0xc063cb20 "c\n", lsize=120)
    ---Type <return> to continue, or q <return> to quit---
        at /usr/src/sys/ddb/db_input.c:324
    No locals.
    #14 0xc042a8aa in db_read_line () at /usr/src/sys/ddb/db_lex.c:55
            i = 0
    #15 0xc0428fc1 in db_command_loop () at /usr/src/sys/ddb/db_command.c:453
    No locals.
    #16 0xc042b125 in db_trap (type=3, code=0) at /usr/src/sys/ddb/db_main.c:221
            jb = {{_jb = {-910272284, -910272312, -910272232, -1052872320, 0,
          -1069371194, 0, 0, 0, 0, -910272232, -1068823136}}}
            prev_jb = (void *) 0x0
            bkpt = 0
    #17 0xc04b0e27 in kdb_trap (type=0, code=0, tf=0xc9be5978)
        at /usr/src/sys/kern/subr_kdb.c:418
            handled = -910272136
    #18 0xc05d9428 in trap (frame=
          {tf_fs = -1051983848, tf_es = 16, tf_ds = -910295024, tf_edi = 9, tf_esi = -1051950492, tf_ebp = -910272064, tf_isp = -910272092, tf_ebx = -1067004164, tf_edx = 1, tf_ecx = -1056878592, tf_eax = 31, tf_trapno = 3, tf_err = 0, tf_eip = -1068823776, tf_cs = 8, tf_eflags = 646, tf_esp = -1067468212, tf_ss = -1067537639}) at /usr/src/sys/i386/i386/trap.c:576
            td = (struct thread *) 0xc13e7180
            p = (struct proc *) 0xc13e654c
            sticks = 0
            i = 0
    ---Type <return> to continue, or q <return> to quit---
            ucode = 0
            type = 3
            code = 0
            eva = 0
    #19 0xc05c880a in calltrap () at /usr/src/sys/i386/i386/exception.s:140
    No locals.
    #20 0xc14c0018 in ?? ()
    No symbol table info available.
    #21 0x00000010 in ?? ()
    No symbol table info available.
    #22 0xc9be0010 in ?? ()
    No symbol table info available.
    #23 0x00000009 in ?? ()
    No symbol table info available.
    #24 0xc14c8264 in ?? ()
    No symbol table info available.
    #25 0xc9be59c0 in ?? ()
    No symbol table info available.
    #26 0xc9be59a4 in ?? ()
    No symbol table info available.
    #27 0xc066cefc in w_locklistdata ()
    No symbol table info available.
    #28 0x00000001 in ?? ()
    No symbol table info available.
    ---Type <return> to continue, or q <return> to quit---
    #29 0xc1015000 in ?? ()
    No symbol table info available.
    #30 0x0000001f in ?? ()
    No symbol table info available.
    #31 0x00000003 in ?? ()
    No symbol table info available.
    #32 0x00000000 in ?? ()
    No symbol table info available.
    #33 0xc04b0b20 in kdb_enter (msg=0x0) at cpufunc.h:56
    No locals.
    #34 0xc04bbbab in witness_checkorder (lock=0xc14c8264, flags=9,
        file=0xc06fe7bd "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c",
        line=1232) at /usr/src/sys/kern/subr_witness.c:946
            lock_list = (struct lock_list_entry **) 0xc13e71f0
            lle = (struct lock_list_entry *) 0xc066cef8
            lock1 = (struct lock_instance *) 0xc066cefc
            lock2 = (struct lock_instance *) 0x0
            class = (struct lock_class *) 0xc0620ffc
            w = (struct witness *) 0xc0649530
            w1 = (struct witness *) 0xc064a778
            td = (struct thread *) 0xc066cefc
            i = -1
            j = 0
            __func__ = "witness_checkorder"
    ---Type <return> to continue, or q <return> to quit---
    #35 0xc048a95a in _mtx_lock_flags (m=0xc14c8264, opts=0,
        file=0xc06fe7bd "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c",
        line=1232) at /usr/src/sys/kern/kern_mutex.c:271
    No locals.
    #36 0xc06fbdc7 in ?? ()
    No symbol table info available.
    #37 0xc14c8264 in ?? ()
    No symbol table info available.
    #38 0x00000000 in ?? ()
    No symbol table info available.
    #39 0xc06fe7bd in ?? ()
    No symbol table info available.
    #40 0x000004d0 in ?? ()
    No symbol table info available.
    #41 0xc14c8000 in ?? ()
    No symbol table info available.
    #42 0xc14c8000 in ?? ()
    No symbol table info available.
    #43 0xc9be5a70 in ?? ()
    No symbol table info available.
    #44 0xc050b1c9 in if_start (ifp=0xc14c8264) at /usr/src/sys/net/if.c:1959
    No locals.
    Previous frame identical to this frame (corrupt stack?)

    (kgdb) frame 33
    #33 0xc04b0b20 in kdb_enter (msg=0x0) at cpufunc.h:56
    56 cpufunc.h: No such file or directory.
            in cpufunc.h
    (kgdb) frame 34
    #34 0xc04bbbab in witness_checkorder (lock=0xc14c8264, flags=9,
        file=0xc06fe7bd "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c",
        line=1232) at /usr/src/sys/kern/subr_witness.c:946
    946 kdb_enter(__func__);
    (kgdb) frame 35
    #35 0xc048a95a in _mtx_lock_flags (m=0xc14c8264, opts=0,
        file=0xc06fe7bd "/usr/src/sys/modules/fxp/../../dev/fxp/if_fxp.c",
        line=1232) at /usr/src/sys/kern/kern_mutex.c:271
    271 WITNESS_CHECKORDER(&m->mtx_object, opts | LOP_NEWORDER | LOP_EXCLUSIVE,
    (kgdb) print *m
    $1 = {mtx_object = {lo_class = 0xc0620ffc, lo_name = 0xc14a57e0 "fxp0",
        lo_type = 0xc06fe820 "network driver", lo_flags = 196608, lo_list = {
          tqe_next = 0xc14c8208, tqe_prev = 0xc14bf010},
        lo_witness = 0xc0649530}, mtx_lock = 4, mtx_recurse = 0}
    (kgdb) q

    I still have this dump (~65MB uncompressed) available.

    > This is on:
    >
    > FreeBSD 5.4-STABLE #0: Tue Apr 26 07:30:25 CEST 2005 root@82-168-79-254-bbxl.xdsl.tiscali.nl:/usr/obj/usr/src/sys/RENE
    >
    Regards,
    Rene

    -- 
    "It won't fit on the line."
    		-- me, 2001
    
    



  • Next message: Samuel Clements: "Re: SATA RAID 1 controllers for Intel board"

    Relevant Pages