• Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • core
    • Jenkins 2.263.2
      Custom Job Icon plugin 0.2
      Simple Theme Plugin 0.6
      Ubuntu 14.04.5 LTS
      Google Chrome 87.0.4280.141
    • 2.276 and 2.263.3

      Since upgrading to jenkins 2.263.2, we are experiencing file descriptor leaks with images used by Simple Theme Plugin and Custom Job Icon Plugin.

       

      Every time a page on the web ui containing locally hosted images is refreshed, a file descriptor is opened (and never closed). 

      The following leaked file descriptors were obtained by refreshing over and over the Jenkins system configuration page on Chrome web browser:

       
      jenkins@XXXXX:~$  ls -ltra /proc/14876/fd | grep customIcon
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:06 1152 -> /var/lib/jenkins/userContent/customIcon/beaker-512.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:06 1240 -> /var/lib/jenkins/userContent/customIcon/559b2f19c5a40e547b1c1a3263bebf5fe96cc9e9.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:07 1149 -> /var/lib/jenkins/userContent/customIcon/559b2f19c5a40e547b1c1a3263bebf5fe96cc9e9.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:08 1243 -> /var/lib/jenkins/userContent/customIcon/f2b33c9067724d14263126252fbf1246e070a3d6.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:10 1253 -> /var/lib/jenkins/userContent/customIcon/beaker-512.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1247 -> /var/lib/jenkins/userContent/customIcon/559b2f19c5a40e547b1c1a3263bebf5fe96cc9e9.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1254 -> /var/lib/jenkins/userContent/customIcon/f2b33c9067724d14263126252fbf1246e070a3d6.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1252 -> /var/lib/jenkins/userContent/customIcon/f55de89dd0b4f93588e14dd56903fc206c85f08d.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1251 -> /var/lib/jenkins/userContent/customIcon/f2b33c9067724d14263126252fbf1246e070a3d6.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1250 -> /var/lib/jenkins/userContent/customIcon/beaker-512.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1249 -> /var/lib/jenkins/userContent/customIcon/559b2f19c5a40e547b1c1a3263bebf5fe96cc9e9.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1248 -> /var/lib/jenkins/userContent/customIcon/559b2f19c5a40e547b1c1a3263bebf5fe96cc9e9.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:13 1255 -> /var/lib/jenkins/userContent/customIcon/f55de89dd0b4f93588e14dd56903fc206c85f08d.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:14 1256 -> /var/lib/jenkins/userContent/customIcon/beaker-512.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:15 1242 -> /var/lib/jenkins/userContent/customIcon/559b2f19c5a40e547b1c1a3263bebf5fe96cc9e9.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:16 1260 -> /var/lib/jenkins/userContent/customIcon/beaker-512.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:16 1259 -> /var/lib/jenkins/userContent/customIcon/beaker-512.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:16 1258 -> /var/lib/jenkins/userContent/customIcon/f55de89dd0b4f93588e14dd56903fc206c85f08d.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:16 1257 -> /var/lib/jenkins/userContent/customIcon/f2b33c9067724d14263126252fbf1246e070a3d6.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:17 1263 -> /var/lib/jenkins/userContent/customIcon/f55de89dd0b4f93588e14dd56903fc206c85f08d.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:17 1262 -> /var/lib/jenkins/userContent/customIcon/f2b33c9067724d14263126252fbf1246e070a3d6.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:17 1261 -> /var/lib/jenkins/userContent/customIcon/f55de89dd0b4f93588e14dd56903fc206c85f08d.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:18 1268 -> /var/lib/jenkins/userContent/customIcon/f2b33c9067724d14263126252fbf1246e070a3d6.png
       lr-x------ 1 jenkins jenkins 64 Jan 14 21:18 1269 -> /var/lib/jenkins/userContent/customIcon/f55de89dd0b4f93588e14dd56903fc206c85f08d.png
      

       

       

      The same thing happens on other jenkins web pages, with all images contained in a custom CSS used by the Simple Theme Plugin.

       

      Downgrading to Jenkins 2.263.1 solves the problem.

      Reinstalling Jenkins 2.263.2 brings the problem back.

       

          [JENKINS-64632] Jenkins controller leaks file descriptors

          Wadeck Follonier added a comment - - edited

          After some testing, I can confirm tgr comment. The simple-theme-plugin is not impacted. We can leverage simple-theme-plugin to use the customIcon (like as a favicon), but the handle leak is coming from the customIcon (due to Core or not, dunno yet).

          So we can exclude simple-theme-plugin from this ticket.

          Easy reproduction step:

          • Install custom job icon
          • Inside global configuration, configure 1-2 custom icons
          • Create a job
          • Refresh the job configuration page, each time, you will get 1-2 new handles

          You can check them by using the command provided in the description.

          Tested with 2.275, will test now with 2.274

          Wadeck Follonier added a comment - - edited After some testing, I can confirm tgr comment. The simple-theme-plugin is not impacted. We can leverage simple-theme-plugin to use the customIcon (like as a favicon), but the handle leak is coming from the customIcon (due to Core or not, dunno yet). So we can exclude simple-theme-plugin from this ticket. Easy reproduction step: Install custom job icon Inside global configuration, configure 1-2 custom icons Create a job Refresh the job configuration page, each time, you will get 1-2 new handles You can check them by using the command provided in the description. Tested with 2.275 , will test now with 2.274

          With 2.274, no handle leak. As custom icon job is storing the icons inside the userContent, which is served by DirectoryBrowserSupport (was impacted by SEC-1452), it will be the next analysis area.

          Any file retrieved from DBS leaks the handle since the security release.

          Wadeck Follonier added a comment - With 2.274, no handle leak. As custom icon job is storing the icons inside the userContent, which is served by DirectoryBrowserSupport (was impacted by SEC-1452), it will be the next analysis area. Any file retrieved from DBS leaks the handle since the security release.

          Problem detected, corrected locally, currently passing some manual tests and then a PR will be proposed soon

          Wadeck Follonier added a comment - Problem detected, corrected locally, currently passing some manual tests and then a PR will be proposed soon

          PR proposed: https://github.com/jenkinsci/jenkins/pull/5188

          mhtouchette You can check if it resolves your problem

          (Thanks for the report, was really useful!)

          Wadeck Follonier added a comment - PR proposed: https://github.com/jenkinsci/jenkins/pull/5188 mhtouchette You can check if it resolves your problem (Thanks for the report, was really useful!)

          Good to know a fix is on the way, thank you! 

          I'll let you know once this is in the LTS release, as we don't have a staging environment for our jenkins server (shame), and I've read in the documentation that transitioning back from Weekly to LTS may be risky, when going to a lower LTS version.

          Marie-Helene Touchette added a comment - Good to know a fix is on the way, thank you!  I'll let you know once this is in the LTS release, as we don't have a staging environment for our jenkins server ( shame ), and I've read in the documentation that transitioning back from Weekly to LTS may be risky, when going to a lower LTS version.

          Tim Jacomb added a comment - - edited

          Sure we plan to release it next week assuming no blockers pop up

          Tim Jacomb added a comment - - edited Sure we plan to release it next week assuming no blockers pop up

          I get the following warning in the Jenkins 2.263.2 log when I download an artifact from zip compressed storage (instead of downloading whole folder as a zip, which would fail because of JENKINS-64655). I think the warning is caused by this issue and is covered by the fix that was already backported.

          tammikuuta 25, 2021 3:03:30 IP. WARNING org.jenkinsci.plugins.compress_artifacts.ZipStorage$EntryInputStream finalize
          
          InputStream created by ZipStorage#open() not closed properly
          java.lang.Exception: Opened by:
          	at org.jenkinsci.plugins.compress_artifacts.ZipStorage$EntryInputStream.<init>(ZipStorage.java:293)
          	at org.jenkinsci.plugins.compress_artifacts.ZipStorage$EntryInputStream.<init>(ZipStorage.java:288)
          	at org.jenkinsci.plugins.compress_artifacts.ZipStorage.open(ZipStorage.java:285)
          	at jenkins.util.VirtualFile.open(VirtualFile.java:400)
          	at hudson.model.DirectoryBrowserSupport.serveFile(DirectoryBrowserSupport.java:351)
          	at hudson.model.DirectoryBrowserSupport.generateResponse(DirectoryBrowserSupport.java:156)
          	at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)
          	at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)
          	at org.kohsuke.stapler.Function.renderResponse(Function.java:164)
          	at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:147)
          	at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
          	at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:220)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
          	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
          	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
          	at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281)
          	at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58)
          	at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898)
          	at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694)
          	at org.kohsuke.stapler.Stapler.service(Stapler.java:240)
          	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
          	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
          	at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1633)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154)
          	at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
          	at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
          	at com.atlassian.bitbucket.jenkins.internal.applink.oauth.serviceprovider.auth.OAuth1aRequestFilter.doFilter(OAuth1aRequestFilter.java:114)
          	at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151)
          	at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157)
          	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
          	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
          	at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:159)
          	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
          	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
          	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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119)
          	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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)
          	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:67)
          	at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
          	at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90)
          	at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171)
          	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
          	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
          	at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51)
          	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
          	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
          	at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82)
          	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
          	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
          	at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)
          	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
          	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
          	at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36)
          	at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193)
          	at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609)
          	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:561)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
          	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578)
          	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
          	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
          	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612)
          	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
          	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434)
          	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
          	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501)
          	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582)
          	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
          	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349)
          	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
          	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
          	at org.eclipse.jetty.server.Server.handle(Server.java:516)
          	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
          	at org.eclipse.jetty.server.HttpChannel$$Lambda$96/000000000000000000.dispatch(Unknown Source)
          	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
          	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
          	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273)
          	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
          	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
          	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
          	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
          	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
          	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
          	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
          	at java.lang.Thread.run(Thread.java:823)
          

          Kalle Niemitalo added a comment - I get the following warning in the Jenkins 2.263.2 log when I download an artifact from zip compressed storage (instead of downloading whole folder as a zip, which would fail because of JENKINS-64655 ). I think the warning is caused by this issue and is covered by the fix that was already backported. tammikuuta 25, 2021 3:03:30 IP. WARNING org.jenkinsci.plugins.compress_artifacts.ZipStorage$EntryInputStream finalize InputStream created by ZipStorage#open() not closed properly java.lang.Exception: Opened by: at org.jenkinsci.plugins.compress_artifacts.ZipStorage$EntryInputStream.<init>(ZipStorage.java:293) at org.jenkinsci.plugins.compress_artifacts.ZipStorage$EntryInputStream.<init>(ZipStorage.java:288) at org.jenkinsci.plugins.compress_artifacts.ZipStorage.open(ZipStorage.java:285) at jenkins.util.VirtualFile.open(VirtualFile.java:400) at hudson.model.DirectoryBrowserSupport.serveFile(DirectoryBrowserSupport.java:351) at hudson.model.DirectoryBrowserSupport.generateResponse(DirectoryBrowserSupport.java:156) at org.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124) at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69) at org.kohsuke.stapler.Function.renderResponse(Function.java:164) at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:147) at org.kohsuke.stapler.MetaClass$11.doDispatch(MetaClass.java:536) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$2.doDispatch(MetaClass.java:220) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.MetaClass$4.doDispatch(MetaClass.java:281) at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:58) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:766) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:898) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:694) at org.kohsuke.stapler.Stapler.service(Stapler.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763) at org.eclipse.jetty.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1633) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:154) at jenkins.telemetry.impl.UserLanguages$AcceptLanguageFilter.doFilter(UserLanguages.java:129) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at jenkins.security.ResourceDomainFilter.doFilter(ResourceDomainFilter.java:76) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at com.atlassian.bitbucket.jenkins.internal.applink.oauth.serviceprovider.auth.OAuth1aRequestFilter.doFilter(OAuth1aRequestFilter.java:114) at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:151) at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:157) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609) at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:159) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609) 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 jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) 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 jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93) 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:67) at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87) at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:90) at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:171) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609) at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:51) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609) at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:82) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609) at org.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609) at jenkins.security.SuspiciousRequestFilter.doFilter(SuspiciousRequestFilter.java:36) at org.eclipse.jetty.servlet.FilterHolder.doFilter(FilterHolder.java:193) at org.eclipse.jetty.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1609) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:561) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:578) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1612) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1434) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:501) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1582) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1349) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127) at org.eclipse.jetty.server.Server.handle(Server.java:516) at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383) at org.eclipse.jetty.server.HttpChannel$$Lambda$96/000000000000000000.dispatch(Unknown Source) at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:273) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105) at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905) at java.lang.Thread.run(Thread.java:823)

          Thanx for reporting + fixing this issue so soon
          Had the effect of leaked open files for just any download of build results, did some load+reload of a testresult.txt in a web browser and for each request there was again a new entry in lsof result -
          would a testcase just doing 10. or 50.000 of (the same) build result downloads simulating lots of accesses have helped here?

          Merten Schumann added a comment - Thanx for reporting + fixing this issue so soon Had the effect of leaked open files for just any download of build results, did some load+reload of a testresult.txt in a web browser and for each request there was again a new entry in lsof result - would a testcase just doing 10. or 50.000 of (the same) build result downloads simulating lots of accesses have helped here?

          wfollonier All good now.  Thanks a lot! 

          Marie-Helene Touchette added a comment - wfollonier  All good now.  Thanks a lot! 

          mhtouchette Thanks for the feedback, really appreciated

          Wadeck Follonier added a comment - mhtouchette Thanks for the feedback, really appreciated

            wfollonier Wadeck Follonier
            mhtouchette Marie-Helene Touchette
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: