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

Jenkins Timer threads could get a bogus classLoader

    XMLWordPrintable

Details

    Description

      The Timer threads are lazily created by its executorService, so if an invocation to the Timer threads is made in a Thread context with a different contextClassloader than the default, the Timer thread will receive this contextClassloader.

      Noted when fixing an analogous error in the Pipeline Timeout utility https://github.com/jenkinsci/workflow-support-plugin/pull/53 jglick – that error caused a Groovy memory leak. 

      Attachments

        Issue Links

          Activity

            svanoort Sam Van Oort created issue -
            svanoort Sam Van Oort made changes -
            Field Original Value New Value
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "PR 3272 (Web Link)" [ 19966 ]
            jglick Jesse Glick made changes -
            Labels robustness
            svanoort Sam Van Oort made changes -
            Remote Link This issue links to "Core PR #3272 (Web Link)" [ 19967 ]
            svanoort Sam Van Oort made changes -
            Remote Link This issue links to "Core PR #3272 (Web Link)" [ 19967 ]

            Code changed in jenkins
            User: Sam Van Oort
            Path:
            core/src/main/java/hudson/util/ClassLoaderSanityThreadFactory.java
            core/src/main/java/jenkins/util/Timer.java
            core/src/test/java/jenkins/util/TimerTest.java
            http://jenkins-ci.org/commit/jenkins/2a6fc653ee7b13adde18515b21f7e6dc1200fa8a
            Log:
            Fix JENKINS-49206 by ensuring Timer threads get standard classloader (#3272)

            • Fix JENKINS-49206 by ensuring Timer threads get standard classloader
            • Refactor to better fit in with existing ThreadFactor utils
            • Fix javadocs
            scm_issue_link SCM/JIRA link daemon added a comment - Code changed in jenkins User: Sam Van Oort Path: core/src/main/java/hudson/util/ClassLoaderSanityThreadFactory.java core/src/main/java/jenkins/util/Timer.java core/src/test/java/jenkins/util/TimerTest.java http://jenkins-ci.org/commit/jenkins/2a6fc653ee7b13adde18515b21f7e6dc1200fa8a Log: Fix JENKINS-49206 by ensuring Timer threads get standard classloader (#3272) Fix JENKINS-49206 by ensuring Timer threads get standard classloader Refactor to better fit in with existing ThreadFactor utils Fix javadocs
            oleg_nenashev Oleg Nenashev added a comment -

            It has been released in Jenkins 2.105, so that it will become available in 2.107.1 LTS

            oleg_nenashev Oleg Nenashev added a comment - It has been released in Jenkins 2.105, so that it will become available in 2.107.1 LTS
            oleg_nenashev Oleg Nenashev made changes -
            Resolution Fixed [ 1 ]
            Status In Review [ 10005 ] Resolved [ 5 ]
            bmarwell Ben M made changes -
            Link This issue causes JENKINS-60979 [ JENKINS-60979 ]

            People

              svanoort Sam Van Oort
              svanoort Sam Van Oort
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: