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

HTTP request for checkArtifacts hangs Hudson for a long time on large workarea

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Critical
    • Resolution: Duplicate
    • Component/s: ant-plugin, core
    • Labels:
      None
    • Environment:
      Windows
    • Similar Issues:

      Description

      Our work areas contain huge build environments (>40G) each. Hudson becomes excessively slow after configuration operations, when the configuration contains artifact publishers. The artifact paths do contain wildcards like "dir*ectory/smthng/*/" but the resulting artifact fileset is actually very small. It seems as if the configuration makes some artifact path checks 1) over the whole workarea, using 2) slow methods.

      All other operations (builds & checkouts etc.) become also slow for the duration. Repeating the configuration operations / stop/reload on GUI seems to produce more GET operations s left on the same checkArtifacts scanning, and Hudson becomes unusable.

      A similar issue was mentioned here: http://hudson.361315.n4.nabble.com/Want-to-disable-file-mask-validation-150k-files-tt2256867.html#a2256867.

      Here is the relevant dump of one such thread:

      "Handling GET /job/jobname/descriptorByName/hudson.tasks.ArtifactArchiver/checkArtifacts : RequestHandlerThread4"
      daemon prio=6 tid=0x4c421c00 nid=0x1394 runnable [0x4ec7e000]
      java.lang.Thread.State: RUNNABLE
      at org.apache.tools.ant.util.VectorSet.doAdd(VectorSet.java:64)

      • locked <0x2d266708> (a org.apache.tools.ant.util.VectorSet)
        at org.apache.tools.ant.util.VectorSet.add(VectorSet.java:45)
      • locked <0x2d266708> (a org.apache.tools.ant.util.VectorSet)
        at org.apache.tools.ant.DirectoryScanner.processIncluded(DirectoryScanner.java:1322)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedFile(DirectoryScanner.java:1280)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1233)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.accountForIncludedDir(DirectoryScanner.java:1305)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1253)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1184)
        at org.apache.tools.ant.DirectoryScanner.scandir(DirectoryScanner.java:1146)
        at org.apache.tools.ant.DirectoryScanner.checkIncludePatterns(DirectoryScanner.java:928)
        at org.apache.tools.ant.DirectoryScanner.scan(DirectoryScanner.java:882)
      • locked <0x2d264738> (a org.apache.tools.ant.DirectoryScanner)
        at org.apache.tools.ant.types.AbstractFileSet.getDirectoryScanner(AbstractFileSet.java:490)
        at hudson.FilePath$34.hasMatch(FilePath.java:1715)
        at hudson.FilePath$34.invoke(FilePath.java:1648)
        at hudson.FilePath$34.invoke(FilePath.java:1615)
        at hudson.FilePath.act(FilePath.java:753)
        at hudson.FilePath.act(FilePath.java:735)
        at hudson.FilePath.validateAntFileMask(FilePath.java:1615)
        at hudson.FilePath.validateFileMask(FilePath.java:1765)
        at hudson.FilePath.validateFileMask(FilePath.java:1745)
        at hudson.FilePath.validateFileMask(FilePath.java:1738)
        at hudson.tasks.ArtifactArchiver$DescriptorImpl.doCheckArtifacts(ArtifactArchiver.java:197)
        at sun.reflect.GeneratedMethodAccessor815.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:259)
        at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:126)
        at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:65)
        at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:79)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
        at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
        at org.kohsuke.stapler.MetaClass$7.doDispatch(MetaClass.java:219)
        at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:30)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:537)
        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:453)
        at org.kohsuke.stapler.Stapler.service(Stapler.java:135)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:45)
        at winstone.ServletConfiguration.execute(ServletConfiguration.java:249)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:335)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:378)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:94)
        at net.bull.javamelody.MonitoringFilter.doFilter(MonitoringFilter.java:420)
        at org.jvnet.hudson.plugins.monitoring.HudsonMonitoringFilter.doFilter(HudsonMonitoringFilter.java:43)
        at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:97)
        at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:86)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:47)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
        at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:166)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
        at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
        at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
        at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
        at winstone.FilterConfiguration.execute(FilterConfiguration.java:195)
        at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:368)
        at winstone.RequestDispatcher.forward(RequestDispatcher.java:333)
        at winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:244)
        at winstone.RequestHandlerThread.run(RequestHandlerThread.java:150)
        at java.lang.Thread.run(Thread.java:619)

        Attachments

          Issue Links

            Activity

            Hide
            evernat evernat added a comment -

            duplicate of the issue JENKINS-7214 which is fixed in Jenkins v1.484

            Show
            evernat evernat added a comment - duplicate of the issue JENKINS-7214 which is fixed in Jenkins v1.484

              People

              • Assignee:
                Unassigned
                Reporter:
                pendix2 pendix2
              • Votes:
                1 Vote for this issue
                Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: