-
Bug
-
Resolution: Fixed
-
Critical
-
Linux
Jenkins can not restart after plugin update if jenkins' java is started with 'java' and without full path.
It doesn't rexec itself with the following logs:
Warnung: Failed to restart Jenkins
java.io.IOException: Failed to exec 'java' Datei oder Verzeichnis nicht gefunden
at hudson.lifecycle.UnixLifecycle.restart(UnixLifecycle.java:84)
at jenkins.model.Jenkins$24.run(Jenkins.java:3337)
It seems to be caused by this recent change:
https://github.com/jenkinsci/jenkins/commit/547d4ed8d35de6be4b2788e4816019bb8cc94902#diff-1df54b5ad5f99455e21579688db5be50
From a quick look I guess this could be fixed by using execvp instead of execv as below:
- LIBC.execv(exe, new StringArray(args.toArray(new String[args.size()])));
+ LIBC.execvp(exe, new StringArray(args.toArray(new String[args.size()])));
I understand that for those calling java as /usr/bin/java the execv approach should work, but without the full path it should still work IMHO.
Thanks,
Simon