union_lookup panics ...
Marc G. Fournier
scrappy at hub.org
Wed Jul 2 11:01:13 PDT 2003
grep union /var/log/messages
Jul 2 12:53:01 jupiter savecore: reboot after panic: union_lookup returning . (0xc68e9e90) not same as startdir (0xc5e062c0)
Jul 2 14:35:07 jupiter savecore: reboot after panic: union_lookup returning . (0xbf6fee90) not same as startdir (0xbb6d58c0)
had two of them today, dumping nice cores ... I'm suspecting its someone
trying to remove a file that is "scrambled" ... I can do similar doing a
pkg_delete ... but, is there any way of finding which file?
The code is here, but I can't seem to even get an inode out of it to using
'find' to find:
(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
$1 = (struct vnode *) 0x0
(kgdb) print dvp
$2 = (struct vnode *) 0xc5e062c0
(kgdb) print *dvp
$3 = {v_flag = 0, v_usecount = 1, v_writecount = 0, v_holdcnt = 0,
v_id = 272969383, v_mount = 0x89a7dc00, v_op = 0x89475000, v_freelist =
{
tqe_next = 0x0, tqe_prev = 0xc187151c}, v_nmntvnodes = {
tqe_next = 0xc2cdeec0, tqe_prev = 0xbfefe264}, v_cleanblkhd = {
tqh_first = 0x0, tqh_last = 0xc5e062ec}, v_dirtyblkhd = {tqh_first =
0x0,
tqh_last = 0xc5e062f4}, v_synclist = {le_next = 0x0, le_prev = 0x0},
v_numoutput = 0, v_type = VREG, v_un = {vu_mountedhere = 0x0,
vu_socket = 0x0, vu_spec = {vu_specinfo = 0x0, vu_specnext = {
sle_next = 0x0}}, vu_fifoinfo = 0x0}, v_lease = 0x0, v_lastw = 0,
v_cstart = 0, v_lasta = 0, v_clen = 0, v_object = 0x0, v_interlock = {
lock_data = 0}, v_vnlock = 0x0, v_tag = VT_UNION, v_data = 0x92aa0080,
v_cache_src = {lh_first = 0x0}, v_cache_dst = {tqh_first = 0x0,
tqh_last = 0xc5e06340}, v_dd = 0xc5e062c0, v_ddid = 0, v_pollinfo = {
vpi_lock = {lock_data = 0}, vpi_selinfo = {si_pid = 0, si_note = {
slh_first = 0x0}, si_flags = 0}, vpi_events = 0, vpi_revents = 0},
v_vxproc = 0x0}
(
More information about the freebsd-stable
mailing list