Preview of some PowerPoint files fail to render
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
Summary
After attaching certain PowerPoint files on a Confluence page and publishing it, the preview keeps loading indefinitely and eventually shows the error "There was a problem converting this attachment".
Environment
Confluence Server or Data Center
Diagnosis
- While the preview fails, the file can be downloaded successfully.
The following error is seen in the application logs:
atlassian-confluence.log2020-08-22 12:20:41,807 ERROR [DefaultSlideCacheManager:thread-1] [com.benryan.conversion.AbstractSlideConversionTask] call problem while converting test.pptx -- referer: https://example.site.com/display/AA/Test+Page | url: /plugins/servlet/pptslide | traceId: d153768c7837eeb8 | userName: user1 java.lang.IllegalArgumentException: image == null!
Cause
The preview is timing out for certain PowerPoint files as Confluence is not able to perform the document conversion within the default configured time of 30 seconds.
Solution
- Shutdown Confluence
Add the following properties to
<Confluence-Install>/bin/setenv.sh
(when using Linux) orsetenv.bat
(when using .bat file in Windows):Data Center has separate Sandbox processes to do conversions. We need to use
conversion.sandbox.java.options
(Recognized System Properties) to pass the required parameters to external processes. For further information kindly review the Document conversion for Confluence Data Center KB article.setenv.shCATALINA_OPTS="-Dconversion.sandbox.java.options=-Dconfluence.document.conversion.slides.convert.timeout=120,-Dconfluence.document.conversion.imaging.convert.timeout=120 ${CATALINA_OPTS}"
setenv.batset CATALINA_OPTS=-Dconversion.sandbox.java.options=-Dconfluence.document.conversion.slides.convert.timeout=120,-Dconfluence.document.conversion.imaging.convert.timeout=120 %CATALINA_OPTS%
To ensure each Sandbox system property is recognized correctly, please separate them with commas.
setenv.shCATALINA_OPTS="-Dconfluence.document.conversion.threads=3 ${CATALINA_OPTS}" CATALINA_OPTS="-Dconfluence.document.conversion.slides.convert.timeout=120 ${CATALINA_OPTS}" CATALINA_OPTS="-Dconfluence.document.conversion.imaging.convert.timeout=120 ${CATALINA_OPTS}"
setenv.batset CATALINA_OPTS=-Dconfluence.document.conversion.threads=3 %CATALINA_OPTS% set CATALINA_OPTS=-Dconfluence.document.conversion.slides.convert.timeout=120 %CATALINA_OPTS% set CATALINA_OPTS=-Dconfluence.document.conversion.imaging.convert.timeout=120 %CATALINA_OPTS%
In case you are running Confluence as service in Windows, refer to Configuring System Properties (under Windows service)
- Delete the contents from inside the folder <Confluence-Home>/viewfile/
- For Data Center instances, also delete the contents inside:
<Confluence-Home>/shared-home/dcl-document/
<Confluence-Home>/shared-home/dcl-document_hd/
- Clear Confluence plugins cache
- Startup Confluence