From nobody@FreeBSD.org  Wed Nov 11 00:29:25 2009
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 9EDB71065670
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 11 Nov 2009 00:29:25 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id 8E3C98FC0C
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 11 Nov 2009 00:29:25 +0000 (UTC)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.3/8.14.3) with ESMTP id nAB0TPs1018170
	for <freebsd-gnats-submit@FreeBSD.org>; Wed, 11 Nov 2009 00:29:25 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.3/8.14.3/Submit) id nAB0TP2t018169;
	Wed, 11 Nov 2009 00:29:25 GMT
	(envelope-from nobody)
Message-Id: <200911110029.nAB0TP2t018169@www.freebsd.org>
Date: Wed, 11 Nov 2009 00:29:25 GMT
From: Warren Block <wblock@wonkity.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: devd.pid locked by /etc/rc.d and dhclient (regression)
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         140462
>Category:       bin
>Synopsis:       devd(8): [regression] devd.pid locked by /etc/rc.d and dhclient
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Nov 11 00:30:03 UTC 2009
>Closed-Date:    
>Last-Modified:  Wed Feb  8 20:40:12 UTC 2012
>Originator:     Warren Block
>Release:        8.0-RC2
>Organization:
>Environment:
FreeBSD lightning 8.0-RC2 FreeBSD 8.0-RC2 #0: Fri Nov  6 21:23:46 MST 2009     root@lightning:/usr/obj/usr/src/sys/LIGHTNING  i386
>Description:
After a fresh boot or reboot of 8.0-RC2, /var/run/devd.pid is locked
preventing devd restart:

# /etc/rc.d/devd restart
Stopping devd.
Starting devd.
devd: devd already running, pid: 398
/etc/rc.d/devd: WARNING: failed to start devd

This is due to locks on /var/run/devd.pid remaining even after devd is
killed:

lightning% lsof /var/run/devd.pid
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF  NODE NAME
devd      400  root    6w  VREG  0,101        3 47124 /var/run/devd.pid
dhclient  865  root    6w  VREG  0,101        3 47124 /var/run/devd.pid
dhclient 1024 _dhcp    6w  VREG  0,101        3 47124 /var/run/devd.pid

This is a regression from 7-STABLE, where devd.pid is only locked by 
devd after startup.
>How-To-Repeat:
Boot 8.0-RC2 with dhclient run from /etc/rc.conf.  Try to restart devd.
devd will be killed but not restarted because the pidfile is still
present because of locks.

Mailing list thread start:

http://docs.freebsd.org/cgi/getmsg.cgi?fetch=862294+0+/usr/local/www/db/text/2009/freebsd-current/20091018.freebsd-current
>Fix:
Workaround: rather than restart devd in one step, kill devd and rm
/var/run/devd.pid.  Then start devd.

>Release-Note:
>Audit-Trail:

From: Warren Block <wblock@wonkity.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: bin/140462: devd(8): [regression] devd.pid locked by /etc/rc.d
 and dhclient
Date: Sun, 27 Dec 2009 16:15:35 -0700 (MST)

 Locks on devd.pid are not present if SYNCDHCP is used instead of DHCP in 
 /etc/rc.conf:
 
 ifconfig_re0="SYNCDHCP"
 
 # /etc/rc.d/devd restart
 Stopping devd.
 Starting devd.
 
 -Warren Block * Rapid City, South Dakota USA

From: Torfinn Ingolfsen <torfinn.ingolfsen@broadpark.no>
To: bug-followup@FreeBSD.org
Cc: wblock@wonkity.com
Subject: Re: bin/140462: devd(8): [regression] devd.pid locked by /etc/rc.d and
 dhclient
Date: Wed, 08 Feb 2012 19:00:23 +0100

 Hello,
 This problenm still exists in 8.2-stable. Here is an example:
 root@kg-v7# uname -a
 FreeBSD kg-v7.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #7: Sat Jul  9 23:00:31 CEST 2011     root@kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
 root@kg-v7# service devd status
 devd is not running.
 root@kg-v7# ll /var/run/devd.pid
 -rw-------  1 root  wheel  3 Jan 12 20:40 /var/run/devd.pid
 root@kg-v7# lsof /var/run/devd.pid
 COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
 dhclient 1075  root    5w  VREG   0,70        3 918547 /var/run/devd.pid
 dhclient 1091 _dhcp    5w  VREG   0,70        3 918547 /var/run/devd.pid
 
 -- 
 Regards,
 Torfinn Ingolfsen
 

From: Warren Block <wblock@wonkity.com>
To: Torfinn Ingolfsen <torfinn.ingolfsen@broadpark.no>
Cc: bug-followup@FreeBSD.org
Subject: Re: bin/140462: devd(8): [regression] devd.pid locked by /etc/rc.d
 and dhclient
Date: Wed, 8 Feb 2012 13:21:35 -0700 (MST)

 On Wed, 8 Feb 2012, Torfinn Ingolfsen wrote:
 
 > Hello,
 > This problenm still exists in 8.2-stable. Here is an example:
 > root@kg-v7# uname -a
 > FreeBSD kg-v7.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #7: Sat Jul  9 23:00:31 CEST 2011     root@kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
 > root@kg-v7# service devd status
 > devd is not running.
 > root@kg-v7# ll /var/run/devd.pid
 > -rw-------  1 root  wheel  3 Jan 12 20:40 /var/run/devd.pid
 > root@kg-v7# lsof /var/run/devd.pid
 > COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
 > dhclient 1075  root    5w  VREG   0,70        3 918547 /var/run/devd.pid
 > dhclient 1091 _dhcp    5w  VREG   0,70        3 918547 /var/run/devd.pid
 
 It seems to be fixed in 9-STABLE:
 
 COMMAND PID USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
 devd	900 root    5w  VREG  0,101        3 190860 /var/run/devd.pid
 
 Maybe it just needs an MFC to 8-stable.
>Unformatted:
