Proc.executor inherits ContextClassLoader dynamically

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

    • Jenkins 2.181

      The threads in the thread pool used for Proc.joinWithTimeout inherit their context class loader from the thread that calls Proc.joinWithTimeout, which seems undesirable. While looking into JENKINS-50223, I found a case where one of the threads in the thread pool was holding onto a CleanGroovyClassLoader class loader from workflow-cps (see the attached screenshot), which is definitely undesirable.

      We should wrap this thread pool in ClassLoaderSanityThreadFactory to prevent this kind of issue from happening.

            Assignee:
            Devin Nusbaum
            Reporter:
            Devin Nusbaum
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: