Bug 431039
Summary: | radvd does not start if stale lockfile present | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Pim Zandbergen <p.zandbergen> | ||||
Component: | radvd | Assignee: | Martin Nagy <mnagy> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | low | ||||||
Version: | 8 | CC: | hripps | ||||
Target Milestone: | --- | Keywords: | Patch, Reopened | ||||
Target Release: | --- | Flags: | kevin:
fedora-cvs+
|
||||
Hardware: | i386 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2008-04-11 08:52:55 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Attachments: |
|
Description
Pim Zandbergen
2008-01-31 11:55:37 UTC
I don't think this is a bug. Otherwise, what's the point of the whole pid file? If you mess with it using kill and not properly stopping it using init script, you should as well remove the pid file yourself. Otherwise, if something bad happens and radvd will quit without removing the pid file, I think it is right not to ignore this, so the user knows something went wrong. Thus, closing as NOTABUG. If you still think this is a bug, feel free to reopen. My steps to reproduce should be seen as a simulation of what could happen in real life. I don't kill radvd; radvd could just die (it sometimes does, I will report this once I have more data) or the system could crash, panic, or there might be a power interruption. In all these cases, radvd will not start after a reboot. This might leave a whole network disconnected. These consequences vastly outweigh the importance that a user should be made aware that a simple, stateless service has exited ungracefully. The point of having a pid file is to create a means to disallow multiple instances of a service, and to have a way to send signals to the service. There are multiple ways to have a service check the validity of a pid file. One way is to open it, check the pid against getpid(), and send a signal to see the process represented by the pid is alive. Another way is to use flock() against the pid file. This will fail if there is another instance which also locks the file. Almost every service using pid files uses these techniques to discover stale pid files, so they can be reused or removed. radvd, only checks the existence of the pid file and thereby is lacking basic robustness which should be qualified as a bug. If you, after reading this plea, still do not consider this a bug, then so be it. Created attachment 300427 [details]
Patch to fix the issue
With this patch, radvd will remove stale pid file.
Package Change Request ====================== Package Name: radvd New Branches: F-9 Would like to have another branch so I can apply patch for this bug. Thanks. cvs done. Fixed in radvd-1.1-3.fc10 |