Hello *,
I’m not sure, if I’m at the right place here. If not, please kindly point me to the correct location.
At a customer, I encountered a strange problem using Jenkins on a SLES: Our builds failed because of some encoding issues. We digged deeper into it and found out that /etc/init.d/jenkins uses startproc with the option “-e” to start the Jenkins. This causes the LANG environment variable to be lost - and Java falls back to ASCII instead of UTF-8 (LANG is set to “en_US.UTF-8”).
This is either a serious bug in /etc/init.d/jenkins, as this affects not only some unimportant language setting, but also the encoding used to communicate with the file system. For example a file named “Mein Häuschen.xml” (or one using even Thai or Chinese characters), could not be opened.
Or it is a serious bug in startproc, because it affects basically all Java-based programs - and I assume there are more start scripts launching a Java-service using startproc -e.
Solution:
-
Either omit the “-e” in the startproc invocation in /etc/init.d/jenkins.
-
Or add LANG to the environment variables that are not filtered out by startproc with the “-e” option.
Best regards, Marco