Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-41717

Email with emoji sent to Email Archive will fail

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Verified
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 12.6, 19.0, 19.1, 19.2
    • Fix Version/s: 19.3, 20.0
    • Component/s: Email Archive
    • Labels:
    • 19 status:
      Resolved
    • 12 status:
      Please Merge
    • Test Plan:
      Hide

      Please add a Test Plan here.

      Show
      Please add a Test Plan here.

      Description

      To replicate:

      1) Create course site with Email Archive on instance with incoming email enabled

      2) Send email to site email address that contains an emoji (converted emoji not colon+parens)

      java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x83),...' for column 'BODY' at row 1                                                                                                                                                     at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)                                                                                                                                                                              at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)                                                                                                                                                                                 at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)                                                                                                                                                                                 at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)                                                                                                                                                                                      at com.mysql.jdbc.ServerPreparedStatement.serverExecute(ServerPreparedStatement.java:1283)                                                                                                                                                    at com.mysql.jdbc.ServerPreparedStatement.executeInternal(ServerPreparedStatement.java:783)                                                                                                                                                   at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)                                                                                                                                                        at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)                                                                                                                                                        at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)                                                                                                                                                           at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)                                                                                                                                                                at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)                                                                                                                                                at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)                                                                                                                                       at org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1294)                                                                                                                                                           at org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1160)                                                                                                                                                           at org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1145)                                                                                                                                                                at org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1074)                                                                                                                                                                at org.sakaiproject.util.BaseDbDoubleStorage.commitResource(BaseDbDoubleStorage.java:1349)                                                                                                                                                    at org.sakaiproject.mailarchive.impl.DbMailArchiveService$DbStorage.commitMessage(DbMailArchiveService.java:371)                                                                                                                              at org.sakaiproject.message.util.BaseMessage$BaseMessageChannelEdit.commitMessage(BaseMessage.java:2734)                                                                                                                                      at org.sakaiproject.message.util.BaseMessage$BaseMessageChannelEdit.commitMessage(BaseMessage.java:2668)                                                                                                                                      at org.sakaiproject.mailarchive.impl.BaseMailArchiveService$BaseMailArchiveChannelEdit.addMailArchiveMessage(BaseMailArchiveService.java:859)                                                                                                 at org.sakaiproject.mailarchive.SakaiMessageHandlerFactory$1.data(SakaiMessageHandlerFactory.java:335)                                                                                                                                        at org.subethamail.smtp.command.DataCommand.execute(DataCommand.java:64)                                                                                                                                                                      at org.subethamail.smtp.server.RequireTLSCommandWrapper.execute(RequireTLSCommandWrapper.java:30)                                                                                                                                             at org.subethamail.smtp.server.CommandHandler.handleCommand(CommandHandler.java:99)                                                                                                                                                           at org.subethamail.smtp.server.Session.runCommandLoop(Session.java:244)                                                                                                                                                                       at org.subethamail.smtp.server.Session.run(Session.java:145)                                                                                                                                                                                  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)                                                                                                                                                                                              2019-04-17 12:05:48,438 ERROR org.subethamail.smtp.server.Session-/10.1.1.1:51668 org.sakaiproject.mailarchive.SakaiMessageHandlerFactory - mailarchive General message service exception: (id=<BN6PR12MB1668760A427A98B9BEA5962EDE250@BN6PR12MB1668.namprd12.prod.outlook.com>) (mailId=104_sp19) : java.lang.RuntimeException: SqlService.dbWrite failure                                                                                                                             java.lang.RuntimeException: SqlService.dbWrite failure                                                                                                                                                                                                at org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1343)                                                                                                                                                           at org.sakaiproject.db.impl.BasicSqlService.dbWriteCount(BasicSqlService.java:1160)                                                                                                                                                           at org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1145)                                                                                                                                                                at org.sakaiproject.db.impl.BasicSqlService.dbWrite(BasicSqlService.java:1074)                                                                                                                                                                at org.sakaiproject.util.BaseDbDoubleStorage.commitResource(BaseDbDoubleStorage.java:1349)                                                                                                                                                    at org.sakaiproject.mailarchive.impl.DbMailArchiveService$DbStorage.commitMessage(DbMailArchiveService.java:371)                                                                                                                              at org.sakaiproject.message.util.BaseMessage$BaseMessageChannelEdit.commitMessage(BaseMessage.java:2734)                                                                                                                                      at org.sakaiproject.message.util.BaseMessage$BaseMessageChannelEdit.commitMessage(BaseMessage.java:2668)                                                                                                                                      at org.sakaiproject.mailarchive.impl.BaseMailArchiveService$BaseMailArchiveChannelEdit.addMailArchiveMessage(BaseMailArchiveService.java:859)                                                                                                 at org.sakaiproject.mailarchive.SakaiMessageHandlerFactory$1.data(SakaiMessageHandlerFactory.java:335)                                                                                                                                        at org.subethamail.smtp.command.DataCommand.execute(DataCommand.java:64)                                                                                                                                                                      at org.subethamail.smtp.server.RequireTLSCommandWrapper.execute(RequireTLSCommandWrapper.java:30)                                                                                                                                             at org.subethamail.smtp.server.CommandHandler.handleCommand(CommandHandler.java:99)                                                                                                                                                           at org.subethamail.smtp.server.Session.runCommandLoop(Session.java:244)                                                                                                                                                                       at org.subethamail.smtp.server.Session.run(Session.java:145)                                                                                                                                                                                  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)
       

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  agschmidt Andrea Schmidt
                  Reporter:
                  ottenhoff Sam Ottenhoff
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  5 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration