Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Aug 2002 19:18:08 +0200 (CEST)
From:      Aurelien Nephtali <aurelien.nephtali@wanadoo.fr>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   bin/42005: dhclient running + non-existent interface = CPU 100%
Message-ID:  <200208251718.g7PHI8S2003663@nebula.wanadoo.fr>

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

>Number:         42005
>Category:       bin
>Synopsis:       dhclient running + non-existent interface = CPU 100%
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 25 10:30:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Aurelien Nephtali <aurelien.nephtali@wanadoo.fr>
>Release:        FreeBSD 4.6-STABLE i386
>Organization:
none
>Environment:
System: FreeBSD nebula.wanadoo.fr 4.6-STABLE FreeBSD 4.6-STABLE #144: Sun Aug 25 10:38:56 CEST 2002 dak@nebula.wanadoo.fr:/usr/src/sys/compile/NEBULA i386

>Description:
	When a net interface disappears and if a 'dhclient' is attached to this interface,
	the CPU rise to 100% and the log message 'receive_packet on X: Device not configured'
	goes to /var/log/messages.
	This is a know problem (someone already complains on -stable i think) but apparently
	it wasn't fixed (yet). This problem is only on laptops with PCMCIA NIC.
	
>How-To-Repeat:
	dhclient <interface> and remove the NIC.
>Fix:
	Apply this patch from /usr/src. I choose to exit the soft since
	it's not usefull to have it running if no interface is present and
	moreover a new dhclient X is needed if the NIC is re-plugged.
	

--- discover.c.patch begins here ---
--- contrib/isc-dhcp/common/discover.c	Thu Apr 11 12:16:46 2002
+++ contrib/isc-dhcp/common/discover.c	Sat Aug 24 22:40:13 2002
@@ -756,7 +756,8 @@
 	if ((result =
 	     receive_packet (ip, u.packbuf, sizeof u, &from, &hfrom)) < 0) {
 		log_error ("receive_packet failed on %s: %m", ip -> name);
-		return ISC_R_UNEXPECTED;
+		exit(ISC_R_UNEXPECTED);
+		/*return ISC_R_UNEXPECTED;*/
 	}
 	if (result == 0)
 		return ISC_R_UNEXPECTED;
--- discover.c.patch ends here ---


>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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