An exception is logged when commenting in Jira that is integrated with Confluence.

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

When an emoticon or other 4 byte character has been typed/copied into a text field or a comment, Jira displays the emoticon properly, but prints a message like to following to the atlassian-jira.log

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 com.atlassian.sal.api.net.ResponseException: 500 - at com.atlassian.mywork.client.reliability.DefaultUnreliableWorker$2.handle(DefaultUnreliableWorker.java:121) at com.atlassian.mywork.client.reliability.DefaultUnreliableWorker$2.handle(DefaultUnreliableWorker.java:109) at com.atlassian.applinks.oauth.auth.OAuthApplinksResponseHandler$1.handle(OAuthApplinksResponseHandler.java:122) at com.atlassian.applinks.oauth.auth.OAuthApplinksResponseHandler.handle(OAuthApplinksResponseHandler.java:78) at com.atlassian.plugins.rest.module.jersey.JerseyRequest$2.handle(JerseyRequest.java:134) at com.atlassian.sal.core.net.HttpClientRequest.executeAndReturn(HttpClientRequest.java:102) at com.atlassian.plugins.rest.module.jersey.JerseyRequest.executeAndReturn(JerseyRequest.java:131) at com.atlassian.applinks.core.auth.ApplicationLinkRequestAdaptor.execute(ApplicationLinkRequestAdaptor.java:61) at com.atlassian.applinks.oauth.auth.OAuthRequest.execute(OAuthRequest.java:58) at com.atlassian.mywork.client.reliability.DefaultUnreliableWorker.send(DefaultUnreliableWorker.java:109) at com.atlassian.mywork.client.reliability.DefaultUnreliableWorker.access$200(DefaultUnreliableWorker.java:27) at com.atlassian.mywork.client.reliability.DefaultUnreliableWorker$1$1.run(DefaultUnreliableWorker.java:72) at com.atlassian.sal.core.executor.ThreadLocalDelegateRunnable.run(ThreadLocalDelegateRunnable.java:34) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

On the Confluence side the following error is logged in the atlassian-confluence.log:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 java.lang.reflect.UndeclaredThrowableException at com.sun.proxy.$Proxy3406.save(Unknown Source) at com.atlassian.mywork.host.dao.ao.AONotificationDao.create(AONotificationDao.java:63) ... at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x89</...' for column 'DESCRIPTION' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3933) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3869) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2524) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2675) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2465) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1915) at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2136) at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2070) at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5187) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2055) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:462) at net.java.ao.ForwardingPreparedStatement.executeUpdate(ForwardingPreparedStatement.java:45) at net.java.ao.ParameterMetadataCachingPreparedStatement.executeUpdate(ParameterMetadataCachingPreparedStatement.java:10) at net.java.ao.EntityProxy.save(EntityProxy.java:579) at net.java.ao.EntityProxy.invoke(EntityProxy.java:115) ... 399 more

Environment

Jira 8.20.1

Confluence 7.4

Diagnosis

Upon closer inspection Jira is running with a supported collation utf8mb4 needed to display 4 byte characters, however Confluence is running with an UTF8 collation that does not support 4 byte characters.

Solution

Update the collation in the Confluence database to utf8mb4 with the help of the following document.

How to fix the collation and character set of a mysql database manually

Updated on April 14, 2025

Still need help?

The Atlassian Community is here for you.