From owner-freebsd-stable Fri May 17 4:57:47 2002 Delivered-To: freebsd-stable@freebsd.org Received: from Awfulhak.org (gw.Awfulhak.org [217.204.245.18]) by hub.freebsd.org (Postfix) with ESMTP id 2E25137B401; Fri, 17 May 2002 04:57:38 -0700 (PDT) Received: from hak.lan.Awfulhak.org (root@hak.lan.Awfulhak.org [IPv6:fec0::1:12]) by Awfulhak.org (8.12.3/8.12.3) with ESMTP id g4HBvZva009520; Fri, 17 May 2002 12:57:35 +0100 (BST) (envelope-from brian@Awfulhak.org) Received: from hak.lan.Awfulhak.org (brian@localhost [127.0.0.1]) by hak.lan.Awfulhak.org (8.12.3/8.12.3) with ESMTP id g4HBvUWs091777; Fri, 17 May 2002 12:57:30 +0100 (BST) (envelope-from brian@hak.lan.Awfulhak.org) Message-Id: <200205171157.g4HBvUWs091777@hak.lan.Awfulhak.org> X-Mailer: exmh version 2.5 07/13/2001 with nmh-1.0.4 To: Gavin Atkinson Cc: stable@FreeBSD.org, qa@FreeBSD.org, murray@FreeBSD.org, brian@Awfulhak.org, obrien@FreeBSD.org Subject: Re: BUG: isc-dhcp dhclient infinite loop regression in 4.6-PRE In-Reply-To: Message from Gavin Atkinson of "Fri, 17 May 2002 12:04:47 BST." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 17 May 2002 12:57:30 +0100 From: Brian Somers Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Hi, As Murray's pretty much busy with real life at the moment, can I ask you to try this patch ? It's not the best way of dealing with this - especially if dhclient is running on more than one interface, but there's no infrastructure there for handling interfaces disappearing, and my understanding of the code is practically zero. Of course this will pull that file off the vendor branch too. If you can test this and it works ok, I'll defer committing it 'till Murray comments. I've cc'd David O'Brien too, as he used to maintain this code and may therefore have some comments. Cheers. > Hi, > > I have found a serious problem in dhclient. If the network interface > dhclient is attached to disappears (eg if a network card is removed from a > laptop, which may happen normally or will always happen over an APM > suspend) then dhclient goes into an infinite loop: > > May 15 04:36:36 epsilon /kernel: ep0: detached > May 15 04:36:36 epsilon /kernel: pccard: card removed, slot 0 > May 15 04:36:36 epsilon dhclient: receive_packet failed on ep0: Device not configured > May 15 04:36:41 epsilon last message repeated 23275 times > May 15 04:36:42 epsilon dhclient: send_packet: Address family not supported by protocol family > May 15 04:36:42 epsilon dhclient: receive_packet failed on ep0: Device not configured > May 15 04:36:49 epsilon last message repeated 35814 times > May 15 04:36:50 epsilon dhclient: send_packet: Address family not supported by protocol family > May 15 04:36:50 epsilon dhclient: receive_packet failed on ep0: Device not configured > May 15 04:36:52 epsilon last message repeated 12308 times > > Between dhclient and syslogd, 100% processor power is used. The only > solution is to kill dhclient off, reinserting the card is not enough. I am > able to test any patches against either -STABLE or -CURRENT, the bug > exists on both. Should I report this to ISC? Environment is: > FreeBSD 4.6-PRERELEASE #0: Sun May 12 21:05:08 GMT 2002 > > Gavin > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-qa" in the body of the message -- Brian Don't _EVER_ lose your sense of humour ! Index: discover.c =================================================================== RCS file: /home/ncvs/src/contrib/isc-dhcp/common/discover.c,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 discover.c --- discover.c 19 Feb 2002 11:04:33 -0000 1.1.1.1 +++ discover.c 17 May 2002 11:51:50 -0000 @@ -755,8 +755,7 @@ again: 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; + log_fatal ("receive_packet failed on %s: %m", ip -> name); } if (result == 0) return ISC_R_UNEXPECTED; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message