Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Apr 1995 19:40:05 -0700
From:      Heikki Suonsivu <hsu@clinet.fi>
To:        freebsd-bugs
Subject:   kern/349: Another dump, bad dir
Message-ID:  <199504180240.TAA11108@freefall.cdrom.com>
In-Reply-To: Your message of Tue, 18 Apr 1995 05:31:28 %2B0300 <199504180231.FAA09245@katiska.clinet.fi>

next in thread | previous in thread | raw e-mail | index | archive | help

>Number:         349
>Category:       kern
>Synopsis:       Panic with bad dir
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs (FreeBSD bugs mailing list)
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 17 19:40:03 1995
>Originator:     Heikki Suonsivu
>Organization:
Helsinki University of Technology, Finland
>Release:        FreeBSD 2.1.0-Development i386
>Environment:

	P60 as an nntp server in addition to normal work:

	to dev 4
01, offset 344064
dump 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 
6 5 4 3 2 1 INETSERVER
CPU: 54-MHz Pentium 510\60 or 567\66 (Pentium-class CPU)
  Origin = "GenuineIntel"  Id = 0x515  Stepping=5  Features=0x1bf<FPU,VME,PSE,MC
E,CX8,APIC>
real memory  = 33161216 (8096 pages)
avail memory = 30240768 (7383 pages)
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
ed0 at 0x280-0x29f irq 5 on isa
ed0: address 00:4f:56:00:93:c4, type NE2000 (16 bit) 
bpf: ed0 attached
lpt0 not found at 0x3bc
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16450
sio1 not found at 0x2f8
sio2 not found at 0x3e8
sio3 not found at 0x2e8
pca0 on isa
pca0: PC speaker audio driver
bt0: Bt946C/ 0-PCI/EISA/VLB(32bit) bus
bt0: reading board settings, busmastering, int=11
bt0: version 4.23, sync, parity, 32 mbxs, 32 ccbs
bt0: targ 0 sync rate=10.00MB/s(100ns), offset=15
bt0: targ 1 sync rate=10.00MB/s(100ns), offset=15
bt0: Enabling Round robin scheme
bt0 at 0x330 irq 11 on isa
bt0 waiting for scsi devices to settle
(bt0:0:0): "IBM 0662S12       !O 2 23" type 0 fixed SCSI 2
sd0(bt0:0:0): Direct-Access 1003MB (2055035 512 byte sectors)
(bt0:1:0): "SEAGATE ST32550N 0012" type 0 fixed SCSI 2
sd1(bt0:1:0): Direct-Access 2047MB (4194058 512 byte sectors)
aha0 not probed due to I/O address conflict with bt0 at 0x330
wdc0 not found at 0x1f0
wdc1 not found at 0x170
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: NEC 765
fd0: 1.44MB 3.5in
mcd0: timeout getting status
mcd0 not found at 0x300
le0: no board found at 0x300
le0 not found at 0x300
npx0 on motherboard
npx0: INT 16 interface
matcd0 not found at 0xffffffff
matcd1 not found at 0xffffffff
matcd2 not found at 0xffffffff
matcd3 not found at 0xffffffff
bio_imask c0000840 tty_imask c0030032 net_imask c0030032
Probing for devices on the pci0 bus:
        configuration mode 2 allows 16 devices.
pci0:0: vendor=0x10b9, device=0x1451, class=bridge [not supported]
pci0:2: vendor=0x10b9, device=0x1449, class=old [not supported]
pci0:3: vendor=0x104b, device=0x1040, class=storage [not supported]
        map(10): io(ffe4)
