Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-21043

Excel Sheets with large row count causes out of memory errors

      I've been able to reproduce this problem easily in Confluence 3.3.

      Steps:

      1. Create an Excel spreadsheet with data in a very high row number (the attached one has data in rows 1, 2, and 65536). This file can actually be quite small (41kb). One of our users actually did this by accident!
      2. Attach spreadsheet to a page
      3. Use the viewxls macro to display the spreadsheet on your page.

      Result: Most of the time, the page won't load - it times out or returns "Page Not Found". Sometimes it WILL load with a "viewxls: java.lang.OutOfMemoryError: Java heap space" error. Java VM Heap free space rapidly plummets (as reported by refreshing the System Info page of Confluence's Admin panel). The entire Confluence instance gets slower. Sometimes the entire Confluence installation stops responding for a little while (eventually it recovered itself).

      sample stack trace
      2010-11-24 11:18:12,051 ERROR [TP-Processor6] [renderer.v2.components.MacroRendererComponent] processMacro Unexpected error formatting macro: viewfile
       -- url: /display/spacekey/pageTitle | page: 34709164 | userName: admin | referer: https://confluenceURL/display/spacekey/pageTitle | action: viewpage
      java.lang.OutOfMemoryError: Java heap space
      	at java.util.Arrays.copyOf(Arrays.java:2882)
      	at java.lang.AbstractStringBuilder.expandCapacity(AbstractStringBuilder.java:100)
      	at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:390)
      	at java.lang.StringBuffer.append(StringBuffer.java:224)
      	at java.io.StringWriter.write(StringWriter.java:84)
      	at com.benryan.conversion.SpreadsheetConverter.writeHeaderStyles(SpreadsheetConverter.java:204)
      	at com.benryan.conversion.SpreadsheetConverter.write(SpreadsheetConverter.java:65)
      	at com.benryan.conversion.SpreadsheetConverter.convert(SpreadsheetConverter.java:395)
      	at com.benryan.conversion.XlsConverter$1.doConversion(XlsConverter.java:42)
      	at com.benryan.conversion.DocConverter.execute(DocConverter.java:59)
      	at com.benryan.conversion.macro.ConverterMacro.execute(ConverterMacro.java:276)
      	at com.atlassian.renderer.v2.macro.ResourceAwareMacroDecorator.execute(ResourceAwareMacroDecorator.java:51)
      	at com.atlassian.renderer.v2.components.MacroRendererComponent.executeMacro(MacroRendererComponent.java:203)
      	at com.atlassian.renderer.v2.components.MacroRendererComponent.processMacro(MacroRendererComponent.java:169)
      	at com.atlassian.renderer.v2.components.MacroRendererComponent.makeMacro(MacroRendererComponent.java:67)
      	at com.atlassian.renderer.v2.components.WikiContentRendererHandler.handleMacro(WikiContentRendererHandler.java:18)
      	at com.atlassian.renderer.v2.WikiMarkupParser.makeMacro(WikiMarkupParser.java:120)
      	at com.atlassian.renderer.v2.WikiMarkupParser.handlePotentialMacro(WikiMarkupParser.java:105)
      	at com.atlassian.renderer.v2.WikiMarkupParser.parse(WikiMarkupParser.java:60)
      	at com.atlassian.renderer.v2.components.MacroRendererComponent.render(MacroRendererComponent.java:46)
      	at com.atlassian.renderer.v2.V2Renderer.render(V2Renderer.java:53)
      	at com.atlassian.renderer.v2.plugin.PluggableV2Renderer.render(PluggableV2Renderer.java:30)
      	at com.atlassian.renderer.v2.V2RendererFacade.convertWikiToXHtml(V2RendererFacade.java:57)
      	at sun.reflect.GeneratedMethodAccessor393.invoke(Unknown Source)
      	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:304)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
      	at com.atlassian.spring.interceptors.SpringProfilingInterceptor.invoke(SpringProfilingInterceptor.java:16)
      	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
      	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
      

            [CONFSERVER-21043] Excel Sheets with large row count causes out of memory errors

            Katherine Yabut made changes -
            Workflow Original: JAC Bug Workflow v3 [ 2877079 ] New: CONFSERVER Bug Workflow v4 [ 2984185 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow v2 [ 2777094 ] New: JAC Bug Workflow v3 [ 2877079 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow [ 2714216 ] New: JAC Bug Workflow v2 [ 2777094 ]
            Owen made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2379943 ] New: JAC Bug Workflow [ 2714216 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 2270809 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2379943 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2216048 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 2270809 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2167509 ] New: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2216048 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 1925762 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2167509 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v3 [ 1727796 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 1925762 ]
            Katherine Yabut made changes -
            Workflow Original: CONF Bug Subtask WF (TEMP) [ 1684152 ] New: Confluence Workflow - Public Facing - Restricted v3 [ 1727796 ]

              slancashire Steve Lancashire (Inactive)
              346167d53d55 Rome Reginelli
              Affected customers:
              16 This affects my team
              Watchers:
              24 Start watching this issue

                Created:
                Updated:
                Resolved: