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

"Content by label" with Rich Content prevents page loading

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Medium Medium
    • None
    • 6.4.2, 6.6.7
    • None

      Summary

      A page with the "Content by label" macro, combined with an Excerpt Display option of "Rich content" will prevent a page from loading given enough pages with the label. Rather than the stack overflow seen in CONFSERVER-40154 the browser displays a blank page whilst it tries to load.

      Environment

      Confirmed in Confluence 6.4.2 and 6.6.7
      Content by Label macro with Excerpt Display set to Rich Content

      Steps to Reproduce

      • Create a page (Test Parent Page for example) that contains the Content by Label macro. Click edit and set "Excerpt Display" to Rich Content. Add a label to this page e.g. "test"
      • Create child pages that all contain the Content by Label macro with the rich content option set and the test label (In testing, performance starts to noticeably decrease with 4 child pages. The more pages you add in this configuration the longer the loading takes)
      • Attempt to load any of the pages

      Expected Results

      Page renders in a reasonable amount of time or an error is logged/displayed

      Actual Results

      Nothing logged whilst page is being loaded, however, if you keep your page count low whilst still triggering the issue, you get a stack like this just before the load eventually completes. If you have too many pages, you may never see the stack as it seems to indicate the page is about to display:

      WARNING [ContainerBackgroundProcessor[StandardEngine[Standalone]]] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected Thread "http-nio-6670-exec-2" (id=183) has been active for 69,487 milliseconds (since 9/25/18 8:21 AM) to serve the same request for http://<URL>/Test+Parent+Page and may be stuck (configured threshold for this StuckThreadDetectionValve is 60 seconds). There is/are 1 thread(s) in total that are monitored by this Valve and may be stuck.
       java.lang.Throwable
              at java.util.HashMap.putVal(HashMap.java:631)
              at java.util.HashMap.putMapEntries(HashMap.java:515)
              at java.util.HashMap.<init>(HashMap.java:490)
              at org.apache.batik.svggen.SVGGraphicContext.computeContext(SVGGraphicContext.java:123)
              at org.apache.batik.svggen.SVGGraphicContext.<init>(SVGGraphicContext.java:87)
              at org.apache.batik.svggen.DOMGroupManager.processDeltaGC(DOMGroupManager.java:302)
              at org.apache.batik.svggen.DOMGroupManager.addElement(DOMGroupManager.java:141)
              at com.atlassian.plugins.roadmap.renderer.ConfluenceSVGGraphics2D$DOMGroupManagerEx.addElement(ConfluenceSVGGraphics2D.java:137)
              at org.apache.batik.svggen.DOMGroupManager.addElement(DOMGroupManager.java:212)
              at com.atlassian.plugins.roadmap.renderer.ConfluenceSVGGraphics2D$DOMGroupManagerEx.addElement(ConfluenceSVGGraphics2D.java:137)
              at org.apache.batik.svggen.SVGGraphics2D.fill(SVGGraphics2D.java:1383)
      ....
      

              Unassigned Unassigned
              cjeggo Chris Jeggo (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated: