Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Nov 2006 14:38:34 -0600
From:      Brooks Davis <brooks@one-eyed-alien.net>
To:        spil.oss@gmail.com
Cc:        Lodewijk V?ge <lvoege@gmail.com>, freebsd-stable@freebsd.org
Subject:   Re: dhclient taking up all CPU
Message-ID:  <20061105203834.GA22060@lor.one-eyed-alien.net>
In-Reply-To: <5fbf03c20611051212q28a819cbhf7e49d56c4ff6b3e@mail.gmail.com>
References:  <82912730-AD0E-4AE0-AA7C-FDD321F00B57@gmail.com> <5fbf03c20611051212q28a819cbhf7e49d56c4ff6b3e@mail.gmail.com>

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

--FCuugMFkClbJLl1L
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

It should be fixed in STABLE.  The particular fixes were to bpf.c so I
belive (but have not verified) that if you grab the latest version of
that file, put it in src/sbin/dhclient/ and rebuild dhclient the
problems will go away.

-- Brooks

On Sun, Nov 05, 2006 at 09:12:25PM +0100, Spil Oss wrote:
> Hi all,
>=20
> Been experiencing this same behaviour every now-and-then.
>=20
> FreeBSD/i386 6.1-RELEASE-p10
>=20
> Any solutions to this?
>=20
> Kind regards,
>=20
> Spil.
>=20
> On 06/05/06, Lodewijk V??ge <lvoege@gmail.com> wrote:
> >hello,
> >
> >a while ago someone reported the same problem I had been seeing, that
> >dhclient starts taking up 100% CPU. it's probably something comcast
> >is doing.
> >
> >I couldn't get the requested coredump then, if I set kern.corefile
> >to /tmp/%N.core and kill -QUIT it, it doesn't seem to produce a
> >coredump. but it happened again just now, and I was able to attach
> >gdb. this is where it's spinning, in receive_packet() in bpf.c:
> >
> >(gdb)
> >285                     if (interface->rbuf_offset =3D=3D interface-
> > >rbuf_len) {
> >(gdb)
> >299                     if (interface->rbuf_len - interface-
> > >rbuf_offset <
> >(gdb)
> >306                     memcpy(&hdr, &interface->rbuf[interface-
> > >rbuf_offset],
> >(gdb)
> >313                     if (interface->rbuf_offset + hdr.bh_hdrlen +
> >hdr.bh_caplen >
> >(gdb)
> >320                     interface->rbuf_offset +=3D hdr.bh_hdrlen;
> >(gdb)
> >327                     if (hdr.bh_caplen !=3D hdr.bh_datalen) {
> >(gdb)
> >328                             interface->rbuf_offset =3D
> >(gdb)
> >331                             continue;
> >(gdb)
> >385             } while (!length);
> >
> >and then it goes back to line 285. interesting variables are:
> >
> >(gdb) p *interface
> >$1 =3D {next =3D 0x0, hw_address =3D {htype =3D 1 '\001', hlen =3D 6 '\0=
06',
> >    haddr =3D "\000\021??\223?\000\000\000\000\000\000\000\000\000"},
> >primary_address =3D {s_addr =3D 0},
> >  name =3D "vr0", '\0' <repeats 12 times>, rfdesc =3D 7, wfdesc =3D 7,
> >rbuf =3D 0x807d000 "\022?\\Dk\214", rbuf_max =3D 4096,
> >  rbuf_offset =3D 416, rbuf_len =3D 415, ifp =3D 0x806f160, client =3D
> >0x8075000, noifmedia =3D 0, errors =3D 0, dead =3D 0, index =3D 2}
> >(gdb) p length
> >$2 =3D 0
> >(gdb) p hdr
> >$3 =3D {bh_tstamp =3D {tv_sec =3D 0, tv_usec =3D 0}, bh_caplen =3D 42949=
01760,
> >bh_datalen =3D 4294901778, bh_hdrlen =3D 65535}
> >
> >this is FreeBSD/i386 6.1-RC as of about two weeks ago.
> >
> >Lodewijk
> >
> >_______________________________________________
> >freebsd-stable@freebsd.org mailing list
> >http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> >To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"
> >

> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"


--FCuugMFkClbJLl1L
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (FreeBSD)

iD8DBQFFTkvKXY6L6fI4GtQRApn2AKCs39MJrr/IBM/372K99Nar++yWwQCfSPeW
VJxDWH+XOKNDoMDekywnlg4=
=o9NB
-----END PGP SIGNATURE-----

--FCuugMFkClbJLl1L--



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