portmap/statd can not be restarted
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
portmap (Ubuntu) |
Won't Fix
|
Undecided
|
Adam Stokes | ||
Lucid |
Won't Fix
|
High
|
Adam Stokes | ||
Maverick |
Invalid
|
Undecided
|
Adam Stokes | ||
Natty |
Invalid
|
Undecided
|
Adam Stokes | ||
Oneiric |
Invalid
|
Undecided
|
Adam Stokes |
Bug Description
Binary package hint: portmap
[Impact]
Anyone attempting to upgrade portmap on Lucid with a currently running portmap process in an established state.
[Test Case]
When restarting portmap / statd the old portmap process does not properly free its socket causing the new portmap process to fail and upstart to stay stuck in pre-start trying to stop statd.
beo-15:~# stop portmap
Dec 10 14:20:07 beo-15 init: Connection from private client
Dec 10 14:20:07 beo-15 init: portmap goal changed from start to stop
Dec 10 14:20:07 beo-15 init: portmap state changed from running to pre-stop
Dec 10 14:20:07 beo-15 init: portmap pre-stop process (1996)
Dec 10 14:20:07 beo-15 init: portmap pre-stop process (1996) exited normally
Dec 10 14:20:07 beo-15 init: portmap state changed from pre-stop to stopping
Dec 10 14:20:07 beo-15 init: Handling stopping event
Dec 10 14:20:07 beo-15 init: statd goal changed from start to stop
Dec 10 14:20:07 beo-15 init: statd state changed from running to pre-stop
Dec 10 14:20:07 beo-15 init: statd state changed from pre-stop to stopping
Dec 10 14:20:07 beo-15 init: Handling stopping event
Dec 10 14:20:07 beo-15 init: statd state changed from stopping to killed
Dec 10 14:20:07 beo-15 init: Sending TERM signal to statd main process (1053)
Dec 10 14:20:07 beo-15 rpc.statd[1053]: Caught signal 15, un-registering and exiting.
Dec 10 14:20:07 beo-15 init: statd main process (1053) exited normally
Dec 10 14:20:07 beo-15 init: statd state changed from killed to post-stop
Dec 10 14:20:07 beo-15 init: statd state changed from post-stop to waiting
Dec 10 14:20:07 beo-15 init: portmap state changed from stopping to killed
Dec 10 14:20:07 beo-15 init: Sending TERM signal to portmap main process (1033)
Dec 10 14:20:07 beo-15 init: Handling stopped event
Dec 10 14:20:07 beo-15 init: portmap main process (1033) killed by TERM signal
Dec 10 14:20:07 beo-15 init: portmap state changed from killed to post-stop
Dec 10 14:20:07 beo-15 init: portmap post-stop process (1998)
Dec 10 14:20:07 beo-15 init: portmap post-stop process (1998) exited normally
Dec 10 14:20:07 beo-15 init: portmap state changed from post-stop to waiting
Dec 10 14:20:07 beo-15 init: Handling stopped event
beo-15:~# start statd
Dec 10 14:20:11 beo-15 init: Connection from private client
Dec 10 14:20:11 beo-15 init: statd goal changed from stop to start
Dec 10 14:20:11 beo-15 init: statd state changed from waiting to starting
Dec 10 14:20:11 beo-15 init: Handling starting event
Dec 10 14:20:11 beo-15 init: statd state changed from starting to pre-start
Dec 10 14:20:11 beo-15 init: statd pre-start process (2001)
Dec 10 14:20:11 beo-15 init: Connection from private client
Dec 10 14:20:11 beo-15 init: portmap goal changed from stop to start
Dec 10 14:20:11 beo-15 init: portmap state changed from waiting to starting
Dec 10 14:20:11 beo-15 init: Handling starting event
Dec 10 14:20:11 beo-15 init: portmap state changed from starting to pre-start
Dec 10 14:20:11 beo-15 init: portmap state changed from pre-start to spawned
Dec 10 14:20:11 beo-15 init: portmap main process (2003)
Dec 10 14:20:11 beo-15 init: portmap main process (2003) executable changed
Dec 10 14:20:11 beo-15 init: portmap main process (2003) became new process (2004)
Dec 10 14:20:11 beo-15 init: portmap state changed from spawned to post-start
Dec 10 14:20:11 beo-15 portmap: Removing stale lockfile for pid 1033
Dec 10 14:20:11 beo-15 portmap[2004]: cannot bind tcp: Address already in use
Dec 10 14:20:11 beo-15 init: portmap post-start process (2005)
Dec 10 14:20:11 beo-15 init: portmap main process (2004) terminated with status 1
Dec 10 14:20:11 beo-15 init: portmap main process ended, respawning
Dec 10 14:20:11 beo-15 init: portmap goal changed from start to respawn
Dec 10 14:20:11 beo-15 init: portmap post-start process (2005) exited normally
Dec 10 14:20:11 beo-15 init: portmap goal changed from respawn to start
Dec 10 14:20:11 beo-15 init: portmap state changed from post-start to stopping
Dec 10 14:20:11 beo-15 init: Handling stopping event
Dec 10 14:20:11 beo-15 init: statd goal changed from start to stop
Dec 10 14:20:25 beo-15 init: Connection from private client
beo-15:~# status portmap
portmap start/stopping
beo-15:~# status statd
statd stop/pre-start, process 2001
ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: portmap 6.0.0-1ubuntu2
ProcVersionSign
Uname: Linux 2.6.32-26-server x86_64
Architecture: amd64
Date: Fri Dec 10 14:23:40 2010
ProcEnviron:
LC_CTYPE=de_DE
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: portmap
[Regression Potential]
This is more or less a specific use case where upgrading portmap will halt upstart during a service restart. Regression minimal as no other functionality was altered other than the re-use of SO_REUSEADDR.
Related branches
Changed in portmap (Ubuntu): | |
assignee: | nobody → Chris J Arges (christopherarges) |
status: | Confirmed → Triaged |
Changed in portmap (Ubuntu): | |
status: | Triaged → Won't Fix |
Changed in portmap (Ubuntu Lucid): | |
status: | New → Triaged |
Changed in portmap (Ubuntu Maverick): | |
status: | New → Triaged |
Changed in portmap (Ubuntu Natty): | |
status: | New → Triaged |
Changed in portmap (Ubuntu Oneiric): | |
status: | New → Triaged |
Changed in portmap (Ubuntu): | |
assignee: | Chris J Arges (christopherarges) → Adam Stokes (adam-stokes) |
Changed in portmap (Ubuntu Lucid): | |
assignee: | nobody → Adam Stokes (adam-stokes) |
Changed in portmap (Ubuntu Maverick): | |
assignee: | nobody → Adam Stokes (adam-stokes) |
Changed in portmap (Ubuntu Oneiric): | |
assignee: | nobody → Adam Stokes (adam-stokes) |
Changed in portmap (Ubuntu Natty): | |
assignee: | nobody → Adam Stokes (adam-stokes) |
Changed in portmap (Ubuntu Lucid): | |
milestone: | none → lucid-updates |
importance: | Undecided → Medium |
status: | Triaged → In Progress |
Changed in portmap (Ubuntu Lucid): | |
importance: | Medium → High |
tags: |
added: verification-failed removed: verification-needed |
This problem does not allways occur. Sometimes portmap starts up just fine right after being stoped.