ExportXMLWordPrintable

    • Type: Bug
    • Resolution: Won't Do
    • Priority: Major
    • Component/s: maven-plugin
    • None
    • Environment:
       jenkins 2.556
      Blue ocean 1.27.19

      There's a problem yesterday where an user ran a job that the console log is over 6.4G.Ā  He used blueocean to view test result, and happened to hit the Download Log button, and it failed to download.

      However, it had huge memory allocations, and since the allocation is still needed, so it cannot be collected, and used up all 16G of what we set to the JVM.

      From what we saw in a heapdump we took, the thread that is doing the allocationĀ 

      GET /blue/rest/organizations/jenkins/pipelines...../457/nodes/71/log

      So this call is pulling the log, but for some reason however, it's this stack the allocates quite a bit of memory (11G in total)

      at org.kohsuke.stapler.framework.io.CharSpool.renew()V (CharSpool.java:63)
        at org.kohsuke.stapler.framework.io.CharSpool.write([CII)V (CharSpool.java:50)
        at org.kohsuke.stapler.framework.io.WriterOutputStream.flushOutput()V (WriterOutputStream.java:90)
        at org.kohsuke.stapler.framework.io.WriterOutputStream.decode(Z)V (WriterOutputStream.java:125)
        at org.kohsuke.stapler.framework.io.WriterOutputStream.write([BII)V (WriterOutputStream.java:73)
        at hudson.console.PlainTextConsoleOutputStream.eol([BI)V (PlainTextConsoleOutputStream.java:86)
        at hudson.console.LineTransformationOutputStream.eol()V (LineTransformationOutputStream.java:69)
        at hudson.console.LineTransformationOutputStream.write(I)V (LineTransformationOutputStream.java:62)
        at hudson.console.LineTransformationOutputStream.write([BII)V (LineTransformationOutputStream.java:84)
        at org.apache.commons.io.output.ProxyOutputStream.write([BII)V (ProxyOutputStream.java:217)
        at org.kohsuke.stapler.framework.io.LargeText.writeLogUncounted(JLjava/io/OutputStream;)V (LargeText.java:292)
        at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(JLjava/io/OutputStream;)J (LargeText.java:264)
        at hudson.console.AnnotatedLargeText.writeLogTo(JLjava/io/OutputStream;)J (AnnotatedLargeText.java:230)
        at org.kohsuke.stapler.framework.io.LargeText.writeLogTo(JLjava/io/Writer;)J (LargeText.java:247)
        at hudson.console.AnnotatedLargeText.writeLogTo(JLjava/io/Writer;)J (AnnotatedLargeText.java:215)
        at io.jenkins.blueocean.rest.impl.pipeline.NodeLogResource.doIndex(Lorg/kohsuke/stapler/StaplerRequest2 

      Does anyone hit into the similar pattern before? Is there a way that we can disable the log download feature?Ā 

            Assignee:
            Unassigned
            Reporter:
            Henry Chiang
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: