-
Bug
-
Resolution: Fixed
-
Highest
-
3.1.1, 5.6.1, 5.7.1, 5.10.4, 6.2.1, 6.13.4, 6.13.5
-
179
-
Severity 3 - Minor
-
400
NOTE: This suggestion is for Confluence Server. Using Confluence Cloud? See the corresponding suggestion.
The Confluence server development team has now completed both item 1 (Support for emoji in MySQL) and item 2 (providing meaningful error messages). We strongly encourage customers to follow the steps outlined in our documentation to migrate from UTF8 to UTF8MB4, completely resolving this issue.
If you are unable to migrate to UTF8MB4 we have added a number of meaningful error messages to Confluence to stop users attempting to add unsupported 4-byte characters. We have added these errors to:
- page publish/save events for pages and blogs
- page titles
- comment/inline comment saves.
Please note that we have not added this error message to content fields that are less used/less likely to contain 4byte characters including:
- comments accessed via email,
- the editor in Questions for Confluence,
- comments on attachments,
- gadget comments,
- attachment titles
- content added via Confluence Mobile.
From the Confluence development team, we want to say thank you for everyone who provided feedback as part of both of the fixes mentioned above. We hope you now enjoy an emoji-filled Confluence.
Regards,
The Confluence Server Team
The following error:
org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not update: com.atlassian.confluence.core.BodyContent#38141954; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1366]; Incorrect string value: '\xF4\x80\x82\x84 z...' for column 'BODY' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xF4\x80\x82\x84 z...' for column 'BODY' at row 1 Caused by: java.sql.SQLException: Incorrect string value: '\xF4\x80\x82\x84 z...' for column 'BODY' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3536)
is thrown by confluence when your try to save a page with bullet points copied from an external source (Pdf,etc).
It appears to be directly related to this MySQL limitation: http://bugs.mysql.com/bug.php?id=28853
We should handle this gracefully since it is a known limitation for MySQL.
Note: This errors can also happen in the following situations:
- Restoring an XML backup into a MySQL database
- Attempting to log into Confluence
For the login failure, the error message will look like this:url:/dologin.action] [engine.jdbc.spi.SqlExceptionHelper] logExceptions Incorrect string value: '\xF0\x9F\x98\x8E p...' for column 'description' at row 1
Workaround for XML imports:
Use XML cleaner from this KB.
Also documented here
Workaround for login issues
If you are seeing the Incorrect string value errors for the /dologin.action requests, proceed as follows:
- Find the offending groups on the AD side and remove the 4-byte characters from the description based on the memberships of the user that cannot log in, or
- Change the Description attribute to the CN instead on the directory settings in Confluence
- blocks
-
CONFSERVER-34420 Update Confluence to support Emoji characters
-
- Closed
-
- is duplicated by
-
CONFSERVER-32453 Confluence with MySQL should support utf8mb4 encoding
- Closed
- is related to
-
CONFSERVER-53047 Some unicode characters prevent creating/editing pages using the Confluence Collaborative Editor
-
- Closed
-
- relates to
-
CONFCLOUD-18509 MySQL databases incapabable of handling 4byte UTF-8 Characters. Confluence should handle this gracefully
- Closed
-
CONFSERVER-53642 Support MySQL Databases using utf8mb4
- Closed
- resolves
-
CONFSERVER-55478 Improvement of error message in confluence
- Closed
- links to
- Mentioned in
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Wiki Page Loading...
-
Wiki Page Loading...
-
Wiki Page Loading...
[CONFSERVER-18509] MySQL databases incapable of handling 4byte UTF-8 Characters. Confluence should handle this gracefully
Hi philippe.perez, we got the same error with 6.18.5, can I update mysql setting to UTF8MB4?
In doc, it says only confluence with 7.2 or later version can upgrade. Confuse...
Hi philippe.perez, We are looking into backporting the meaningful error messages to 6.13. We will update this ticket once that is completed. Unfortunately, if you are interested in full emoji support in MySQL you will need to upgrade to 7.3 or our upcoming Enterprise Release 7.4.
Hello,
When will the step 2 be provided in the current LTS version ? That is the 6.13, which is still supported by the Enterprise license so candidate for such backport.
Thanks.
Hi All,
I wanted to follow up on our update above. The Confluence server development team has now completed both item 1 (Support for emoji in MySQL) and item 2 (providing meaningful error messages). We strongly encourage customers to follow the steps outlined in our documentation to migrate from UTF8 to UTF8MB4, completely resolving this issue.
If you are unable to migrate to UTF8MB4 we have added a number of meaningful error messages to Confluence to stop users attempting to add unsupported 4-byte characters. We have added these errors to:
- page publish/save events for pages and blogs
- page titles
- comment/inline comment saves.
Please note that we have not added this error message to content fields that are less used/less likely to contain 4byte characters including:
- comments accessed via email,
- the editor in Questions for Confluence,
- comments on attachments,
- gadget comments,
- attachment titles
- content added via Confluence Mobile.
From the Confluence development team, we want to say thank you for everyone who provided feedback as part of both of the fixes mentioned above. We hope you now enjoy an emoji-filled Confluence.
Regards,
The Confluence Server Team
Atlassian Update - Feb 2020
We have been working on a fix for this issue and wanted to give you an update on where we are up to. Our work in broken down into two key milestones:
1) Support for emoji in MySQL: We have delivered support for UTF8MB4 in Confluence 7.3.1. This work was being tracked in
CONFSERVER-53642 - Support MySQL Databases using utf8mb4 and is now Done. Confluence now supports 4 byte unicode characters with MySQL UTF8MB4 collation. To assist customers with existing MySQL databases (that do not support UTF8MB4) we have provided a detailed guide outlining instructions on how to move to a UTF8MB4 compatible MySQL database here.
2) Provide meaningful error messages when adding emoji on instances still with MySQL utf8: To stop users attempting to add unsupported Emoji to Confluence with MySQL utf8, we have added verification to publish/save events for all pages and blogs. This will provide users with a useful message instructing them to remove the character in order to save their content. We expect the message to look something like this:
We have released this change as part of 7.3.1 and will backport this change to the next bugfix release of 6.13 as well. Note we also plan to add this error message to emoji’s included in page titles, comments, inline comments and attachment comments. These will be added in future bugfix releases as they become available. You can continue to track this work in this Jira ticket.
Cheers,
The Confluence Server Team
Works for me as well. Here's how to update your database. Stop confluence then update my.cnf:
[client] default-character-set = utf8mb4 [mysqld] character-set-server = utf8mb4
Reload or restart mysqld. Next update all of your tables (there are many):
mysql> SET FOREIGN_KEY_CHECKS = 0; mysql> ALTER TABLE <all of your tables> convert TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin; mysql> SET FOREIGN_KEY_CHECKS = 1;
Start confluence. Process is similar for Jira - change your database driver from mysql to mysql57 first. Enjoy 💩
Good to know.
That means that you also upgraded to Confluence 7.3.1 and your database was in 5.9 ?
Did an update yesterday and it worked fine. Don't forget to update database, tables and columns.
Is this really fixed now? Confluence 7.3.1 is already released but the status of this ticket is still in progress.
Not sure what you call "the real issue", but if you mean the support of utf8mb4 for the database, then it won't prevent the need of the warning message, unless you intend to migrate your database or convert it (which will likely be a pain).
100% agree, this is a misleading message that might cause a user to investigate switching database backends. A better message would be something like "Confluence does not support the 😀 character."
Hopefully the real issue is being resolved and time isn't being wasted on implementing a warning message...
Not really that important but I think that screen shot is a tad misreading
It says "The character isn't supported by your database", kind of unfairly throwing mysql under the bus. A more sincere prompt would be "confluence don't support this character with your database"
Anyway, just saying, super happy that there is progress on this ticket and as long as the solution will be available soon, that error message would be very temporary anyway, so not a big deal
martin.boehme It should be visible now. I have attached a local copy.
msaxby The screenshot is anywhere in an internal Slack and most of us will be unable to view it
Atlassian Update - Jan 2020
We have been working on a fix for this issue and wanted to give you an update on where we are up to. Our work in broken down into two key milestones:
1) Provide meaningful error messages when adding emoji: To stop users attempting to add unsupported Emoji to Confluence we have added verification to publish/save events for all pages, blogs and page comments. This will provide users with a useful message instructing them to remove the character in order to save their content. We expect the message to look something like this:
We are planning to release this change as part of 7.3 and will backport this change to the next bugfix release of 6.13 as well. Note we also plan to add this error message to emoji’s included in page titles, inline comments and attachment comments. These will be added in future bugfix releases as they become available.
2) Support for emoji in MySQL: We have started work on adding support UTF8MB4 in Confluence. This work is being tracked in
CONFSERVER-53642 - Support MySQL Databases using utf8mb4 IN PROGRESS. Please watch or vote on this issue if you are interested in full support for UTF8MB4. This is planned for release soon but will update the suggestion as we continue to make progress. To assist customers with existing MySQL databases (that do not support UTF8MB4) we will provide a detailed guide outlining instructions on how to move to a UTF8MB4 compatible MySQL database.
Cheers,
The Confluence Server Team
Hi All,
A detailed status update on the support of utf8mb4 and utf8 emoji error handling is scheduled for this week. Please keep watching this issue for the same.
Thanks,
Ganesh
The issue has been in progress since Aug 2018, way before Confluence 7 release. I would not hope a resolution is in sight based on the issue status.
In fact, CONFSERVER-53642 might be what really needs to be fixed I'd say...
Would indeed be nice if this will be resolved in next Enterprise Release, at this moment running multiple databases because of this.
(servicedesk won't start if you don't have the character-set-server=utf8mb4
collation-server=utf8mb4_bin set)
Since the issue itself is in progress I hope that it will be resolved until the next Confluence Enterprise Release.
Any idea when this will be fixed? The utf8mb4 character set is not even remotely new, I'm confused why this is still not resolved.
This issue is currently blocking our migration to another Database Backend. Due to the lack of utfmb4 support we are unable to Import our XML Backup to the new site.
After talking to Atlassian Support we only get the glorious answer to use the XML Cleaner. After cleaning the import works, but - big surprise - all emojis used by our customers are gone and no saving of a page with emojis is possible. This is definitely nothing we can tell our customers.
We're almost approaching 2020, so please fix this issue and get proper support for utf8mb4
We see plenty of users not able to store their recent page versions because of multibyte characters copied in. This causes that they are just continue to work with the draft version of their pages for several weeks. Means they hold the actual state of their pages just in the synchrony store. And this makes it impossible for us even to switch to postgresql because we can not export that data.
Please fix this issue, give us an idea how to enforce a saving of all open drafts afterwards as Admin for all pages. We understood that upgrading to version 7 would mean to loose all that page data our customers rely on because synchrony store will wipe. So we are screwed now.
Please, with double chocolate!
Could we please shorten the "short term" of this ticket ?
It's a real pain for support team to explain again and again that Confluence is working despite the message.
This gives a really bad image of the application to our users
Upgraded to 7.0, same old issue here. Please release a patch recently to make this work team.
If Jira and confluence use same MySQL DBMS, that is important to use utf8mb4. Check it please.
Please update the status of this issue; 7.0 was released in the meanwhile and there is no news here.
"This is in our short-term backlog and we expect to work on it next" was posted 10 months ago.
This bug has a confusing title. MySQL 5.6 and 5.7 do support databases with UTF8mb4 character sets.
However Confluence 6.15,7 and older versions can only be installed on MySQL databases with UTF8 (3 bytes) character sets.
Please fix this in Confluence!
There are 10 issues in my company about this, all reported to the people operating our Atlassian products, who cannot do anything to fix it. Please address this.
When click the save button, and it went wrong as bellow:
error: [com.ctc.wstx.exc.WstxLazyException] Unexpected close tag ; expected . at [row,col \{unknown-source}]: [1,328]
The most frustrated is that we can't find the content. So can Confluence program do something like Interceptor? Maybe Confluence plugin development is a way?
If Atlassian won't add UTF8 support for 7.0 it probably won't happen for a 7.x minor release either. So the next chance would be 8.0 which is probable three years or more into the future. So ditch MySQL 5.6 support and please fix this with 7.0.
Can you give us a updated statement for this issue please?
I fully support the above comments. We have a relatively small instance with 2k users compared to other customers here but our users also regularly run into this error. It is really annoying and what's even worse: in 2019 there is still enterprise software that can't handle 4 Byte UTF-8 chars even if the database itself supports them. Come on Atlassian, you finally fixed that for Jira and Crucible
now do this for Confluence, too!
But not just in some Confluence version >= 7.1, put it in 7.0 since it's a platform release.
Also very common complaint for us on 10,000 user instance. Very frustrating bug especially because of the misleading error message. Our users hit this bug every few weeks so we continue to spend our own time helping them with the workaround. It's frustrating and wasteful.
Here is a recent yammer post from one of our frustrated users:
Hi all, just sharing this here in case someone has experienced a similar issue. Today I started having problems to save a confluence page on my desktop computer. I was getting this banner popping up every time I clicked 'Update', saying:
"Unable to communicate with server. Saving is not possible at the moment."
Which was really odd because I was able to save other confluence documents. I then opened this document in a conference room computer and had the same issue, not being able to save. Weird? Came back to my office planning to submit a ticket and decided to check a few things before I did that, like, checking the content I had inserted this morning in the page.
All the sudden I noticed a pretty 'harmless' smiley face I had copied-pasted from an email. Let's try to delete it, I thought. Deleted it. Clicked the 'Update' button. It worked!
Great. So from here, I learned 2 lessons:
- Inaccurate error messages are really annoying and lead you to the wrong path. Why "Cannot communicate with the server?". Can't confluence detect I have put some element in the page they cannot handle and tell me that instead? It would have been much easier to troubleshoot.
- Beware users out there, even thought these emoticons may seem inoffensive and pretty-looking, they may break your Confluence page
We're officially over 6 months on the short term backlog Atlassian team, can we please get some status update here? This is my #1 most common user complaint on a 5000 user instance.
I'm trying to figure out if I need to go ahead and prioritize work to migrate to postgres, or if this is getting handled in a new version and I can just get new features instead of doing that extra db migration work.
Considering that other products now actually support the relevant utf8-mb4 encoding, if there's some reason we can't expect to see that in confluence as well, the transparency will be appreciated so we know how to prioritize our work. I've been assuming this would come to confluence too but knowing if that isn't the case is still helpful, if somewhat disappointing.
Wondering if this will be on Confluence 7.0 at least.
https://confluence.atlassian.com/doc/preparing-for-confluence-7-0-950280675.html
Not in above list though
Just wasted a ton of time trying to figure out why blog posting stopped working - the culprit was a single emoji copied over from MS. So with proper messaging instead of the very generic error I got, could have been a 2 second fix!
We now run the latest versions of Fisheye and Jira that support MySQL UTF8mb4 and emoji's work fine (4 byte unicode). Why is Atlassian not moving more quickly for Confluence - this lack of attention is negatively affecting customers worldwide.
Emojis got put into an office 365 group description and that caused a lot of users to be unable to sign into Confluence until we set the description attribute to cn instead of description.
Was hammering the Publish button today (confluence 6.2.3) for a loong time thinking it was a temporary network issue. Eventually realized through trial and error that it was the dang 🌟 emoji in my document preventing it. Upvote on this, and a clearer failure message.
I believe the summary should probably be different, since MySQL is clearly capable of handling 4 byte unicode but Confluence doesn't support it with MySQL.
Faced this issue while create/edit page in confluence 6.11.2 and MySQL 5.6.42
@ganesh
I'm a PM on Confluence cloud and I'm talking to our customer, Craig from IU, who wants to make sure that "handling this gracefully" means supporting utf8mb4 encoding. Jira and Fisheye have just implemented this, so he is hoping to see the same from Conf.
Any update would be super helpful!
Thanks,
Hilary
Our difficulty is that we adopted Atlassian's stack on MySQL given it's stated official support and that our IT team has standardized on MySQL and has no in-house Postgres experience. If Atlassian was to drop MySQL support officially maybe it would motivate a change over to Postgres, or of course if they were to fix this problem, but otherwise we're kinda caught between the two. I don't know how many other customers might be in a similar situation.
Thanks for confirming this is still broken in the latest versions, community.
IMO The only sane thing to do as an Atlassian customer is use postgres. It's what they test on and is the only officially supported platform on AWS, at least for JIRA.
We have both mysql backed Jira and Confluence installs, and automation that pulls tickets from another system into JIRA. The last time automation pulled a ticket with a smiley in from the other system, it took Jira down.
Other databases may work, but support is 2nd class for these platforms.
Atlassian, this is the kind of bug fix that should be getting prioritized for your next enterprise release. Please save us the trouble of having to migrate a massive mysql db to postgres!!!
Is there any information on what the schedule/status of this issue is?
Any update on this feature? The comment on https://jira.atlassian.com/browse/CONFSERVER-34420 impliest that more information would be given about progress of this issue.
Jira will support that with 8.0 and so should Confluence, better all Atlassian products!
I think you should support utf8mb4.Because the default character set has changed from latin1 to utf8mb4 at Mysql 8.0.
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html
Confluence really needs to handle this better, we're hitting it regularly and it is massively annoying.
I ran into this today. I understand your position regarding MySQL versions, but that doesn't mean Confluence can't handle this error more gracefully. The random "can't connect to server" errors weren't exactly helpful in figuring out that it was the emoji that were upsetting Confluence/MySQL. There are better ways to handle this.
The issue is only present in certain configurations of MySQL 5.6 and 5.7, the defaults for 5.7 are also fine for utf8mb4, although you could also re-think your database structure - do you really need 256 UTF8 characters in usernames? There are other things in there that aren't well thought out too, for example storing the username twice (username/lower_username) instead of relying on case insensitive collations.
In the meantime, could you at least disable the warnings for correctly configured databases using utf8mb4? See here: https://jira.atlassian.com/browse/CONFSERVER-53642
THANK YOU so much 'Confluence Product Management' we will be patiently waiting for 4 byte unicode support for MySQL (utf8mb4).
We moved our large Confluence instance from Oracle to MySQL over a year ago to reduce overhead. Found MySQL Enterprise worked great except for lack of support for utf8mb4 in Confluence software. We are excited that Atlassian Confluence will soon be able to handle 4 byte unicode characters. Can't wait for when INSERT does not throw error when trying to store an icon or any other character in the high end 4 byte range of unicode.
-craig
Thanks for your interest in this issue.
When we updated our database configuration in 6.4 we restricted MySQL databases to only utf8. This was due to an indexing issue relating to MySQL 5.6 and below.
We intend to change this to the preferred utf8mb4 in future once MySQL5.6 is no longer supported.
Cheers,
Confluence Product Management
You won't have the problem with PostgreSQL. I have complained to Atlassian Support as well, since I used work for Atlassian customers and resellers who pay quite a lot of money for Jira and other products, however they just don't care enough, presumably since this problem doesn't affect sales.
As proven it's possible to do this with MySQL, but it has gotten progressively worse with nonsensical warnings about utf8mb4 and some applications will show a warning when starting, further confusing Administrators.
It's probably more worthwhile to establish PostgreSQL in your organization even though there might be a bit of a learning curve for some. With MySQL, the documentation should probably be changed to "Here be dragons" and the support should be dropped.
Any update on this issue? I'd like to hear Atlassian's response re: why utf8mb4 isn't officially supported as an encoding type for MySQL? @Nils Meyer above posts a screenshot where he has enabled utf8mb4 and Confluence seems to do at least the bare minimum (in an unsupported configuration) with poo emojis that otherwise throw exceptions, so what's the holdup?
Also, hypothetically- would switching from MySQL to Postgres or another DBMS resolve this or is 4 byte encoding unsupported across the board?
Although confluence complains about the character set and collation (and a setup with confluence 6.4.0 isn't even possible), using utf8mb4 works flawlessly. I think the warning should be removed if the character set is utf8mb4, even better would be to show warnings when the character set is anything but utf8mb4.
I'm unable to attach a Screenshot here, so here it is: https://nm.cx/Screenshot_20170928_092118.png
This should work with the utf8mb4 character set, however confluence doesn't seem to support this (see also CONFSERVER-32453) for reasons unknown. This should be fairly trivial to fix.
@craig solinski - I wouldn't say they're recommending MySQL, Atlassian uses PostgreSQL for their own instances. We moved over from MySQL to PostgreSQL due to this and another much more critical issue, only experienced under MySQL. PSQL is pretty nice, reliable, and no issues in the past year at all with incompatibility stuff like this.
I fee like this should be less a "suggestion" and more a "requirement" - and I do mean that in the RFC2119 sense of the word.
Atlassian is STILL not supporting 4 byte Unicode characters in 6.3.1 - yet they recommend using MySQL...
Seeing as MySQL is still the most popular DB for Atlassian customers (or was when I last looked), and emoji's are not going away anytime soon, the product should handle this better.
As far as I can tell, this behavior still exists on Confluence 5.7. I agree this should be considered a bug, since it's not necessarily the support for 4-byte chars that we are looking for, but the graceful handling of such input. Confluence should be able to filter untrusted user input so that it is only sending data to the DB that is guaranteed to be stored successfully. Exceptions like this aren't OK and are bad for users.
Also – expect the (attempted) use of these characters to increase as emoji become more and more popular. Any one of your Mac OS X users can hit command-control-space and get a full pallet of emoji. 🔢🔠🔡🔣
We have the same problem with our Confluence/MySql.
Adding the emoticon 😉 with perl -we 'print "\x
{1f609}\n"' on your local terminal/bash/whatever will give back a:
Oops - an error has occurred logo System Error … Cause java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x89 T...' for column 'BODY' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078) A system error has occurred — our apologies! java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x89 T...' for column 'BODY' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570) …
We're running Confluence 5.1.3 (because 5.2.4 has this mysql schema update bug) and Mysql 5.1.66 on a Debian Squeeze 64bit.
I opened already an issue 11 month ago https://support.atlassian.com/browse/CSP-92482 but this one was closed by atlassian.
I just tried MySQL 5.5 + utf8mb4 encoding on our test server and I'm still seeing issues with Emoji characters in display names coming from our LDAP directory service on 4.3.7.
I have same problem when importing data from Confluence 4.1 with MySQL database encoding cp1251 to Confluence 4.2 wint MySQL database encoding utf8:
2012-04-17 00:04:10,176 ERROR [Long running task: Importing data] [confluence.importexport.actions.I mportLongRunningTask] runInternal Failure during import -- referer: http://localhost:9094/setup/setup-restore-start.action | url: /setup/setup-re store-local.action | userName: anonymous | action: setup-restore-local com.atlassian.confluence.importexport.ImportExportException: com.atlassian.confluence.importexport.I mportExportException: Unable to complete import: Error while importing backup: could not insert: [bu cket.user.propertyset.BucketPropertySetItem#BucketPropertySetItem[entityId=340,entityName=confluence _ContentEntityObject,key=atlassian.dynamictasklist:ToDo,_������,type=6,boolean=false,string=<null>,t ext=<com.atlassian.confluence.extra.dynamictasklist.model.TaskList> <name>ToDo,_�������</name> <tasks class="java.util.Collections-SynchronizedRandomAccessList" resolves-to="java.util.Collectio ns-SynchronizedList"> <list> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test sdfsdf</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>dddd</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>gfdgdfg</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>Apples</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������. ������ ��������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>admins. reestr serverov</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> </list> <c class="list" reference="../list"/> <mutex class="java.util.Collections-SynchronizedList"> <list reference="../../list"/> <c class="list" reference="../../list"/> <mutex class="java.util.Collections-SynchronizedList" reference=".."/> </mutex> </tasks> </com.atlassian.confluence.extra.dynamictasklist.model.TaskList>,int=0,double=0.0,long=0,date=<null>]] at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEntities(BackupImporter.java:345) at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEverything(BackupImporter.java:303) at com.atlassian.confluence.importexport.xmlimport.FileBackupImporter.importEverything(FileBackupImporter.java:106) at com.atlassian.confluence.importexport.xmlimport.BackupImporter$1.doInTransactionWithoutResult(BackupImporter.java:151) at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at com.atlassian.confluence.importexport.xmlimport.BackupImporter.doImportInternal(BackupImporter.java:143) at com.atlassian.confluence.importexport.Importer.doImport(Importer.java:75) at com.atlassian.confluence.importexport.DefaultImportExportManager.doImport(DefaultImportExportManager.java:67) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at $Proxy99.doImport(Unknown Source) at com.atlassian.confluence.importexport.actions.ImportLongRunningTask.runInternal(ImportLongRunningTask.java:81) at com.atlassian.confluence.util.longrunning.ConfluenceAbstractLongRunningTask.run(ConfluenceAbstractLongRunningTask.java:21) at com.atlassian.confluence.util.longrunning.ManagedTask.run(ManagedTask.java:35) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: com.atlassian.confluence.importexport.ImportExportException: Unable to complete import: E rror while importing backup: could not insert: [bucket.user.propertyset.BucketPropertySetItem#BucketPropertySetItem[entityId=340,entityName=confluence_ContentEntityObject,key=atlassian.dynamictasklist:ToDo,_������,type=6,boolean=false,string=<null>,text=<com.atlassian.confluence.extra.dynamictasklist.model.TaskList> <name>ToDo,_�������</name> <tasks class="java.util.Collections-SynchronizedRandomAccessList" resolves-to="java.util.Collections-SynchronizedList"> <list> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test sdfsdf</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>dddd</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>gfdgdfg</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>Apples</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������. ������ ��������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>admins. reestr serverov</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> </list> <c class="list" reference="../list"/> <mutex class="java.util.Collections-SynchronizedList"> <list reference="../../list"/> <c class="list" reference="../../list"/> <mutex class="java.util.Collections-SynchronizedList" reference=".."/> </mutex> </tasks> </com.atlassian.confluence.extra.dynamictasklist.model.TaskList>,int=0,double=0.0,long=0,date=<null>]] at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.doImport(DefaultXmlImporter.java:71) at com.atlassian.confluence.importexport.xmlimport.BackupImporter.importEntities(BackupImporter.java:335) ... 28 more Caused by: net.sf.hibernate.exception.GenericJDBCException: could not insert: [bucket.user.propertyset.BucketPropertySetItem#BucketPropertySetItem[entityId=340,entityName=confluence_ContentEntityObject,key=atlassian.dynamictasklist:ToDo,_������,type=6,boolean=false,string=<null>,text=<com.atlassian.confluence.extra.dynamictasklist.model.TaskList> <name>ToDo,_�������</name> <tasks class="java.util.Collections-SynchronizedRandomAccessList" resolves-to="java.util.Collections-SynchronizedList"> <list> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test sdfsdf</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>dddd</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>gfdgdfg</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>Apples</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������. ������ ��������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>admins. reestr serverov</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> </list> <c class="list" reference="../list"/> <mutex class="java.util.Collections-SynchronizedList"> <list reference="../../list"/> <c class="list" reference="../../list"/> <mutex class="java.util.Collections-SynchronizedList" reference=".."/> </mutex> </tasks> </com.atlassian.confluence.extra.dynamictasklist.model.TaskList>,int=0,double=0.0,long=0,date=<null>]] at com.atlassian.confluence.importexport.xmlimport.parser.BackupParser.endElement(BackupParser.java:53) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.parseBackup(DefaultXmlImporter.java:103) at com.atlassian.confluence.importexport.xmlimport.DefaultXmlImporter.doImport(DefaultXmlImporter.java:55) ... 29 more Caused by: net.sf.hibernate.exception.GenericJDBCException: could not insert: [bucket.user.propertyset.BucketPropertySetItem#BucketPropertySetItem[entityId=340,entityName=confluence_ContentEntityObjec t,key=atlassian.dynamictasklist:ToDo,_������,type=6,boolean=false,string=<null>,text=<com.atlassian.confluence.extra.dynamictasklist.model.TaskList> <name>ToDo,_�������</name> <tasks class="java.util.Collections-SynchronizedRandomAccessList" resolves-to="java.util.Collections-SynchronizedList"> <list> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������� ������ � JIRA - ������� �� ����� Jira (���������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test sdfsdf</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>test</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>dddd</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>gfdgdfg</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>Apples</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>��������������. ������ ��������</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name></name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>111</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> <com.atlassian.confluence.extra.dynamictasklist.model.Task> <name>admins. reestr serverov</name> </com.atlassian.confluence.extra.dynamictasklist.model.Task> </list> <c class="list" reference="../list"/> <mutex class="java.util.Collections-SynchronizedList"> <list reference="../../list"/> <c class="list" reference="../../list"/> <mutex class="java.util.Collections-SynchronizedList" reference=".."/> </mutex> </tasks> </com.atlassian.confluence.extra.dynamictasklist.model.TaskList>,int=0,double=0.0,long=0,date=<null>]] at net.sf.hibernate.exception.ErrorCodeConverter.handledNonSpecificException(ErrorCodeConverter.java:90) at net.sf.hibernate.exception.ErrorCodeConverter.convert(ErrorCodeConverter.java:79) at net.sf.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:29) at net.sf.hibernate.persister.AbstractEntityPersister.convert(AbstractEntityPersister.java:1331) at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:472) at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:436) at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:37) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2451) at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2437) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2394) at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2263) at com.atlassian.confluence.importexport.xmlimport.ImportProcessorContext.flushIfNeeded(Impo rtProcessorContext.java:215) at com.atlassian.confluence.importexport.xmlimport.ImportProcessorContext.saveObject(ImportProcessorContext.java:105) at com.atlassian.confluence.importexport.xmlimport.persister.PropertySetItemPersister.persist(PropertySetItemPersister.java:58) at com.atlassian.confluence.importexport.xmlimport.DefaultImportProcessor.persist(DefaultImportProcessor.java:46) at com.atlassian.confluence.importexport.xmlimport.DefaultImportProcessor.processObject(DefaultImportProcessor.java:36) at com.atlassian.confluence.importexport.xmlimport.parser.BackupParser.endElement(BackupParser.java:49) ... 40 more Caused by: java.sql.SQLException: Incorrect string value: '\x98\x98\x98\x98\x98\x98...' for column 'text_val' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1072) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3563) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3495) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2693) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2102) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2395) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2313) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2298) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatemen t.java:105) at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22) at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:462) ... 52 more
Have a solution?
UPDATE: This turned out to be caused by a wrong character encoding in the database (in this case, it was set to latin1). Once it's converted to UTF8, all went smooth. For any users hitting similar issue, please ensure you have the character encoding set to UTF8. We do have KB here as a guide to convert your DB to the recommended character encoding - UTF8. If that doesn't help, please raise a support ticket so that we can help investigate it further.
customer hit similar issue during an upgrade from 3.5.9 to 4.1.3:
2012-01-26 18:06:32,161 ERROR [WikiToXhtmlMigration:thread-4] [sf.hibernate.util.JDBCExceptionReporter] logExceptions Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1 2012-01-26 18:06:32,164 ERROR [WikiToXhtmlMigration:thread-4] [sf.hibernate.impl.SessionImpl] execute Could not synchronize database state with session 2012-01-26 18:06:39,126 FATAL [main] [atlassian.config.lifecycle.LifecycleManager] panicAndShutdown Unable to start up Confluence. Fatal error during startup sequence: confluence.lifecycle.core:pluginframeworkdependentupgrades (Run all the upgrades that require the plugin framework to be available) - com.atlassian.confluence.content.render.xhtml.migration.exceptions.MigrationException: java.util.concurrent.ExecutionException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not insert: [com.atlassian.confluence.core.BodyContent#51688794]; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1366]; Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1 com.atlassian.confluence.content.render.xhtml.migration.exceptions.MigrationException: java.util.concurrent.ExecutionException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not insert: [com.atlassian.confluence.core.BodyContent#51688794]; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1366]; Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1 at com.atlassian.confluence.content.render.xhtml.migration.DefaultWikiToXhtmlSiteMigrator.migrateSite(DefaultWikiToXhtmlSiteMigrator.java:167) at com.atlassian.confluence.upgrade.upgradetask.WikiToXhtmlMigrationUpgradeTask.doDeferredUpgrade(WikiToXhtmlMigrationUpgradeTask.java:40) at com.atlassian.confluence.upgrade.PluginFrameworkDependentUpgrader.runDeferredUpgradeTasks(PluginFrameworkDependentUpgrader.java:56) at com.atlassian.confluence.upgrade.PluginFrameworkDependentUpgrader.startup(PluginFrameworkDependentUpgrader.java:25) at com.atlassian.config.lifecycle.DefaultLifecycleManager.startUp(DefaultLifecycleManager.java:40) at com.atlassian.config.lifecycle.LifecycleServletContextListener.contextInitialized(LifecycleServletContextListener.java:17) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4205) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4704) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) at org.apache.catalina.core.StandardService.start(StandardService.java:525) at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) at org.apache.catalina.startup.Catalina.start(Catalina.java:595) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) Caused by: java.util.concurrent.ExecutionException: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not insert: [com.atlassian.confluence.core.BodyContent#51688794]; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1366]; Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1 at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) at java.util.concurrent.FutureTask.get(FutureTask.java:83) at com.atlassian.confluence.content.render.xhtml.migration.DefaultWikiToXhtmlSiteMigrator.migrateSite(DefaultWikiToXhtmlSiteMigrator.java:148) ... 20 more Caused by: org.springframework.jdbc.UncategorizedSQLException: Hibernate operation: could not insert: [com.atlassian.confluence.core.BodyContent#51688794]; uncategorized SQLException for SQL []; SQL state [HY000]; error code [1366]; Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1; nested exception is java.sql.SQLException: Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1 at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83) at org.springframework.orm.hibernate.HibernateTransactionManager.convertJdbcAccessException(HibernateTransactionManager.java:619) at org.springframework.orm.hibernate.HibernateTransactionManager.convertHibernateAccessException(HibernateTransactionManager.java:605) at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:518) at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:732) at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:701) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) at com.atlassian.confluence.content.render.xhtml.migration.DefaultWikiToXhtmlSiteMigrator$TransactionWrappingMigratorRunnable.run(DefaultWikiToXhtmlSiteMigrator.java:217) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) Caused by: java.sql.SQLException: Incorrect string value: '\xEF\xBF\xBDbec...' for column 'BODY' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1072) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3563) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3495) at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1959) at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2113) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2693) at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2102) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2395) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2313) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2298) at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105) at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:22) at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:462) at net.sf.hibernate.persister.EntityPersister.insert(EntityPersister.java:436) at net.sf.hibernate.impl.ScheduledInsertion.execute(ScheduledInsertion.java:37) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2447) at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2433) at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2390) at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2259) at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61) at org.springframework.orm.hibernate.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:510) ... 10 more
This seems to be supported in MySQL 5.5 as per this comment. But unfortunately, 5.5 is not supported by us yet.
Confluence 4.1 is also affected. I think this is a Major Bug and not an Improvement, because as long as you don't fully understand the error message you can't work with confluence on some tasks.
I encountered this while trying to import a large Word document into Confluence (Not sure what characters are in there, but it's a large file, so we can safely assume a bunch of unsupported characters here and there). I managed to fix the import by switching to direct JDBC from my datasource database connection. The file imported is still the same file! Not sure why is that. Will investigate further
I am on vacation until Monday August 15th. I will have no or limited access to email during this time. In case of urgent Jrockit infrastructure matters please contact: Mohan Pakkurti - mohan.pakkurti@oracle.com.
With Best Regards
Heikki
I am on vacation until Monday August 15th. I will have no or limited access to email during this time. In case of urgent Jrockit infrastructure matters please contact: Mohan Pakkurti - mohan.pakkurti@oracle.com.
With Best Regards
Heikki
I have this issue with some versions, but not others of word files. This is a major impediment to importing all of my content from Word format.
Thanks,
John Unress
We too are experiencing this problem. The last comment on this issues has been more than one year ago. So is there a timeline to provide a fix for the mysql issue?
Kind regards
Christian Azig
Customer would like this to be filed as a bug:
Confluence throws a major exception when data is entered into an edit page and then saved with this. Work/data entered is lost. This is a pretty significant bug to Confluence, regardless of the origin of the problem. Confluence needs to gracefully handle this condition.
I don't see how it can be said that it's alright for Confluence to break when such a character is entered into a page, and except MySQL to solve it by implementing something which is documented as unsupported.
Hi ff7cbaf6d4e6
Are you talking about 6.13.5? if yes, then it doesn't support utf8mb4 and won't do it in future.
However, meaningful error messages will be provided soon on 6.13.x by way of backporting fixes.
Also, please see the following item for utf8mb4 support: https://jira.atlassian.com/browse/CONFSERVER-53642
Thanks,
Ganesh