changing root device to sd0a
sd0s1: start 0, end = 2055034, size 2055035: OK
sd1s1: start 0, end = 4194057, size 4194058: OK
sd0s1: start 0, end = 2055034, size 2055035: OK
bpf: ds0 attached
bpf: lo0 attached
bpf: ppp0 attached
bpf: ppp1 attached
bpf: ppp2 attached
bpf: ppp3 attached
bpf: ppp4 attached
bpf: ppp5 attached
bpf: ppp6 attached
bpf: ppp7 attached
bpf: ppp8 attached
bpf: ppp9 attached
bpf: ppp10 attached
bpf: ppp11 attached
bpf: ppp12 attached
bpf: ppp13 attached
bpf: ppp14 attached
bpf: ppp15 attached
bpf: ppp16 attached
bpf: ppp17 attached
bpf: ppp18 attached
bpf: ppp19 attached
bpf: ppp20 attached
bpf: ppp21 attached
bpf: ppp22 attached
bpf: ppp23 attached
bpf: ppp24 attached
bpf: ppp25 attached
bpf: ppp26 attached
bpf: ppp27 attached
bpf: ppp28 attached
bpf: ppp29 attached
bpf: ppp30 attached
bpf: ppp31 attached
bpf: sl0 attached
bpf: sl1 attached
bpf: sl2 attached
bpf: sl3 attached
bpf: sl4 attached
bpf: sl5 attached
bpf: sl6 attached
bpf: sl7 attached
bpf: sl8 attached
bpf: sl9 attached
bpf: sl10 attached
bpf: sl11 attached
bpf: sl12 attached
bpf: sl13 attached
bpf: sl14 attached
bpf: sl15 attached
bpf: tun0 attached
sd0s1: start 0, end = 2055034, size 2055035: OK
sd1s1: start 0, end = 4194057, size 4194058: OK
sd1s1: start 0, end = 4194057, size 4194058: OK
<6>pid 9175: laske: uid 1090: exited on signal 11
<6>pid 9191: laske: uid 1090: exited on signal 11
<6>pid 9229: laske: uid 1090: exited on signal 11
<6>pid 12614: tcsh: uid 0: exited on signal 11
<6>pid 1244: tcsh: uid 105: exited on signal 11
<6>pid 15641: hangman: uid 7: exited on signal 11
<6>pid 15643: hangman: uid 7: exited on signal 11
<3>mb_map full
<6>pid 17165: irc-2.8: uid 1457: exited on signal 10
<6>pid 16951: irc-2.8: uid 1457: exited on signal 11
Second bad
/m/katiska/news: bad dir ino 811082 at offset 2032: mangled entry
panic: bad dir

syncing disks... 44 44 39 32 23 8 3 3 3 3 3 3 3 3 3 3 3 3 3 3 giving up

>Description:

