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

infinite wait blocks the test report from loading

XMLWordPrintable

      I have been unable to load test results for a particular job.

      Looking a

      at the stack trace I see all requests to load the testSummary are blocked on a single thread that is performing the following

      Handling GET /xxxx/34/testReport/ from a.b.c.d : Jetty (winstone)-7264942 TestResult/index.jelly MetaTabulatedResult/body.jelly
      sun.misc.Unsafe.park(Native Method)
      java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1707)
      java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
      java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1742)
      java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
      io.atlassian.util.concurrent.Promises$OfStage.claim(Promises.java:280)
      com.atlassian.jira.rest.client.internal.async.DelegatingPromise.claim(DelegatingPromise.java:43)
      org.jenkinsci.plugins.JiraTestResultReporter.JiraTestAction.<init>(JiraTestAction.java:111)
      org.jenkinsci.plugins.JiraTestResultReporter.JiraTestData.getTestAction(JiraTestData.java:59)
      hudson.tasks.junit.TestResultAction.getActions(TestResultAction.java:252)
      hudson.tasks.test.TestObject.getTestActions(TestObject.java:255)
      sun.reflect.GeneratedMethodAccessor3365.invoke(Unknown Source)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      java.lang.reflect.Method.invoke(Method.java:498) 

      It seems like there is an infinite wait here as even after 30 minutes that thread is still waiting.

      (other blocked threads have stack traces like)

      Handling GET /xxx/34/testReport/ from a.b.c.d: Jetty (winstone)-7264943 TestResult/index.jelly MetaTabulatedResult/body.jelly
      hudson.tasks.junit.TestResultAction.getActions(TestResultAction.java:250)
      hudson.tasks.test.TestObject.getTestActions(TestObject.java:255)
      sun.reflect.GeneratedMethodAccessor3365.invoke(Unknown Source)
      sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      java.lang.reflect.Method.invoke(Method.java:498)
      org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125) 

      where line 250 is synchronized on the testData 

      https://github.com/jenkinsci/junit-plugin/blob/2c952bb9c53d87edef0210e2343356295d5e71e7/src/main/java/hudson/tasks/junit/TestResultAction.java#L250

            imontero Ildefonso Montero
            teilo James Nord
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: