-
Bug
-
Resolution: Fixed
-
Low
-
6.10.1, 6.15.9
-
6
-
Severity 2 - Major
-
15
-
Issue Summary
In Confluence Data Center 6.10 and above, the document conversion process should be handled by a "sandbox" - an external process pool that can crash or be timed out without impacting Confluence. However, it appears that some spreadsheets that contain graphs can still be converted the old way, and can become stuck, eventually running cpu up to 100%.
Steps to Reproduce
- Install Confluence Data Center 6.10 or above
- Attach an XLS or XLSX that contains a graph to a page.
Expected Results
When viewing the file in preview mode, Confluence should render the preview using the sandbox.
Actual Results
Confluence will skip the sandbox, and attempt to generate the thumbnail using an HTTP thread, which may become permanently stuck, requiring a re-start. The thread should report as stuck the Tomcat logs:
23-Jan-2020 08:16:24.416 WARNING [Catalina-utility-2] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected Thread [http-nio-0.0.0.0-8090-exec-62] (id=[1760]) has been active for [69,192] milliseconds (since [1/23/20 8:15 AM]) to serve the same request for [https://confluence.example.com/display/ABC123/Test+Page?src=contextnavpagetreemode] and may be stuck (configured threshold for this StuckThreadDetectionValve is [60] seconds). There is/are [2] thread(s) in total that are monitored by this Valve and may be stuck. java.lang.Throwable at sun.java2d.pisces.Renderer.curveBreakIntoLinesAndAdd(Renderer.java:259) at sun.java2d.pisces.Renderer.curveTo(Renderer.java:395) at sun.java2d.pisces.Stroker.emitCurveTo(Stroker.java:487) at sun.java2d.pisces.Stroker.drawRoundCap(Stroker.java:277) at sun.java2d.pisces.Stroker.finish(Stroker.java:441) at sun.java2d.pisces.Stroker.moveTo(Stroker.java:348) at sun.java2d.pisces.Dasher.goTo(Dasher.java:155) at sun.java2d.pisces.Dasher.lineTo(Dasher.java:210) at sun.java2d.pipe.RenderingEngine.feedConsumer(RenderingEngine.java:366) at sun.java2d.pisces.PiscesRenderingEngine.pathTo(PiscesRenderingEngine.java:484) at sun.java2d.pisces.PiscesRenderingEngine.strokeTo(PiscesRenderingEngine.java:363) at sun.java2d.pisces.PiscesRenderingEngine.strokeTo(PiscesRenderingEngine.java:163) at sun.java2d.pisces.PiscesRenderingEngine.getAATileGenerator(PiscesRenderingEngine.java:562) ...
The above thread will never report as completed, even after hours. Thread dumps will show the exact same stack trace as the above, indicating that Confluence is getting stuck during the conversion process.
Workaround
If you already have stuck threads such as the above, the only resolution is to re-start Confluence to release those threads.
To prevent this from happening again, we recommend removing graphs from any XLS documents contained on pages. If you need to review pages to see which have graphs on them, it would be safest to Disable the XLS view file module to prevent any further performance issues while accessing these pages:
-> General configuration -> Manage Apps
- Select System from the drop down menu and search for Office Connector
- Select the Office Connector Plugin and expand. Click the + sign to reveal the underlying modules
- Find the viewxls and viewxls-legacy modules and click Disable
At that point, visit the page noted in the stuck thread error log, and check for any XLSX or XLS files that may contain graphs. Remove the graph, delete the attachment from Confluence, and re-upload the version without graphs.
- relates to
-
CONFSERVER-60132 Office Excel thread hangs if xls file contains formulas
-
- Closed
-
- blocks
-
PSR-434 You do not have permission to view this issue
- Mentioned in
- mentioned in
-
Page Failed to load
-
Page Failed to load
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
A fix for this issue is available to Data Center customers in Confluence 7.4.7
Upgrade now or check out the Release Notes to see what other issues are resolved.
If you're running the Confluence 7.4 Enterprise release, a fix for this issue is now available in Confluence 7.4.7, which you can find in the Download Archives.