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). In case you are running Confluence as service in Windows, refer to Configuring System Properties (under Windows service)The process is different between Data Center and Server installations of Confluence:
Data Center
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.To ensure each Sandbox system property is recognized correctly, please separate them with commas.
setenv.sh - Linux
CATALINA_OPTS="-Dconversion.sandbox.java.options=-Dconfluence.document.conversion.slides.convert.timeout=120,-Dconfluence.document.conversion.imaging.convert.timeout=120 ${CATALINA_OPTS}"
setenv.bat - Windows
set CATALINA_OPTS=-Dconversion.sandbox.java.options=-Dconfluence.document.conversion.slides.convert.timeout=120,-Dconfluence.document.conversion.imaging.convert.timeout=120 %CATALINA_OPTS%
Server
setenv.sh - Linux
CATALINA_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.bat - Windows
set 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%
- 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