Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-46642

Logs can grow without bound when using ansiColor plugin

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      This issue is the same issue than JENKINS-40762, but now happening in the ansiColor plugin.

      When a single pipeline step generates a lot of logging all at once, the log on disk might repeat itself.

      This persists between Jenkins restarts and can only be stopped by stopping Jenkins, deleting the $JENKINS_HOME/jobs/[job]/build/[build id] directory, and starting Jenkins again.
      STR:

      1. Create a new pipeline job with the following pipeline script definition:

      ansiColor('xterm') {
          node ("linux-slave") { 
              sh ''' 
                  export i=1; 
                  while [ "$i" -lt "50000" ]; 
                  do 
                      i=$((i+1)); 
                      echo "$i: this is test line content.this is test line content.this is test line content.this is test line content." 
                  done 
              ''' 
          } 
      }
      

      2. Run the job.

      Expected result:
      Job terminates eventually.
      There are around 200.000 lines in the log files

      Actual result:
      Job does not terminate, or terminate with much more than 200.000 lines duplicating some od the consoleoutput logs

      Note: To reproduce this issue, I would recommend using a dedicated agent instead of directly using the master agent.

        Attachments

          Issue Links

            Activity

            Hide
            fbelzunc Félix Belzunce Arcos added a comment -

            I start thinking that the fix in https://github.com/jenkinsci/timestamper-plugin/pull/20/files is not right one and the problem is not at plugin level, but at core level. I am not sure why eol is called twice on some lines when using agents, no master node.

            Show
            fbelzunc Félix Belzunce Arcos added a comment - I start thinking that the fix in https://github.com/jenkinsci/timestamper-plugin/pull/20/files is not right one and the problem is not at plugin level, but at core level. I am not sure why eol is called twice on some lines when using agents, no master node.
            Hide
            recampbell Ryan Campbell added a comment -

            Jesse: Looks like a bug in worflow-job-plugin and would likely be fixed implicilty by JENKINS-38381 ;-P

            Show
            recampbell Ryan Campbell added a comment - Jesse: Looks like a bug in worflow-job-plugin and would likely be fixed implicilty by JENKINS-38381 ;-P
            Hide
            jglick Jesse Glick added a comment -

            Or might be a dupe of JENKINS-37575, not sure offhand.

            Show
            jglick Jesse Glick added a comment - Or might be a dupe of  JENKINS-37575 , not sure offhand.
            Hide
            dnusbaum Devin Nusbaum added a comment -

            I spent some time today trying to reproduce this issue with the latest Pipeline plugins (notably durable-task 1.25 which has the JENKINS-37575 fix) and was unable to do so. For now I am closing as a duplicate of JENKINS-37575, but if anyone is able to reproduce with durable-task 1.23 or newer, feel free to reopen the issue.

            Show
            dnusbaum Devin Nusbaum added a comment - I spent some time today trying to reproduce this issue with the latest Pipeline plugins (notably durable-task 1.25 which has the JENKINS-37575 fix) and was unable to do so. For now I am closing as a duplicate of JENKINS-37575 , but if anyone is able to reproduce with durable-task 1.23 or newer, feel free to reopen the issue.

              People

              • Assignee:
                fbelzunc Félix Belzunce Arcos
                Reporter:
                fbelzunc Félix Belzunce Arcos
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: