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

JiraTestResultReporter - java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • None

      If an exception is thrown from the Jira rest client used by the plugin, Jenkins is providing a java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects based on guava decomission performed in: https://github.com/jenkinsci/JiraTestResultReporter-plugin/pull/21/files

      I reproduced this by creating issues using a testing Jira env based on a Docker image with limited capabilities (no attachment allowed)

      ERROR: Could not connect properly to Jira server. Please review config details
      
      com.atlassian.httpclient.api.ResponseTransformationException: java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
      	at com.atlassian.httpclient.api.DefaultResponseTransformation$DefaultResponseTransformationBuilder.lambda$defaultThrowableHandler$1(DefaultResponseTransformation.java:202)
      	at io.atlassian.util.concurrent.Promises$OfStage.lambda$fold$4(Promises.java:334)
      	at io.atlassian.util.concurrent.Promises.lambda$biFunction$7(Promises.java:422)
      	at java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
      	at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:907)
      	at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
      	at java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
      	at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$1.lambda$doCompleted$0(SettableFuturePromiseHttpPromiseAsyncClient.java:37)
      	at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient.runInContext(SettableFuturePromiseHttpPromiseAsyncClient.java:61)
      	at com.atlassian.httpclient.apache.httpcomponents.SettableFuturePromiseHttpPromiseAsyncClient$ThreadLocalDelegateRunnable.run(SettableFuturePromiseHttpPromiseAsyncClient.java:129)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      Caused by: java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
      	at com.atlassian.jira.rest.client.api.domain.util.ErrorCollection.toString(ErrorCollection.java:70)
      	at com.google.common.collect.SingletonImmutableList.toString(SingletonImmutableList.java:138)
      	at com.atlassian.jira.rest.client.api.RestClientException.<init>(RestClientException.java:62)
      	at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:176)
      	at com.atlassian.jira.rest.client.internal.async.AbstractAsynchronousRestClient$2.apply(AbstractAsynchronousRestClient.java:170)
      	at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:49)
      	at com.atlassian.httpclient.api.ResponsePromiseMapFunction.apply(ResponsePromiseMapFunction.java:10)
      	at io.atlassian.util.concurrent.Promises$OfStage.lambda$fold$4(Promises.java:332)
      	... 11 more
      Caused by: java.lang.ClassNotFoundException: com.google.common.base.MoreObjects
      	at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1417)
      	at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1372)
      	at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1127)
      	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
      	... 19 more
      

      Previous the guava removal the output obtained was:

      RestClientException{statusCode=Optional.of(403), errorCollections=[ErrorCollection{status=403, errors={}, errorMessages=[You do not have permission to create attachments for this issue.]}]}
      	at com.atlassian.jira.rest.client.internal.async.DelegatingPromise.claim(DelegatingPromise.java:45)
      	at org.jenkinsci.plugins.JiraTestResultReporter.JiraUtils.createIssueInput(JiraUtils.java:194)
      	at org.jenkinsci.plugins.JiraTestResultReporter.JiraUtils.createIssue(JiraUtils.java:132)
      	at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher.raiseIssues(JiraTestDataPublisher.java:277)
      	at org.jenkinsci.plugins.JiraTestResultReporter.JiraTestDataPublisher.contributeTestData(JiraTestDataPublisher.java:195)
      	at hudson.tasks.junit.JUnitResultArchiver.parseAndSummarize(JUnitResultArchiver.java:284)
      	at hudson.tasks.junit.pipeline.JUnitResultsStepExecution.run(JUnitResultsStepExecution.java:63)
      	at hudson.tasks.junit.pipeline.JUnitResultsStepExecution.run(JUnitResultsStepExecution.java:29)
      

            catalinluta Catalin Luta
            imontero Ildefonso Montero
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: