A colleague just got an “Internal Server Error” when trying to save a page, the cause if which turns out to be an Emoji she inserted into the text:
Did I somehow misconfigure my MariaDB concerning Unicode or similar?
System information and stack trace from the logs:
# dpkg -l | egrep '^ii.*(mariadb|xwiki)'
ii libmariadb3:amd64 1:10.3.27-0+deb10u1 amd64 MariaDB database client library
ii mariadb-client-10.3 1:10.3.27-0+deb10u1 amd64 MariaDB database client binaries
ii mariadb-client-core-10.3 1:10.3.27-0+deb10u1 amd64 MariaDB database core client binaries
ii mariadb-common 1:10.3.27-0+deb10u1 all MariaDB common metapackage
ii mariadb-server 1:10.3.27-0+deb10u1 all MariaDB database server (metapackage depending on the latest version)
ii mariadb-server-10.3 1:10.3.27-0+deb10u1 amd64 MariaDB database server binaries
ii mariadb-server-core-10.3 1:10.3.27-0+deb10u1 amd64 MariaDB database core server files
ii xwiki-common 12.10.4 all XWiki is a free wiki software platform written in Java with a design emphasis
ii xwiki-mysql-common 12.10.4 all XWiki is a free wiki software platform written in Java with a design emphasis
ii xwiki-tomcat9-common 12.10.4 all XWiki is a free wiki software platform written in Java with a design emphasis
ii xwiki-tomcat9-mysql 12.10.4 all XWiki is a free wiki software platform written in Java with a design emphasis
[2021-03-03 11:33:43] [info] com.xpn.xwiki.XWikiException: Error number 3201 in 3: Exception while saving document xwiki:xxxxxxxxxxx.WebHome
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore.java:694)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:258)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.store.XWikiCacheStore.saveXWikiDoc(XWikiCacheStore.java:218)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.XWiki.saveDocument(XWiki.java:2056)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.web.SaveAction.save(SaveAction.java:270)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.web.SaveAction.action(SaveAction.java:522)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:555)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:250)
[2021-03-03 11:33:43] [info] #011at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
[2021-03-03 11:33:43] [info] #011at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
[2021-03-03 11:33:43] [info] #011at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
[2021-03-03 11:33:43] [info] #011at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
[2021-03-03 11:33:43] [info] #011at javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
[2021-03-03 11:33:43] [info] #011at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[2021-03-03 11:33:43] [info] #011at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:106)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[2021-03-03 11:33:43] [info] #011at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[2021-03-03 11:33:43] [info] #011at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[2021-03-03 11:33:43] [info] #011at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[2021-03-03 11:33:43] [info] #011at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:688)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
[2021-03-03 11:33:43] [info] #011at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
[2021-03-03 11:33:43] [info] #011at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:415)
[2021-03-03 11:33:43] [info] #011at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
[2021-03-03 11:33:43] [info] #011at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868)
[2021-03-03 11:33:43] [info] #011at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1639)
[2021-03-03 11:33:43] [info] #011at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
[2021-03-03 11:33:43] [info] #011at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[2021-03-03 11:33:43] [info] #011at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[2021-03-03 11:33:43] [info] #011at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
[2021-03-03 11:33:43] [info] #011at java.base/java.lang.Thread.run(Thread.java:834)
[2021-03-03 11:33:43] [info] Caused by: javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not execute statement
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1366)
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:453)
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:3212)
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2380)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:447)
[2021-03-03 11:33:43] [info] #011at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:183)
[2021-03-03 11:33:43] [info] #011at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$300(JdbcResourceLocalTransactionCoordinatorImpl.java:40)
[2021-03-03 11:33:43] [info] #011at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:281)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:101)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.internal.store.hibernate.HibernateStore.endTransaction(HibernateStore.java:846)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.store.XWikiHibernateBaseStore.endTransaction(XWikiHibernateBaseStore.java:603)
[2021-03-03 11:33:43] [info] #011at com.xpn.xwiki.store.XWikiHibernateStore.saveXWikiDoc(XWikiHibernateStore.java:685)
[2021-03-03 11:33:43] [info] #011... 50 common frames omitted
[2021-03-03 11:33:43] [info] Caused by: org.hibernate.exception.DataException: could not execute statement
[2021-03-03 11:33:43] [info] #011at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:52)
[2021-03-03 11:33:43] [info] #011at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:200)
[2021-03-03 11:33:43] [info] #011at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3449)
[2021-03-03 11:33:43] [info] #011at org.hibernate.persister.entity.AbstractEntityPersister.updateOrInsert(AbstractEntityPersister.java:3311)
[2021-03-03 11:33:43] [info] #011at org.hibernate.persister.entity.AbstractEntityPersister.update(AbstractEntityPersister.java:3725)
[2021-03-03 11:33:43] [info] #011at org.hibernate.action.internal.EntityUpdateAction.execute(EntityUpdateAction.java:201)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.spi.ActionQueue.lambda$executeActions$1(ActionQueue.java:478)
[2021-03-03 11:33:43] [info] #011at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:684)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:475)
[2021-03-03 11:33:43] [info] #011at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:348)
[2021-03-03 11:33:43] [info] #011at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:40)
[2021-03-03 11:33:43] [info] #011at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:102)
[2021-03-03 11:33:43] [info] #011at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1362)
[2021-03-03 11:33:43] [info] #011... 61 common frames omitted
[2021-03-03 11:33:43] [info] Caused by: com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Incorrect string value: '\xF0\x9F\x8F\xA0 i...' for column `xwiki_db`.`xwikircs`.`XWR_PATCH` at row 1
[2021-03-03 11:33:43] [info] #011at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104)
[2021-03-03 11:33:43] [info] #011at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953)
[2021-03-03 11:33:43] [info] #011at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1092)
[2021-03-03 11:33:43] [info] #011at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdateInternal(ClientPreparedStatement.java:1040)
[2021-03-03 11:33:43] [info] #011at com.mysql.cj.jdbc.ClientPreparedStatement.executeLargeUpdate(ClientPreparedStatement.java:1347)
[2021-03-03 11:33:43] [info] #011at com.mysql.cj.jdbc.ClientPreparedStatement.executeUpdate(ClientPreparedStatement.java:1025)
[2021-03-03 11:33:43] [info] #011at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
[2021-03-03 11:33:43] [info] #011at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
[2021-03-03 11:33:43] [info] #011at org.apache.commons.dbcp2.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:136)
[2021-03-03 11:33:43] [info] #011at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:197)
[2021-03-03 11:33:43] [info] #011... 73 common frames omitted