Date: Mon, 25 Feb 2002 14:38:40 -0800 From: Kris Kennaway <kris@obsecurity.org> To: Ian Dowse <iedowse@maths.tcd.ie> Cc: Kris Kennaway <kris@obsecurity.org>, mckusick@mckusick.com, fs@FreeBSD.org, dillon@FreeBSD.org, fanf@chiark.greenend.org.uk Subject: Re: UFS panic on -stable Message-ID: <20020225143840.A60688@xor.obsecurity.org> In-Reply-To: <200202252230.aa23166@salmon.maths.tcd.ie>; from iedowse@maths.tcd.ie on Mon, Feb 25, 2002 at 10:30:11PM %2B0000 References: <20020225131714.B59373@xor.obsecurity.org> <200202252230.aa23166@salmon.maths.tcd.ie>
next in thread | previous in thread | raw e-mail | index | archive | help
--GvXjxJ+pjyke8COw Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Feb 25, 2002 at 10:30:11PM +0000, Ian Dowse wrote: > In message <20020225131714.B59373@xor.obsecurity.org>, Kris Kennaway writ= es: > >Here you go, hope I got everything: >=20 > Mostly :-) Could you print out "*(struct proc *)0xcc2fba00", as the > `p' pointer in frame 18 got lost. I just want to see what process > was exiting to see if it offers any further hints. (kgdb) print *(struct proc *)0xcc2fba00 $1 =3D {p_procq =3D {tqe_next =3D 0xcc2fdf60, tqe_prev =3D 0xc0402560}, p_l= ist =3D {le_next =3D 0xce7809c0, le_prev =3D 0xce295a48}, p_cred =3D 0xc1f8b720, p_fd =3D 0xc1ed9b00, p_= stats =3D 0xcdf2ecd0, p_limit =3D 0xc166d200, p_upages_obj =3D 0xcdf438a0, p_procsig =3D 0xc1ac= 5640, p_flag =3D 8452, p_stat =3D 2 '\002', p_pad1 =3D "\000\000", p_pid =3D 2216, p_hash =3D {l= e_next =3D 0x0, le_prev =3D 0xc15b52a0}, p_pglist =3D {le_next =3D 0xce476700, le_prev = =3D 0xcc2fcc1c}, p_pptr =3D 0xcc2fcbe0, p_sibling =3D {le_next =3D 0xce476700, le_prev =3D= 0xcc2fcc30}, p_children =3D { lh_first =3D 0x0}, p_ithandle =3D {callout =3D 0xc67f64e0}, p_oppid =3D= 0, p_dupfd =3D 0, p_vmspace =3D 0xce3022c0, p_estcpu =3D 295, p_cpticks =3D 106, p_pctcpu = =3D 7355, p_wchan =3D 0x0, p_wmesg =3D 0xc036dbc9 "biord", p_swtime =3D 5, p_slptime =3D 0, p_realti= mer =3D {it_interval =3D { tv_sec =3D 0, tv_usec =3D 0}, it_value =3D {tv_sec =3D 42188, tv_usec= =3D 597238}}, p_runtime =3D 32182, p_uu =3D 0, p_su =3D 0, p_iu =3D 0, p_uticks =3D 2, p_sticks =3D 10278, p= _iticks =3D 0, p_traceflag =3D 0, p_tracep =3D 0x0, p_siglist =3D {__bits =3D {0, 0, 0, 0}}, p_textvp =3D 0= xcde86480, p_lock =3D 0 '\000', p_oncpu =3D 0 '\000', p_lastcpu =3D 0 '\000', p_rqindex =3D 12 '\f', p_lo= cks =3D -7, p_simple_locks =3D 0, p_stops =3D 0, p_stype =3D 0, p_step =3D 0 '\000', p_pfsflags =3D 0 '\000= ', p_pad3 =3D "\000", p_retval =3D {0, 0}, p_sigiolst =3D {slh_first =3D 0x0}, p_sigparent =3D 20, p_oldsigmas= k =3D {__bits =3D {0, 0, 0, 0}}, p_sig =3D 11, p_code =3D 12, p_klist =3D {slh_first =3D 0x0}, p_sigmask = =3D {__bits =3D {0, 0, 0, 0}}, p_sigstk =3D {ss_sp =3D 0x0, ss_size =3D 0, ss_flags =3D 4}, p_priority = =3D 86 'V', p_usrpri =3D 86 'V', p_nice =3D 0 '\000', p_comm =3D "sshd\000er\000\000\000\000\000\000\000\0= 00\000", p_pgrp =3D 0xc15db000, p_sysent =3D 0xc03b0140, p_rtprio =3D {type =3D 1, prio =3D 0}, p_prison = =3D 0x0, p_args =3D 0xc1faa260, p_addr =3D 0xcdf2e000, p_md =3D {md_regs =3D 0xcdf30fa8}, p_xstat =3D 0, = p_acflag =3D 19, p_ru =3D 0xc1fba080, p_nthreads =3D 0, p_aioinfo =3D 0x0, p_wakeup =3D 0, p_peers =3D 0x0, p_l= eader =3D 0xcc2fba00, p_asleep =3D { as_priority =3D 0, as_timo =3D 0}, p_emuldata =3D 0x0} > The superblock claims that this is a 2MB "/dev" filesystem - is > that a real disk filesystem, or mounted from a vnconfig disk or > something? I should have provided more information about the clients in the initial email: they boot "diskless" via NFS, but also have local disk. Here's the df output: Filesystem 1K-blocks Used Avail Capacity Mou= nted on 216.136.204.23:/a/nfsroots/4.dir4 176873964 99865811 62858236 61% / mfs:13 3935 1055 2566 29% /etc mfs:21 32206 856 28774 3% /var mfs:28 10030 188 9040 2% /tmp mfs:33 1486 68 1300 5% /dev /dev/ad0e 2032839 108878 1761334 6% /a /dev/ad0f 26046238 7158650 16803889 30% /x > In the vnode we have v_type set to VNON, v_mount is non-NULL, v_data > is non-NULL, i_mode was 0666. Candidates I could see for leaving > vnodes like this are getnewvnode() and the weird code in ufs_mknod(). > I guess ufs_mknod is the main suspect since the filesystem is /dev. >=20 > I wonder is the new vlrureclaim() code somehow reclaiming vnodes > at a bad time. Maybe try setting kern.maxvnodes to some really large > value to see if it stops the crashes, or set it very small and see > if they occur more frequently. Okay, I'll try this. Kris --GvXjxJ+pjyke8COw Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE8erzvWry0BWjoQKURAn6QAKCURXVGSHiZ8ob5sOZjQoQKrP9fEACdGIsF vCH4Nzq9LkN9+xShLlRJihM= =FRnw -----END PGP SIGNATURE----- --GvXjxJ+pjyke8COw-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-fs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020225143840.A60688>