-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major
-
Component/s: blueocean-plugin, docker
-
Environment:Blueocean Docker Tag: 1.25.0
Jenkins: 2.303.1
OS: Linux - 5.10.47-linuxkit
Java Runtime: temurin-11.jdk
Blueocean Plugin: 1.25.0
Jenkins running on blueocean 1.25.0 docker image is not able to read files with non-ASCII characters in the file name. The problem didn't exist in 1.24.7 and only started happening after upgrading the docker image to 1.25.0.
Steps to reproduce:
1. Run container of blueocean docker image 1.24.7
2. Create a job with non-ASCII characters in job name, e.g. my_ę„ę¬čŖ_build
3. Upgrade docker image to 1.25.0 and run the container of new image
4. Notice the job disappears from both classic and blueocean UIs, though it still exists in $JENKINS_HOME/jobs directory
The reason is most likely because the UTF-8 encoding installation has some problem in 1.25.0 docker image causing the file.encoding andĀ sun.jnu.encodingĀ properties to be set asĀ ANSI_X3.4-1968 instead of UTF-8.
file.encoding property can be overridden using JAVA_OPTS butĀ sun.jnu.encoding is set at runtime based on the system settings and cannot be overridden.
This problem can be solved most likely by setting LANG environment variable to en_US.UTF-8 at the top of the dockerfile. This will allow the following steps involvingĀ glibc-i18n and localedef to correctly install UTF-8 encoding in the docker image.