Skip site navigation (1)Skip section navigation (2)
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>