bin/183429: pw(8) returns "pw: user 'foo' disappeared during update" after freebsd-update upgrade

Jay Borkenhagen jayb at polaris.cbbtier3.att.net
Tue Oct 29 04:00:01 UTC 2013


>Number:         183429
>Category:       bin
>Synopsis:       pw(8) returns "pw: user 'foo' disappeared during update" after freebsd-update upgrade
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Oct 29 04:00:00 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator:     Jay Borkenhagen
>Release:        FreeBSD 9.2-RELEASE i386
>Organization:
myself
>Environment:
System: FreeBSD polaris.cbbtier3.att.net 9.2-RELEASE FreeBSD 9.2-RELEASE #0 r255898: Fri Sep 27 03:52:52 UTC 2013 root at bake.isc.freebsd.org:/usr/obj/usr/src/sys/GENERIC i386


>Description:
	
	Following a freebsd-update upgrade from 9.1-RELEASE to 9.2-RELEASE,
	the next attempt to run "pw useradd foo" is met with this error:

	pw: user 'foo' disappeared during update

	I do not see this on machines on which I installed 9.2-RELEASE 
	directly from media.

	At this point the state of user 'foo' is inconsistent:

	[jayb at hungo ~]$ sudo pw useradd foo
	pw: user 'foo' already exists
	[jayb at hungo ~]$ sudo pw usershow foo
	pw: no such user `foo'
	[jayb at hungo ~]$ sudo pw userdel foo
	pw: no such user `foo'
	[jayb at hungo ~]$ 

	

>How-To-Repeat:

	Start with a 9.1-RELEASE system, upgrade it to 9.2-RELEASE
	using "sudo freebsd-update -r 9.2-RELEASE upgrade" and
	following the instructions.  It appears that at this point,
	the next attempt to use pw to add a user will fail, even if
	that attempt is being done by adding a new port that
	creates a user, e.g. postfix.  I categorized this as 
	"serious" since it is a latent problem that breaks
	installation of otherwise valid ports.


>Fix:

	I do not know how to fix, i.e. to stop causing the problem.

	Once the situation has developed, the condition can be
	resolved by running vipw(8) to delete the user foo.  At 
	this point the next attempt to run "pw useradd foo"
	succeeds.


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


More information about the freebsd-bugs mailing list