Attachment upload/preview issue: Scheduled job with ID 'conversionLoader' failed due to binary incompatibilities
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
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
Problem
While uploading an attachment in Confluence and using a View-file macro, it gives below error message
Error rendering macro 'view-file'
Could not initialize class com.atlassian.plugins.conversion.convert.image.SlidesConverter
The following errors occur when trying to load the package upon the last startup of Confluence appears in the atlassian-confluence.log
2019-05-02 15:36:45,794 ERROR [Caesium-1-2] [atlassian.scheduler.core.JobLauncher] launchAndBuildResponse Scheduled job with ID 'conversionLoader' failed due to binary incompatibilities
-- referer: http://localhost:8099/setup/setupdata-start.action | url: /setup/setupdata.action | traceId: 8576b486aef5fb20 | userName: anonymous | action: setupdata
java.lang.ExceptionInInitializerError
Caused by: class com.aspose.slides.exceptions.ArgumentException: Culture Name: en-HK is not a supported culture
java.lang.Thread.run(Thread.java:748)
at com.aspose.slides.internal.ep.if.if(Unknown Source)
at com.aspose.slides.internal.ep.if.<init>(Unknown Source)
at com.aspose.slides.internal.ep.if.do(Unknown Source)
We also see below errors in the atlassian-confluence.log
java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: Could not initialize class com.atlassian.plugins.conversion.convert.image.AbstractConverter [in thread "http-nio-8090-exec-14"]
at com.benryan.components.DefaultSlideCacheManager.queueNewPptConversion(DefaultSlideCacheManager.java:281)
at com.benryan.components.DefaultSlideCacheManager.queueNewConversion(DefaultSlideCacheManager.java:252)
at com.benryan.components.DefaultSlideCacheManager.getFuture(DefaultSlideCacheManager.java:142)
at com.benryan.components.DefaultSlideCacheManager.getFuture(DefaultSlideCacheManager.java:129)
.
.
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.atlassian.plugins.conversion.convert.image.SlidesConverter
at com.benryan.components.DefaultSlideCacheManager.queueNewPptConversion(DefaultSlideCacheManager.java:281)
at com.benryan.components.DefaultSlideCacheManager.queueNewConversion(DefaultSlideCacheManager.java:252)
at com.benryan.components.DefaultSlideCacheManager.getFuture(DefaultSlideCacheManager.java:142)
at com.benryan.components.DefaultSlideCacheManager.getFuture(DefaultSlideCacheManager.java:129)
Diagnosis
Check the configuration in Confluence UI by doing the following:
- Navigate to General Configuration > System Information
- Look for the following and check if it is set as {{user.language=zh}} and {{user.country=HK}}:
Cause
The 'System Locale' were not configured properly. From the above error, it seems like the settings are configured as:
-Duser.language=en
-Duser.country=HK
Resolution
The correct language localization should be zh-HK as per stated in this JDK 8 Supported Locales or JDK 17 Supported Locales
In order to change the locale settings the recommended way is to add the additional arguments user.language
and user.country
to the JVM parameters. The details steps for adding the parameters is explained in this article - Configuring System Properties
Example parameter for the above error:
-Duser.language=zh -Duser.country=HK