kern/50393: union_lookup returning . (0xba8ade90) not same as
startdir (0xb77d7780)
Marc G.Fournier
scrappy at hub.org
Fri Mar 28 04:30:26 PST 2003
>Number: 50393
>Category: kern
>Synopsis: union_lookup returning . (0xba8ade90) not same as startdir (0xb77d7780)
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Fri Mar 28 04:30:19 PST 2003
>Closed-Date:
>Last-Modified:
>Originator: Marc G. Fournier
>Release: FreeBSD 4.8-RC i386
>Organization:
Hub.Org Networking Services
>Environment:
System: FreeBSD venus.hub.org 4.8-RC FreeBSD 4.8-RC #3: Thu Mar 13 21:05:05 EST 2003 root at venus.hub.org:/usr/obj/usr/src/sys/kernel i386
>Description:
Script started on Fri Mar 28 07:13:46 2003
venus# gdb -k /usr/src/[K[K[K[Kbj[K[Kobj/usr/src/sys/kernel/kernel.g[Kdebug vmcore.1
GNU gdb 4.18 (FreeBSD)
Copyright 1998 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-unknown-freebsd"...Deprecated bfd_read called at /usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/dbxread.c line 2627 in elfstab_build_psymtabs
Deprecated bfd_read called at /usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/dbxread.c line 933 in fill_symbuf
SMP 2 cpus
IdlePTD at phsyical address 0x0032c000
initial pcb at physical address 0x002a0c20
panicstr: union_lookup returning . (0xba8ade90) not same as startdir (0xb77d7780)
panic messages:
---
panic: union_lookup returning . (0xba8ade90) not same as startdir (0xb77d7780)
mp_lock = 00000001; cpuid = 0; lapic.id = 01000000
boot() called on cpu#0
syncing disks... 24 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
giving up on 2 buffers
Uptime: 14d5h6m10s
dumping to dev #da/0x20001, offset 6291584
---
#0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
487 if (dumping++) {
(kgdb) where
#0 dumpsys () at /usr/src/sys/kern/kern_shutdown.c:487
#1 0x8014a587 in boot (howto=256) at /usr/src/sys/kern/kern_shutdown.c:316
#2 0x8014a9f9 in panic (fmt=0x80252bc0 "union_lookup returning . (%p) not same as startdir (%p)") at /usr/src/sys/kern/kern_shutdown.c:595
#3 0x80188428 in union_lookup (ap=0xba8ade00) at /usr/src/sys/miscfs/union/union_vnops.c:615
#4 0x80177061 in lookup (ndp=0xba8ade7c) at vnode_if.h:52
#5 0x80176b5c in namei (ndp=0xba8ade7c) at /usr/src/sys/kern/vfs_lookup.c:153
#6 0x8017cef1 in lstat (p=0xba729be0, uap=0xba8adf80) at /usr/src/sys/kern/vfs_syscalls.c:1824
#7 0x80236595 in syscall2 (frame={tf_fs = 47, tf_es = 47, tf_ds = 47, tf_edi = 134554944, tf_esi = 2143288160, tf_ebp = 2143279488, tf_isp = -1165303852,
tf_ebx = 2143281664, tf_edx = 134548960, tf_ecx = 992, tf_eax = 190, tf_trapno = 12, tf_err = 2, tf_eip = 673051168, tf_cs = 31, tf_eflags = 518,
tf_esp = 2143279348, tf_ss = 47}) at /usr/src/sys/i386/i386/trap.c:1175
#8 0x802238fb in Xint0x80_syscall ()
#9 0x804beb7 in ?? ()
#10 0x804a425 in ?? ()
#11 0x8049ec3 in ?? ()
#12 0x8049c5d in ?? ()
#13 0x8049996 in ?? ()
(kgdb) up 3
#3 0x80188428 in union_lookup (ap=0xba8ade00) at /usr/src/sys/miscfs/union/union_vnops.c:615
615 panic("union_lookup returning . (%p) not same as startdir (%p)", ap->a_vpp, dvp);
(kgdb) list
610
611 #ifdef DIAGNOSTIC
612 if (cnp->cn_namelen == 1 &&
613 cnp->cn_nameptr[0] == '.' &&
614 *ap->a_vpp != dvp) {
615 panic("union_lookup returning . (%p) not same as startdir (%p)", ap->a_vpp, dvp);
616 }
617 #endif
618
619 return (error);
(kgdb) print ap->a vpp
There is no member named vpp.
(kgdb) print *ap
$1 = {a_desc = 0x8026de40, a_dvp = 0xb77d7780, a_vpp = 0xba8ade90, a_cnp = 0xba8adea4}
(kgdb) print dvp
$2 = (struct vnode *) 0xb77d7780
(kgdb) up
#4 0x80177061 in lookup (ndp=0xba8ade7c) at vnode_if.h:52
52 rc = VCALL(dvp, VOFFSET(vop_lookup), &a);
(kgdb) print *a
Structure has no component named operator*.
(kgdb) list print a
$3 = {a_desc = 0x8026de40, a_dvp = 0xb77d7780, a_vpp = 0xba8ade90, a_cnp = 0xba8adea4}
(kgdb) print dvp
$4 = (struct vnode *) 0xb77d7780
(kgdb) list
47 int rc;
48 a.a_desc = VDESC(vop_lookup);
49 a.a_dvp = dvp;
50 a.a_vpp = vpp;
51 a.a_cnp = cnp;
52 rc = VCALL(dvp, VOFFSET(vop_lookup), &a);
53 return (rc);
54 }
55 struct vop_cachedlookup_args {
56 struct vnodeop_desc *a_desc;
(kgdb) quit
venus# l[Kexit
exit
Script done on Fri Mar 28 07:15:23 2003
>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list