Uploaded image for project: 'Confluence Server'
  1. Confluence Server
  2. CONFSERVER-45209

PPTX File Conversion Service causes Sustained CPU Spike

    Details

    • Symptom Severity:
      Major
    • UIS:
      80
    • Support reference count:
      18
    • Occurrence Factor:
      10%

      Description

      Summary

      Symptoms:

      • When adding a PPTX files Confluence page the attachment does not render as thumbnail on the page
      • There is also possibility that the CPU usage will be spiking to 100% during the time and if it does
      • The threads are not released until Confluence instance is restarted
      • issue can be replicated by using this file CPU_SPIKE.pptx

       

      Threaddump, cpu usage 

      top - 23:26:08 up 1:21, 5 users, load average: 2.73, 1.69, 1.54 
      Threads: 127 total, 2 running, 125 sleeping, 0 stopped, 0 zombie 
      %Cpu(s): 20.6 us, 3.3 sy, 3.7 ni, 67.4 id, 5.0 wa, 0.0 hi, 0.0 si, 0.0 
      KiB Mem: 16308168 total, 16031976 used, 276192 free, 142336 buffers 
      KiB Swap: 16649212 total, 320 used, 16648892 free. 3376844 cached Mem 
      
      PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 
      30249 doomcha+ 20 0 5146408 1.801g 46464 R 99.9 11.6 0:11.08 java 
      5758 doomcha+ 20 0 5146408 1.801g 46464 R 98.7 11.6 0:11.41 java 
      5765 doomcha+ 20 0 5146408 1.801g 46464 S 13.2 11.6 1:40.21 java
       "conversion-thread-0-internal" #253 daemon prio=1 os_prio=0 tid=0x00007fc6dda7f800 nid=0x7629 runnable [0x00007fc6bd57e000] java.lang.Thread.State: RUNNABLE at sun.java2d.loops.FillPath.FillPath(Native Method) at sun.java2d.pipe.LoopPipe.fill(LoopPipe.java:308) at sun.java2d.pipe.PixelToParallelogramConverter.fill(PixelToParallelogramConverter.java:164) at sun.java2d.SunGraphics2D.fill(SunGraphics2D.java:2527) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.if(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.pf4dd765c.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.pf4dd765c.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.pf4dd765c.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.pf4dd765c.ar.double(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.pf4dd765c.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.c.getTransparency(Unknown Source) at sun.java2d.SunGraphics2D.setPaint(SunGraphics2D.java:1007) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.if(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.do(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.ar.do(Unknown Source) at com.aspose.slides.ms.core.System.Drawing.pf4dd765c.pbdb106a0.pa2137a2a.pa2137a2a.p7cce53cf.m.do(Unknown Source) at com.aspose.slides.ms.core.System.Drawing.pf4dd765c.pbdb106a0.pa2137a2a.pa2137a2a.p7cce53cf.m.do(Unknown Source) at com.aspose.slides.ms.core.System.Drawing.pf4dd765c.pbdb106a0.pa2137a2a.pa2137a2a.pbdb106a0.c.do(Unknown Source) at com.aspose.slides.ms.core.System.Drawing.pf4dd765c.pbdb106a0.c.do(Unknown Source) at com.aspose.slides.ms.core.System.Drawing.pf4dd765c.pbdb106a0.a.do(Unknown Source) at com.aspose.slides.ms.core.System.Drawing.pf4dd765c.pbdb106a0.c.do(Unknown Source) at com.aspose.slides.ms.core.System.Drawing.pf4dd765c.pbdb106a0.c.void(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.pa2137a2a.ak.super(Unknown Source) at com.aspose.slides.ms.pbdb106a0.p6a2feef8.pa2137a2a.ak.<init>(Unknown Source) at com.aspose.slides.p883e881b.am.do(Unknown Source) at com.aspose.slides.ImageCollection.do(Unknown Source) at com.aspose.slides.axd.int(Unknown Source) at com.aspose.slides.axd.do(Unknown Source) at com.aspose.slides.axe.if(Unknown Source) at com.aspose.slides.axe.do(Unknown Source) at com.aspose.slides.Presentation.byte(Unknown Source) at com.aspose.slides.Presentation.new(Unknown Source) at com.aspose.slides.Presentation.int(Unknown Source) at com.aspose.slides.Presentation.<init>(Unknown Source) at com.aspose.slides.Presentation.<init>(Unknown Source) at com.atlassian.plugins.conversion.convert.image.SlidesConverter.loadPresentation(SlidesConverter.java:137) at com.atlassian.plugins.conversion.convert.image.SlidesConverter.generateThumbnailDirect(SlidesConverter.java:105) at com.atlassian.confluence.plugins.conversion.impl.runnable.JVMConversionRunnable.doWork(JVMConversionRunnable.java:69) at com.atlassian.confluence.plugins.conversion.impl.runnable.ConversionRunnable.run(ConversionRunnable.java:38) at com.atlassian.confluence.plugins.conversion.impl.runnable.JVMConversionRunnable.run(JVMConversionRunnable.java:17) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

      Before the pptx file was attached

      before.zip

      After the pptx file was attached 

      after.zip

       

        Attachments

        1. after.zip
          49 kB
        2. before.zip
          44 kB
        3. CPU_SPIKE.pptx
          494 kB

          Issue Links

            Activity

              People

              • Votes:
                16 Vote for this issue
                Watchers:
                31 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Last commented:
                  8 weeks, 6 days ago