Repository navigation
[JENKINS-23349] Item names containing an emoji are not accessible #23170
Copy link
Copy link
Closed
Description
Version: 1.564
How to reproduce:
- Create a view, and start it with an emoji in the name
- Enjoy the 404 page
I'm fairly sure this will impact other locations as well, but I haven't verified.
Possible solutions:
- Do not allow characters in names that will create this behaviour
- Make sure that url generated can be used to find the view
System Properties
Name ↓
Value
awt.toolkit sun.awt.X11.XToolkit
executable-war /usr/share/jenkins/jenkins.war
file.encoding UTF-8
file.encoding.pkg sun.io
file.separator /
hudson.diyChunking true
java.awt.graphicsenv sun.awt.X11GraphicsEnvironment
java.awt.headless true
java.awt.printerjob sun.print.PSPrinterJob
java.class.path /usr/share/jenkins/jenkins.war
java.class.version 51.0
java.endorsed.dirs /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed
java.ext.dirs /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext
java.home /usr/lib/jvm/java-7-openjdk-amd64/jre
java.io.tmpdir /tmp
java.library.path /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib
java.runtime.name OpenJDK Runtime Environment
java.runtime.version 1.7.0_55-b14
java.specification.name Java Platform API Specification
java.specification.vendor Oracle Corporation
java.specification.version 1.7
java.vendor Oracle Corporation
java.vendor.url http://java.oracle.com/
java.vendor.url.bug http://bugreport.sun.com/bugreport/
java.version 1.7.0_55
java.vm.info mixed mode
java.vm.name OpenJDK 64-Bit Server VM
java.vm.specification.name Java Virtual Machine Specification
java.vm.specification.vendor Oracle Corporation
java.vm.specification.version 1.7
java.vm.vendor Oracle Corporation
java.vm.version 24.51-b03
jna.platform.library.path /usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/lib64:/usr/lib:/lib
line.separator
mail.smtp.sendpartial true
mail.smtps.sendpartial true
os.arch amd64
os.name Linux
os.version 3.11.0-12-generic
path.separator :
sun.arch.data.model 64
sun.boot.class.path /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes
sun.boot.library.path /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
sun.cpu.endian little
sun.cpu.isalist
sun.font.fontmanager sun.awt.X11FontManager
sun.io.unicode.encoding UnicodeLittle
sun.java.command /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1
sun.java.launcher SUN_STANDARD
sun.jnu.encoding UTF-8
sun.management.compiler HotSpot 64-Bit Tiered Compilers
sun.os.patch.level unknown
user.country US
user.dir /
user.home /var/lib/jenkins
user.language en
user.name jenkins
user.timezone Etc/UTC
Environment Variables
Name ↓
Value
_ /usr/bin/daemon
HOME /var/lib/jenkins
JENKINS_HOME /var/lib/jenkins
LANG en_US.UTF-8
LOGNAME jenkins
MAIL /var/mail/jenkins
PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PWD /var/lib/jenkins
SHELL /bin/bash
SHLVL 1
TERM xterm-256color
USER jenkins
XDG_RUNTIME_DIR /run/user/0
XDG_SESSION_ID 5
Plugins
Name ↓
Version
Enabled
Pinned
ant 1.2 false false
antisamy-markup-formatter 1.1 true false
build-monitor-plugin 1.3+build.72 true false
build-timeout 1.13 true false
bulk-builder 1.5 true false
configurationslicing 1.38.3 true false
copy-to-slave 1.4.3 true false
credentials 1.11 true true
custom-view-tabs 1.0 true false
cvs 2.11 false false
external-monitor-job 1.2 true false
git 2.2.1 true false
git-client 1.9.1 true false
git-parameter 0.3.2 true false
greenballs 1.14 true false
hipchat 0.1.4 true false
javadoc 1.1 false false
jenkins-tag-cloud-plugin 1.6 true false
ldap 1.9 false true
mailer 1.8 true true
mapdb-api 1.0.1.0 true false
matrix-auth 1.2 true true
matrix-project 1.2 true false
maven-plugin 2.3 false false
nested-view 1.14 true false
pam-auth 1.1 false false
scm-api 0.2 true false
simple-theme-plugin 0.3 true false
ssh 2.4 true false
ssh-agent 1.4.1 true false
ssh-credentials 1.6.1 true true
ssh-slaves 1.6 true true
subversion 2.4 false true
translation 1.11 true true
windows-slaves 1.0 true false
Originally reported by
bertg_tf, imported from: Item names containing an emoji are not accessible
- status: Resolved
- priority: Minor
- component(s): core
- label(s): url-encoding, views
- resolution: Fixed
- resolved: 2019-08-20T16:25:20+00:00
- votes: 1
- watchers: 9
- imported: 2025-11-24
Raw content of original issue
Version: 1.564
How to reproduce:
- Create a view, and start it with an emoji in the name
- Enjoy the 404 page
I'm fairly sure this will impact other locations as well, but I haven't verified.
Possible solutions:
- Do not allow characters in names that will create this behaviour
- Make sure that url generated can be used to find the view
System Properties Name ↓ Value awt.toolkit sun.awt.X11.XToolkit executable-war /usr/share/jenkins/jenkins.war file.encoding UTF-8 file.encoding.pkg sun.io file.separator / hudson.diyChunking true java.awt.graphicsenv sun.awt.X11GraphicsEnvironment java.awt.headless true java.awt.printerjob sun.print.PSPrinterJob java.class.path /usr/share/jenkins/jenkins.war java.class.version 51.0 java.endorsed.dirs /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/endorsed java.ext.dirs /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext:/usr/java/packages/lib/ext java.home /usr/lib/jvm/java-7-openjdk-amd64/jre java.io.tmpdir /tmp java.library.path /usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib java.runtime.name OpenJDK Runtime Environment java.runtime.version 1.7.0_55-b14 java.specification.name Java Platform API Specification java.specification.vendor Oracle Corporation java.specification.version 1.7 java.vendor Oracle Corporation java.vendor.url http://java.oracle.com/ java.vendor.url.bug http://bugreport.sun.com/bugreport/ java.version 1.7.0_55 java.vm.info mixed mode java.vm.name OpenJDK 64-Bit Server VM java.vm.specification.name Java Virtual Machine Specification java.vm.specification.vendor Oracle Corporation java.vm.specification.version 1.7 java.vm.vendor Oracle Corporation java.vm.version 24.51-b03 jna.platform.library.path /usr/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/lib64:/usr/lib:/lib line.separator mail.smtp.sendpartial true mail.smtps.sendpartial true os.arch amd64 os.name Linux os.version 3.11.0-12-generic path.separator : sun.arch.data.model 64 sun.boot.class.path /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/resources.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/sunrsasign.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jsse.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/charsets.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/netx.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/plugin.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rhino.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jfr.jar:/usr/lib/jvm/java-7-openjdk-amd64/jre/classes sun.boot.library.path /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64 sun.cpu.endian little sun.cpu.isalist sun.font.fontmanager sun.awt.X11FontManager sun.io.unicode.encoding UnicodeLittle sun.java.command /usr/share/jenkins/jenkins.war --webroot=/var/cache/jenkins/war --httpPort=8080 --ajp13Port=-1 sun.java.launcher SUN_STANDARD sun.jnu.encoding UTF-8 sun.management.compiler HotSpot 64-Bit Tiered Compilers sun.os.patch.level unknown user.country US user.dir / user.home /var/lib/jenkins user.language en user.name jenkins user.timezone Etc/UTC Environment Variables Name ↓ Value _ /usr/bin/daemon HOME /var/lib/jenkins JENKINS_HOME /var/lib/jenkins LANG en_US.UTF-8 LOGNAME jenkins MAIL /var/mail/jenkins PATH /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games PWD /var/lib/jenkins SHELL /bin/bash SHLVL 1 TERM xterm-256color USER jenkins XDG_RUNTIME_DIR /run/user/0 XDG_SESSION_ID 5 Plugins Name ↓ Version Enabled Pinned ant 1.2 false false antisamy-markup-formatter 1.1 true false build-monitor-plugin 1.3+build.72 true false build-timeout 1.13 true false bulk-builder 1.5 true false configurationslicing 1.38.3 true false copy-to-slave 1.4.3 true false credentials 1.11 true true custom-view-tabs 1.0 true false cvs 2.11 false false external-monitor-job 1.2 true false git 2.2.1 true false git-client 1.9.1 true false git-parameter 0.3.2 true false greenballs 1.14 true false hipchat 0.1.4 true false javadoc 1.1 false false jenkins-tag-cloud-plugin 1.6 true false ldap 1.9 false true mailer 1.8 true true mapdb-api 1.0.1.0 true false matrix-auth 1.2 true true matrix-project 1.2 true false maven-plugin 2.3 false false nested-view 1.14 true false pam-auth 1.1 false false scm-api 0.2 true false simple-theme-plugin 0.3 true false ssh 2.4 true false ssh-agent 1.4.1 true false ssh-credentials 1.6.1 true true ssh-slaves 1.6 true true subversion 2.4 false true translation 1.11 true true windows-slaves 1.0 true false
Reactions are currently unavailable
Activity
jenkins-infra-bot commentedon Jun 6, 2014
Raw content of original comment:
This isn't an infrastructure ticket but rather something that should be triaged as part of the JENKINS JIRA project
jenkins-infra-bot commentedon Mar 15, 2017
Raw content of original comment:
I can reproduce in Jenkins 2.32.3 with all sorts of items: view, freestyle job, folder. I created items called "X robofolder" etc., where "X" is a robot face (U+1F916). JIRA throws a 500 error and doesn't accept this comment if I use the actual emoji character…
The items do get created, and displayed on the home page, but the emoji character is stripped from the URL, so clicking through results in a 404.
It seems to happen as soon as you go >= U+10000 (which has a 4-byte rather than 3-byte UTF-8 representation). That character does not work in an item name, but U+FE6B does.
The character can be anywhere in the name — it doesn't have to be at the start, it will be stripped out regardless.
jenkins-infra-bot commentedon Aug 13, 2019
Raw content of original comment:
I'm unable to reproduce this on 2.176.2. I created a job with the snowman emoji in the name and it worked fine. I was able to edit the configuration and everything.
jenkins-infra-bot commentedon Aug 13, 2019
Raw content of original comment:
Updates to Unicode support in Java likely fixed this bug since Jenkins has required Java 8 for a while now. The initial ticket is using Java 7.
jenkins-infra-bot commentedon Aug 13, 2019
Raw content of original comment:
It actually looks like there are still issues here. Snowman works (https://emojipedia.org/snowman/), but "ugaritic letter thanna" does not (https://www.compart.com/en/unicode/U+10398)
jenkins-infra-bot commentedon Aug 14, 2019
Raw content of original comment:
I was about to say that it was a newer emoji, but it appears as though it's not new at all. Strange.
I know that we use XML 1.1 instead of 1.0 in order to allow for better Unicode support, though that's likely irrelevant here unless you're trying to use an emoji in an XML tag name.
jenkins-infra-bot commentedon Aug 14, 2019
Raw content of original comment:
See #4152
jenkins-infra-bot commentedon Oct 15, 2019
Raw content of original comment:
I've upgraded jenkins to latest LTS today and noticed problem with "ç" (cedilla) char U+00E7.
jenkins-infra-bot commentedon Oct 15, 2019
Raw content of original comment:
Is it removing the character from URL's as was originally posted in this issue?
jenkins-infra-bot commentedon Oct 16, 2019
Raw content of original comment:
I've created and linked a ticket detailing the problem