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

Hangs of executors

XMLWordPrintable

      From time to time - about 2 or 3 free weeks - we're facing strange issue.
      In our Jenkins instance with about 100 agents all executors starting to hangs.
      In GUI it shows that executor is busy with build that is already finished.
      If we try to stop this build it asks about "null" build.

      From script console, something like this will return "null", while normally it return build name.

      computer.getAllExecutors().each { e ->
         println(e.getCurrentExecutable().getParent().run())
      } 

      There's no any usable information in logs.
      Only restart jenkins instance helps.

       

      Most of our agents are permanent, launched via SSH, but we are also using Docker Swarm (via docker-swarm:1.11 plugin).

      Last version problem accour was 2.414.2 - after 2 weeks of usage

      First time we observe it around 2.440, but it's probably not version related.

      We're using only LTS releases.

      We start Jenkins in docker container from official LTS image (currently it's jenkins/jenkins:2.414.2), but with modified entrypoint like

      # Additional Jenkins options
      # -XX:+AlwaysPreTouch - pre-zeroes memory mapped pages on JVM startup
      # -XX:+UseStringDeduplication - looks for the strings with the same contents and deduplicates them
      # -XX:+ParallelRefProcEnabled - enables parallelize reference processing, reducing young and old GC times.
      # -XX:+DisableExplicitGC - disables the system.gc() method called often used by third party plugins to explicitly invoke the garbage collector.
      # -Xms - Allocate min memory pool for operations, garbage collection, etc.
      # -Xmx - Allocate max memory pool for operations, garbage collection, etc.
      # -Djenkins.install.runSetupWizard=false - Skip initial setup wizard. Do not
      #       ask for plugin selection, do not create admin user, do not setup proxy.
      # -Dhudson.slaves.WorkspaceList=_ - use underscore instead @ to create concurrent workspaces
      export JAVA_OPTS="-Xms4096m -Xmx16384m -XX:+AlwaysPreTouch -XX:+UseStringDeduplication -XX:+ParallelRefProcEnabled -XX:+DisableExplicitGC -Djenkins.install.runSetupWizard=false -Dhudson.slaves.WorkspaceList=_"
      export JENKINS_OPTS="--logfile=/var/log/jenkins/jenkins.log --httpPort=-1 --httpsPort=8080 --http2Port=8443 --httpsKeyStore=${JENKINS_HOME}/https/jenkins_ssl.jks --httpsKeyStorePassword=${SSL_CRT_PWD}"# Call the Jenkins entrypoint
      exec /usr/bin/tini -- /usr/local/bin/jenkins.sh 

        1. jenkins.fail.1.PNG
          jenkins.fail.1.PNG
          6 kB
        2. jenkins.fail.2.PNG
          jenkins.fail.2.PNG
          11 kB
        3. plugins.txt
          6 kB

            Unassigned Unassigned
            xjjx Pawel Xj
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated: