6.0-Beta2: dhclient instability

Brooks Davis brooks at one-eyed-alien.net
Fri Aug 12 16:23:19 GMT 2005


On Thu, Aug 11, 2005 at 09:07:56AM -0700, Frank Jahnke wrote:
> I have a problem with dhclient becoming unstable.  
> 
> I'm running 6.0-beta2 and Gnome 2.10 on a dual Althon machine.  On boot,
> everything is fine.  After visiting a few web pages with Epiphany,
> dhclient goes from a minor process to one that consumes an entire CPU.
> The machine is still reasonably responsive, but needless to say, its
> capacity goes way down.
> 
> It does not seem to be related to the web site visited, or the scheduler
> used (ULE or 4BSD).  Downloading mail repeatedly also does not trigger
> the problem.
> 
> Any ideas?

I've been totally unsuccessful in repoducing this problem here so I need
some help to find the problem.  I really want to get this fixed, but I'm
working blind.  Please rebuild dhclient with debugging options and see
if you can get it to fail:

cd /usr/src/sbin/dhclient
make clean
make CFLAGS=-g STRIP=
make CFLAGS=-g STRIP= install

Once it'd failed, attached to it with the debugger:

gdb /sbin/dhclient <pid of CPU hoging dhclient>

Then obtain a stack trace with the "bt" command.  Continue execution
with "c" and then press Ctrl-C to stop execution and repeat.  You should
be able to find the function you are stuck in fairly.  It won't
necessicary be the one at the top to the stack trace, but it will
likely be near the top.  If you can find that, I'll have somewhere to
look further.

One other thing to try would be to install the following patch and see
if it fixes dhclient.  It's something OpenBSD is doing, but if it fixes
things, it's IMO a bug in bpf.

==== //depot/user/brooks/cleanup/sbin/dhclient/bpf.c#7 - /usr/home/brooks/working/freebsd/p4/cleanup/sbin/dhclient/bpf.c ====
@@ -288,7 +288,7 @@
 			if (length <= 0)
 				return (length);
 			interface->rbuf_offset = 0;
-			interface->rbuf_len = length;
+			interface->rbuf_len = BPF_WORDALIGN(length);
 		}
 
 		/*

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.
PGP fingerprint 655D 519C 26A7 82E7 2529  9BF0 5D8E 8BE9 F238 1AD4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-current/attachments/20050812/e9ca7326/attachment.bin


More information about the freebsd-current mailing list