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

push hook handler hangs timer thread when having network hiccups

XMLWordPrintable

      The java.net.SocketInputStream.socketRead0 hangs due to SO_TIMEOUT is not set, and it affects cron job scheduling which shares Timer thread(s)

      "class com.cloudbees.jenkins.plugins.bitbucket.hooks.PushHookProcessor$1 Wed May 30 10:49:56 PDT 2018 / jenkins.util.Timer [#1]" #41 daemon prio=5 os_prio=0 tid=0x00007f54bc06e000 nid=0x807 runnable [0x00007f54d53c2000]
         java.lang.Thread.State: RUNNABLE
              at java.net.SocketInputStream.socketRead0(Native Method)
              at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
              at java.net.SocketInputStream.read(SocketInputStream.java:170)
              at java.net.SocketInputStream.read(SocketInputStream.java:141)
              at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
              at sun.security.ssl.InputRecord.read(InputRecord.java:503)
              at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
              - locked <0x000000035d40f1f0> (a java.lang.Object)
              at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
              at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
              - locked <0x000000035d4112c0> (a sun.security.ssl.AppInputStream)
              at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)
              at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)
              at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:282)
              at org.apache.http.impl.io.ChunkedInputStream.getChunkSize(ChunkedInputStream.java:264)
              at org.apache.http.impl.io.ChunkedInputStream.nextChunk(ChunkedInputStream.java:225)
              at org.apache.http.impl.io.ChunkedInputStream.read(ChunkedInputStream.java:184)
              at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:135)
              at java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:238)
              at java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)
              at java.util.zip.GZIPInputStream.read(GZIPInputStream.java:117)
              at java.io.FilterInputStream.read(FilterInputStream.java:107)
              at org.apache.http.client.entity.LazyDecompressingInputStream.read(LazyDecompressingInputStream.java:64)
              at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1792)
              at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769)
              at org.apache.commons.io.IOUtils.copy(IOUtils.java:1744)
              at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.getRequest(BitbucketServerAPIClient.java:638)
              at com.cloudbees.jenkins.plugins.bitbucket.server.client.BitbucketServerAPIClient.getRepository(BitbucketServerAPIClient.java:333)
              at com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource.retrieveBranches(BitbucketSCMSource.java:768)
              at com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMSource.retrieve(BitbucketSCMSource.java:586)
              at jenkins.scm.api.SCMSource._retrieve(SCMSource.java:355)
              at jenkins.scm.api.SCMSource.fetch(SCMSource.java:309)
              at jenkins.branch.MultiBranchProject$SCMEventListenerImpl.processHeadCreate(MultiBranchProject.java:1300)
              at jenkins.branch.MultiBranchProject$SCMEventListenerImpl.onSCMHeadEvent(MultiBranchProject.java:1134)
              at jenkins.scm.api.SCMHeadEvent$DispatcherImpl.fire(SCMHeadEvent.java:247)
              at jenkins.scm.api.SCMHeadEvent$DispatcherImpl.fire(SCMHeadEvent.java:230)
              at jenkins.scm.api.SCMEvent$Dispatcher.run(SCMEvent.java:481)
              at jenkins.security.ImpersonatingScheduledExecutorService$1.run(ImpersonatingScheduledExecutorService.java:58)
              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
              at java.util.concurrent.FutureTask.run(FutureTask.java:266)
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
              at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
              at java.lang.Thread.run(Thread.java:745)
      

            Unassigned Unassigned
            fengxx Ted Xiao
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: