Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 1.3.4 (Beta)
-
Fix Version/s: None
-
Component/s: Distributed Builds
-
Labels:
-
Environment:Solaris 9
-
Complexity:Intermediate
-
Number of attachments :
Description
Arguments 'stop', 'restart', and 'status' erroneously remove the PID file if the installation path is too long. They print a message such as:
Removed stale pid file: /opt/continuum/apache-continuum-buildagent-1.3.4-B/bin/../logs/continuum-buildagent.pid
'stop' and 'restart' therefore do not stop the running process, which can result in multiple buildagent processes running.
The script tries to find the process ID by running 'ps' on the number in the PID file, and grepping that for the original startup command line. For example:
+ /usr/bin/ps -p 17058 -o args
+ grep /opt/continuum/apache-continuum-buildagent-1.3.4-B/bin/./wrapper-solaris-sparc-32
Unfortunately 'grep' fails because, the 'ps' output is truncated, e.g.:
/opt/continuum/apache-continuum-buildagent-1.3.4-B/bin/./wrapper-solaris-sparc-
Recommendation: Grep for a shorter pattern.
Workaround: Install the build agent in a shorter path, or create a short symbolic link to it.
Correction: Creating a symbolic link to the installation directory doesn't help, because the script expands it to the full physical path.