Current directory is /var/crash/
Reading symbol data from /var/crash/kernel.20...done.
(kgdb) bt
(kgdb) core vmcore.20
IdlePTD 245000
panic: bad dir
current pcb at 1f649c
Reading in symbols for ../../i386/i386/machdep.c...done.
(kgdb) bt
#0  boot (arghowto=256) (../../i386/i386/machdep.c line 860)
#1  0xf01145c3 in panic (...)
#2  0xf019aca7 in ufs_dirbad (...)
#3  0xf019a4bd in ufs_lookup (...)
#4  0xf012930f in lookup (...)
#5  0xf0128ea0 in namei (...)
#6  0xf012e709 in vn_open (...)
#7  0xf012bf03 in open (...)
#8  0xf01b8fad in syscall (...)
(kgdb) directory /usr/src/sys/i386/compile
/usr/src/sys/i386/compile: No such file or directory.
(kgdb) directory /usr/src/sys/compile/CLINETSERVER
Source directories searched: /m/katiska/news/crash:/usr/src/sys/compile/CLINETSERVER
(kgdb) list
Reading in symbols for ../../kern/init_main.c...done.
121     /*
122      * System startup; initialize the world, create process 0, mount root
123      * filesystem, and fork to create init and pagedaemon.  Most of the
124      * hard work is done in the lower-level initialization routines including
125      * startup(), which does memory initialization and autoconfiguration.
126      */
127     void
128     main(framep)
129             void *framep;
130     {
(kgdb) down
Bottom (i.e., innermost) frame selected; you cannot go down.
(kgdb) up
Reading in symbols for ../../kern/subr_prf.c...done.
#1  0xf01145c3 in panic (fmt=(char *) 0xf019ac65 "bad dir") (../../kern/subr_prf.c line 128)
(kgdb) list
123                      kdbpanic();
124     #endif
125     #ifdef DDB
126             Debugger ("panic");
127     #endif
128             boot(bootopt);
129     }
130     
131     /*
132      * Warn that a system table is full.
(kgdb) up
Reading in symbols for ../../ufs/ufs/ufs_lookup.c...done.
#2  0xf019aca7 in ufs_dirbad (ip=(struct inode *) 0xf0ad0200, offset=2032, how=(char *) 0xf0199fd0 "mangled entry") (../../ufs/ufs/ufs_lookup.c line 587)
(kgdb) list
582      
583             mp = ITOV(ip)->v_mount;
584             (void)printf("%s: bad dir ino %ld at offset %ld: %s\n",
585                 mp->mnt_stat.f_mntonname, ip->i_number, offset, how);
586             if ((mp->mnt_stat.f_flags & MNT_RDONLY) == 0)
587                     panic("bad dir");
588     }
589     
590     /*
591      * Do consistency checking on a directory entry:
(kgdb) print *i
No symbol "i" in current context.
(kgdb) print *ip
Cannot read memory: address 0x0 out of bounds.
(kgdb) print ip
$1 = (struct inode *) 0x0
(kgdb) bt
#0  boot (arghowto=256) (../../i386/i386/machdep.c line 860)
#1  0xf01145c3 in panic (fmt=(char *) 0xf019ac65 "bad dir") (../../kern/subr_prf.c line 128)
#2  0xf019aca7 in ufs_dirbad (ip=(struct inode *) 0xf0ad0200, offset=2032, how=(char *) 0xf0199fd0 "mangled entry") (../../ufs/ufs/ufs_lookup.c line 587)
#3  0xf019a4bd in ufs_lookup (ap=(struct vop_lookup_args *) 0xefbffd80) (../../ufs/ufs/ufs_lookup.c line 282)
#4  0xf012930f in lookup (...)
#5  0xf0128ea0 in namei (...)
#6  0xf012e709 in vn_open (...)
#7  0xf012bf03 in open (...)
#8  0xf01b8fad in syscall (...)
(kgdb) print *(struct inode *) 0xf0ad0200
$2 = {i_next = 0x0, i_prev = 0xf0cb1300, i_vnode = 0xf0b47080, i_devvp = 0xf0a7a200, i_flag = 0x00000008, i_dev = 0x0000040e, i_number = 0x000c604a, inode_u = {fs = 0xf0a7f800, lfs = 0xf0a7f800}, i_dquot = {0x0, 0x0}, i_modrev = 0xce8eead3, i_lockf = 0x0, i_lockholder = 11834, i_lockwaiter = 0, i_count = 32, i_endoff = 28160, i_diroff = 0, i_offset = 2032, i_ino = 0x000c6087, i_reclen = 0x00000014, i_spare = {0 <repeats 11 times>}, i_din = {di_mode = 0x41ed, di_nlink = 4, di_u = {oldids = {0x0000, 0x0000}, inumber = 0x00000000}, di_size = 0x6e00, di_atime = {ts_sec = 798112277, ts_nsec = 0}, di_mtime = {ts_sec = 798135285, ts_nsec = 0}, di_ctime = {ts_sec = 798135285, ts_nsec = 0}, di_db = {3736360, 3737288, 3738392, 3743048, 3768136, 4154232, 4163264, 0, 0, 0, 0, 0}, di_ib = {0, 0, 0}, di_flags = 0x00000000, di_blocks = 55, di_gen = 796160418, di_uid = 0x00000006, di_gid = 0x00000006, di_spare = {0, 0}}}
(kgdb) where
#0  boot (arghowto=256) (../../i386/i386/machdep.c line 860)
#1  0xf01145c3 in panic (fmt=(char *) 0xf019ac65 "bad dir") (../../kern/subr_prf.c line 128)
#2  0xf019aca7 in ufs_dirbad (ip=(struct inode *) 0xf0ad0200, offset=2032, how=(char *) 0xf0199fd0 "mangled entry") (../../ufs/ufs/ufs_lookup.c line 587)
#3  0xf019a4bd in ufs_lookup (ap=(struct vop_lookup_args *) 0xefbffd80) (../../ufs/ufs/ufs_lookup.c line 282)
#4  0xf012930f in lookup (...)
#5  0xf0128ea0 in namei (...)
#6  0xf012e709 in vn_open (...)
#7  0xf012bf03 in open (...)
#8  0xf01b8fad in syscall (...)
(kgdb) up
#3  0xf019a4bd in ufs_lookup (ap=(struct vop_lookup_args *) 0xefbffd80) (../../ufs/ufs/ufs_lookup.c line 282)
(kgdb) down
#2  0xf019aca7 in ufs_dirbad (ip=(struct inode *) 0xf0ad0200, offset=2032, how=(char *) 0xf0199fd0 "mangled entry") (../../ufs/ufs/ufs_lookup.c line 587)
(kgdb) print offset
$3 = 2032
(kgdb) print how
$4 = (char *) 0xf0199fd0 "mangled entry"
(kgdb) up
#3  0xf019a4bd in ufs_lookup (ap=(struct vop_lookup_args *) 0xefbffd80) (../../ufs/ufs/ufs_lookup.c line 282)
(kgdb) down
#2  0xf019aca7 in ufs_dirbad (ip=(struct inode *) 0xf0ad0200, offset=2032, how=(char *) 0xf0199fd0 "mangled entry") (../../ufs/ufs/ufs_lookup.c line 587)
(kgdb) print mp
$5 = (struct mount *) 0xf0a04400
(kgdb) print *mp
$6 = {mnt_list = {tqe_next = 0xf0af9e00, tqe_prev = 0xf0a28800}, mnt_op = 0xf01e7d90, mnt_vnodecovered = 0xf0a7a680, mnt_vnodelist = {lh_first = 0xf0abed80}, mnt_flag = 4416, mnt_maxsymlinklen = 60, mnt_stat = {f_type = 1, f_flags = 4352, f_bsize = 512, f_iosize = 4096, f_blocks = 3961139, f_bfree = 283557, f_bavail = 85500, f_files = 911838, f_ffree = 486998, f_fsid = {val = {1038, 1}}, f_spare = {0, 0, 0, 0, 0, 0, 0, 0, 0}, f_mntonname = {"/m/katiska/news", '\000' <repeats 75 times>}, f_mntfromname = {"/dev/sd1g", '\000' <repeats 81 times>}}, mnt_data = 0xf0a28400, mnt_vfc = 0xf01e7dc0}
(kgdb) up
#3  0xf019a4bd in ufs_lookup (ap=(struct vop_lookup_args *) 0xefbffd80) (../../ufs/ufs/ufs_lookup.c line 282)
(kgdb) print ep
$7 = (struct direct *) 0xf30907f0
(kgdb) print *ep
$8 = {d_ino = 0x000c5d43, d_reclen = 0x0010, d_type = 0x08, d_namlen = 0x06, d_name = {"1042\000\000\000\000me\n\000\020\000\b\006104246\000\000g]\f\000\020\000\b\006104247\000\000i]\f\000\020\000\b\006104248\000\000m]\f\000\020\000\b\006104249\000\000\376Z\f\000\020\000\b\006104293\000\000p]\f\000\020\000\b\006104250\000\000\245e\n\000\020\000\b\006104251\000\000\250e\n\000\020\000\b\006104252\000\000\177]\f\000\020\000\b\006104253\000\000\202]\f\000\020\000\b\006104254\000\000\204]\f\000\020\000\b\006104255\000\000\207]\f\000\020\000\b\006104256\000\000"...}}
(kgdb) list
277                      ep = (struct direct *)((char *)bp->b_data + entryoffsetinblock);
278                     if (ep->d_reclen == 0 ||
279                         (dirchk && ufs_dirbadentry(vdp, ep, entryoffsetinblock))) {
280                             int i;
281     
282                             ufs_dirbad(dp, dp->i_offset, "mangled entry");
283                             i = DIRBLKSIZ - (entryoffsetinblock & (DIRBLKSIZ - 1));
284                             dp->i_offset += i;
285                             entryoffsetinblock += i;
286                             continue;
(kgdb) print ap
$9 = (struct vop_lookup_args *) 0x0
(kgdb) bt
#0  boot (arghowto=256) (../../i386/i386/machdep.c line 860)
#1  0xf01145c3 in panic (fmt=(char *) 0xf019ac65 "bad dir") (../../kern/subr_prf.c line 128)
#2  0xf019aca7 in ufs_dirbad (ip=(struct inode *) 0xf0ad0200, offset=2032, how=(char *) 0xf0199fd0 "mangled entry") (../../ufs/ufs/ufs_lookup.c line 587)
#3  0xf019a4bd in ufs_lookup (ap=(struct vop_lookup_args *) 0xefbffd80) (../../ufs/ufs/ufs_lookup.c line 282)
#4  0xf012930f in lookup (...)
#5  0xf0128ea0 in namei (...)
#6  0xf012e709 in vn_open (...)
#7  0xf012bf03 in open (...)
#8  0xf01b8fad in syscall (...)
(kgdb) print *(struct vop_lookup_args *) 0xefbffd80
$10 = {a_desc = 0xf01e10dc, a_dvp = 0xf0b47080, a_vpp = 0xefbffef8, a_cnp = 0xefbfff0c}
(kgdb) up
Reading in symbols for ../../kern/vfs_lookup.c...done.
#4  0xf012930f in lookup (ndp=(struct nameidata *) 0xefbffee8) (./vnode_if.h line 27)
(kgdb) print *a
Attempt to take contents of a non-pointer value.
(kgdb) print a
$11 = {a_desc = 0xf01e10dc, a_dvp = 0xf0b47080, a_vpp = 0xefbffef8, a_cnp = 0xefbfff0c}
(kgdb) up
#5  0xf0128ea0 in namei (ndp=(struct nameidata *) 0xefbffee8) (../../kern/vfs_lookup.c line 147)
(kgdb) print ndp
$12 = (struct nameidata *) 0xefbffee8
(kgdb) print *ndp
$13 = {ni_dirp = 0xefbfd898 "sci/electronics/104811", ni_segflg = UIO_USERSPACE, ni_startdir = 0x0, ni_rootdir = 0xf0a27080, ni_vp = 0x0, ni_dvp = 0xf0b47080, ni_pathlen = 1, ni_next = 0xf0aef016 , ni_loopcnt = 0x00000000, ni_cnd = {cn_nameiop = 0x00000001, cn_flags = 0x0000c04c, cn_proc = 0xf0bc2c00, cn_cred = 0xf0dad100, cn_pnbuf = 0xf0aef000 "sci/electronics/104811", cn_nameptr = 0xf0aef010 "104811", cn_namelen = 6, cn_hash = 0x0000012f, cn_consume = 0}}
(kgdb) u
The program is not being run.
(kgdb) up
Reading in symbols for ../../kern/vfs_vnops.c...done.
#6  0xf012e709 in vn_open (ndp=(struct nameidata *) 0xefbffee8, fmode=1538, cmode=436) (../../kern/vfs_vnops.c line 82)
(kgdb) print fmode
$14 = 1538
(kgdb) set radix 16
No symbol "radix" in current context.
(kgdbprint/x fmode
$15 = 0x00000602
(kgdb) print *ndp
$16 = {ni_dirp = 0xefbfd898 "sci/electronics/104811", ni_segflg = UIO_USERSPACE, ni_startdir = 0x0, ni_rootdir = 0xf0a27080, ni_vp = 0x0, ni_dvp = 0xf0b47080, ni_pathlen = 1, ni_next = 0xf0aef016 , ni_loopcnt = 0x00000000, ni_cnd = {cn_nameiop = 0x00000001, cn_flags = 0x0000c04c, cn_proc = 0xf0bc2c00, cn_cred = 0xf0dad100, cn_pnbuf = 0xf0aef000 "sci/electronics/104811", cn_nameptr = 0xf0aef010 "104811", cn_namelen = 6, cn_hash = 0x0000012f, cn_consume = 0}}
(kgdb) print /x cmode
$17 = 0x000001b4
(kgdb) up
Reading in symbols for ../../kern/vfs_syscalls.c...done.
#7  0xf012bf03 in open (p=(struct proc *) 0xf0bc2c00, uap=(struct open_args *) 0xefbfff94, retval=(int *) 0xefbfff8c) (../../kern/vfs_syscalls.c line 635)
(kgdb) print *p
$18 = {p_forw = 0xf0227dd0, p_back = 0x0, p_next = 0xf0c18c00, p_prev = 0xf0ca0f08, p_cred = 0xf0e2bd00, p_fd = 0xf0d33c80, p_stats = 0xf4676288, p_limit = 0xf022ecd4, p_vmspace = 0xf0ba5d00, p_sigacts = 0xf467615c, p_flag = 4, p_stat = 2, p_pad1 = {"\300\255\336"}, p_pid = 11834, p_hash = 0xf0adf000, p_pgrpnxt = 0xf0d3ee00, p_pptr = 0xf0a16200, p_osptr = 0xf0caac00, p_ysptr = 0xf0bcd500, p_cptr = 0xf0d3ee00, p_oppid = 0, p_dupfd = -20, p_estcpu = 0x0000014d, p_cpticks = 78, p_pctcpu = 0x000003b2, p_wchan = 0x0, p_wmesg = 0xf0126b18 "biowait", p_swtime = 0x00003dae, p_slptime = 0x00000000, p_realtimer = {it_interval = {tv_sec = 0, tv_usec = 0}, it_value = {tv_sec = 0, tv_usec = 0}}, p_rtime = {tv_sec = 1016, tv_usec = 660532}, p_uticks = 0x9218, p_sticks = 0x13a35, p_iticks = 0x3a65, p_traceflag = 0, p_tracep = 0x0, p_siglist = 0, p_textvp = 0xf0d97700, p_lock = 0, p_pad2 = {"\000\000\000"}, p_spare = {0, 0}, p_sigmask = 0x00000000, p_sigignore = 0x18408000, p_sigcatch = 0x0!
 0085000, p_priority = 0x10, p_usrpri = 0x7f, p_nice = 4, p_comm = {"innd\000tart\000\000\000\000\000\000\000\000"}, p_pgrp = 0xf0ea3580, p_sysent = 0xf01e2620, p_rtprio = {type = 0x0001, prio = 0x0000}, p_thread = 0, p_addr = 0xf4676000, p_md = {md_flags = 6, md_regs = 0xefbfffbc}, p_xstat = 0x0000, p_acflag = 0x0001, p_ru = 0x0}
(kgdb) print *uap
$19 = {path = 0xefbfd898 "sci/electronics/104811", flags = 1537, mode = 436}
(kgdb) up
Reading in symbols for ../../i386/i386/trap.c...done.
#8  0xf01b8fad in syscall (frame={tf_es = 39, tf_ds = 39, tf_edi = 160428, tf_esi = 0, tf_ebp = -272641292, tf_isp = -272629788, tf_ebx = 13017094, tf_edx = 104, tf_ecx = 5654, tf_eax = 5, tf_trapno = 663, tf_err = 663, tf_eip = 134445269, tf_cs = 31, tf_eflags = 663, tf_esp = -272641652, tf_ss = 39}) (../../i386/i386/trap.c line 828)
(kgdb) up
Initial frame selected; you cannot go up.
(kgdb) list
823                      ktrsyscall(p->p_tracep, code, callp->sy_narg, args);
824     #endif
825             rval[0] = 0;
826             rval[1] = frame.tf_edx;
827     
828             error = (*callp->sy_call)(p, args, rval);
829     
830             switch (error) {
831     
832             case 0:
(kgdb) down
#7  0xf012bf03 in open (p=(struct proc *) 0xf0bc2c00, uap=(struct open_args *) 0xefbfff94, retval=(int *) 0xefbfff8c) (../../kern/vfs_syscalls.c line 635)
(kgdb) list
630              fp = nfp;
631             flags = FFLAGS(uap->flags);
632             cmode = ((uap->mode &~ fdp->fd_cmask) & ALLPERMS) &~ S_ISTXT;
633             NDINIT(&nd, LOOKUP, FOLLOW, UIO_USERSPACE, uap->path, p);
634             p->p_dupfd = -indx - 1;                 /* XXX check for fdopen */
635             error = vn_open(&nd, flags, cmode);
636             if (error) {
637                     ffree(fp);
638                     if ((error == ENODEV || error == ENXIO) &&
639                         p->p_dupfd >= 0 &&                  /* XXX from fdopen */
(kgdb) down
#6  0xf012e709 in vn_open (ndp=(struct nameidata *) 0xefbffee8, fmode=1538, cmode=436) (../../kern/vfs_vnops.c line 82)
(kgdb) list
77               if (fmode & O_CREAT) {
78                      ndp->ni_cnd.cn_nameiop = CREATE;
79                      ndp->ni_cnd.cn_flags = LOCKPARENT | LOCKLEAF;
80                      if ((fmode & O_EXCL) == 0)
81                              ndp->ni_cnd.cn_flags |= FOLLOW;
82                      error = namei(ndp);
83                      if (error)
84                              return (error);
85                      if (ndp->ni_vp == NULL) {
86                              VATTR_NULL(vap);
(kgdb) down
#5  0xf0128ea0 in namei (ndp=(struct nameidata *) 0xefbffee8) (../../kern/vfs_lookup.c line 147)
(kgdb) list
142                              }
143                             dp = ndp->ni_rootdir;
144                             VREF(dp);
145                     }
146                     ndp->ni_startdir = dp;
147                     error = lookup(ndp);
148                     if (error) {
149                             FREE(cnp->cn_pnbuf, M_NAMEI);
150                             return (error);
151                     }
(kgdb) down
#4  0xf012930f in lookup (ndp=(struct nameidata *) 0xefbffee8) (./vnode_if.h line 27)
(kgdb) list
22       
23              a.a_desc = VDESC(vop_lookup);
24              a.a_dvp = dvp;
25              a.a_vpp = vpp;
26              a.a_cnp = cnp;
27              return (VCALL(dvp, VOFFSET(vop_lookup), &a));
28      }
29      struct vop_create_args {
30              struct vnodeop_desc *a_desc;
31              struct vnode *a_dvp;
(kgdb) down
#3  0xf019a4bd in ufs_lookup (ap=(struct vop_lookup_args *) 0xefbffd80) (../../ufs/ufs/ufs_lookup.c line 282)
(kgdb) list
277                      ep = (struct direct *)((char *)bp->b_data + entryoffsetinblock);
278                     if (ep->d_reclen == 0 ||
279                         (dirchk && ufs_dirbadentry(vdp, ep, entryoffsetinblock))) {
280                             int i;
281     
282                             ufs_dirbad(dp, dp->i_offset, "mangled entry");
283                             i = DIRBLKSIZ - (entryoffsetinblock & (DIRBLKSIZ - 1));
284                             dp->i_offset += i;
285                             entryoffsetinblock += i;
286                             continue;
(kgdb) down
#2  0xf019aca7 in ufs_dirbad (ip=(struct inode *) 0xf0ad0200, offset=2032, how=(char *) 0xf0199fd0 "mangled entry") (../../ufs/ufs/ufs_lookup.c line 587)
(kgdb) list
582      
583             mp = ITOV(ip)->v_mount;
584             (void)printf("%s: bad dir ino %ld at offset %ld: %s\n",
585                 mp->mnt_stat.f_mntonname, ip->i_number, offset, how);
586             if ((mp->mnt_stat.f_flags & MNT_RDONLY) == 0)
587                     panic("bad dir");
588     }
589     
590     /*
591      * Do consistency checking on a directory entry:
(kgdb) down
#1  0xf01145c3 in panic (fmt=(char *) 0xf019ac65 "bad dir") (../../kern/subr_prf.c line 128)
(kgdb) list
123                      kdbpanic();
124     #endif
125     #ifdef DDB
126             Debugger ("panic");
127     #endif
128             boot(bootopt);
129     }
130     
131     /*
132      * Warn that a system table is full.
(kgdb) down
#0  boot (arghowto=256) (../../i386/i386/machdep.c line 860)
(kgdb) list
855                      printf("Please press any key to reboot.\n\n");
856                     cngetc();
857             } else {
858                     if (howto & RB_DUMP) {
859                             savectx(&dumppcb, 0);
860                             dumppcb.pcb_ptd = rcr3();
861                             dumpsys();      
862     
863                             if (PANIC_REBOOT_WAIT_TIME != 0) {
864                                     if (PANIC_REBOOT_WAIT_TIME != -1) {
(kgdb) down
Bottom (i.e., innermost) frame selected; you cannot go down.
(kgdb) 

The file (bad dir?) seems to be ok, as is the directory (other than
lots of files).

hsu#katiska.clinet.fi Tue 25: cd /m/katiska/news/news/sci/
hsu#katiska.clinet.fi Tue 26: cd electronics/
hsu#katiska.clinet.fi Tue 27: L 104811
-rw-rw-r--   1 news     news         2119 Apr 17 19:57 104811
hsu#katiska.clinet.fi Tue 28:

>How-To-Repeat:

	We get panics at rate of 1-4 a day.

>Fix:
	
	Don't know.  

>Audit-Trail:
>Unformatted:





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199504180240.TAA11108>