• Icon: Bug Bug
    • Resolution: Cannot Reproduce
    • Icon: Minor Minor
    • git-client-plugin
    • None
    • Jenkins 2.33

      I have been using JGit without a problem for a while but all of a sudden my build is failing with the following exception:

      org.eclipse.jgit.errors.TranslationBundleLoadingException: Loading of translation bundle failed for [org.eclipse.jgit.internal.JGitText, en_US]
      	at org.eclipse.jgit.nls.TranslationBundle.load(TranslationBundle.java:168)
      	at org.eclipse.jgit.nls.GlobalBundleCache.lookupBundle(GlobalBundleCache.java:96)
      	at org.eclipse.jgit.nls.NLS.get(NLS.java:132)
      	at org.eclipse.jgit.nls.NLS.getBundleFor(NLS.java:118)
      	at org.eclipse.jgit.internal.JGitText.get(JGitText.java:59)
      	at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:158)
      	at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:227)
      	at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:859)
      	at org.eclipse.jgit.transport.FetchProcess.askForIsComplete(FetchProcess.java:340)
      	at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:160)
      	at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
      	at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1201)
      	at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:128)
      	at org.jenkinsci.plugins.gitclient.JGitAPIImpl$2.execute(JGitAPIImpl.java:606)
      	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
      	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:153)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      	at hudson.remoting.Request$2.run(Request.java:336)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	at java.util.concurrent.FutureTask.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at hudson.remoting.Engine$1$1.run(Engine.java:94)
      	at java.lang.Thread.run(Unknown Source)
      	at ......remote call to JNLP4-connect connection from 192.168.1.1/192.168.1.1:49721(Native Method)
      	at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1537)
      	at hudson.remoting.UserResponse.retrieve(UserRequest.java:253)
      	at hudson.remoting.Channel.call(Channel.java:822)
      	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
      	at sun.reflect.GeneratedMethodAccessor642.invoke(Unknown Source)
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      	at java.lang.reflect.Method.invoke(Unknown Source)
      	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
      	at com.sun.proxy.$Proxy64.execute(Unknown Source)
      	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:801)
      	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1063)
      	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1094)
      	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:109)
      	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:83)
      	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:73)
      	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1$1.call(AbstractSynchronousNonBlockingStepExecution.java:52)
      	at hudson.security.ACL.impersonate(ACL.java:221)
      	at org.jenkinsci.plugins.workflow.steps.AbstractSynchronousNonBlockingStepExecution$1.run(AbstractSynchronousNonBlockingStepExecution.java:49)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
      	at java.util.concurrent.FutureTask.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at java.lang.Thread.run(Unknown Source)
      	Suppressed: org.eclipse.jgit.errors.TranslationBundleLoadingException: Loading of translation bundle failed for [org.eclipse.jgit.internal.JGitText, en_US]
      		at org.eclipse.jgit.nls.TranslationBundle.load(TranslationBundle.java:168)
      		at org.eclipse.jgit.nls.GlobalBundleCache.lookupBundle(GlobalBundleCache.java:96)
      		at org.eclipse.jgit.nls.NLS.get(NLS.java:132)
      		at org.eclipse.jgit.nls.NLS.getBundleFor(NLS.java:118)
      		at org.eclipse.jgit.internal.JGitText.get(JGitText.java:59)
      		at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:158)
      		at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:227)
      		at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:859)
      		at org.eclipse.jgit.transport.FetchProcess.askForIsComplete(FetchProcess.java:340)
      		at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:160)
      		at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
      		at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1201)
      		at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:128)
      		at org.jenkinsci.plugins.gitclient.JGitAPIImpl$2.execute(JGitAPIImpl.java:606)
      		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
      		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
      		at hudson.remoting.UserRequest.perform(UserRequest.java:153)
      		at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      		at hudson.remoting.Request$2.run(Request.java:336)
      		at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      		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)
      		at ......remote call to linux-i386(Native Method)
      		... 23 more
      	Caused by: java.util.MissingResourceException: Can't find bundle for base name org.eclipse.jgit.internal.JGitText, locale en_US
      		at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1564)
      		at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1387)
      		at java.util.ResourceBundle.getBundle(ResourceBundle.java:1082)
      		at org.eclipse.jgit.nls.TranslationBundle.load(TranslationBundle.java:165)
      		at org.eclipse.jgit.nls.GlobalBundleCache.lookupBundle(GlobalBundleCache.java:96)
      		at org.eclipse.jgit.nls.NLS.get(NLS.java:132)
      		at org.eclipse.jgit.nls.NLS.getBundleFor(NLS.java:118)
      		at org.eclipse.jgit.internal.JGitText.get(JGitText.java:59)
      		at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:158)
      		at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:227)
      		at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:859)
      		at org.eclipse.jgit.transport.FetchProcess.askForIsComplete(FetchProcess.java:340)
      		at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:160)
      		at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
      		at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1201)
      		at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:128)
      		at org.jenkinsci.plugins.gitclient.JGitAPIImpl$2.execute(JGitAPIImpl.java:606)
      		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
      		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
      		at hudson.remoting.UserRequest.perform(UserRequest.java:153)
      		at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      		at hudson.remoting.Request$2.run(Request.java:336)
      		at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      		at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      		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)
      	Suppressed: java.lang.InterruptedException
      		at java.lang.Object.wait(Native Method)
      		at hudson.remoting.Request.call(Request.java:147)
      		at hudson.remoting.Channel.call(Channel.java:821)
      		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:145)
      		at sun.reflect.GeneratedMethodAccessor642.invoke(Unknown Source)
      		at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      		at java.lang.reflect.Method.invoke(Unknown Source)
      		at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:131)
      		at com.sun.proxy.$Proxy65.execute(Unknown Source)
      		at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1132)
      		... 11 more
      	Suppressed: java.lang.InterruptedException
      		at java.lang.Object.wait(Native Method)
      		at hudson.remoting.Request.call(Request.java:147)
      		at hudson.remoting.Channel.call(Channel.java:821)
      		... 20 more
      Caused by: java.util.MissingResourceException: Can't find bundle for base name org.eclipse.jgit.internal.JGitText, locale en_US
      	at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)
      	at java.util.ResourceBundle.getBundleImpl(Unknown Source)
      	at java.util.ResourceBundle.getBundle(Unknown Source)
      	at org.eclipse.jgit.nls.TranslationBundle.load(TranslationBundle.java:165)
      	at org.eclipse.jgit.nls.GlobalBundleCache.lookupBundle(GlobalBundleCache.java:96)
      	at org.eclipse.jgit.nls.NLS.get(NLS.java:132)
      	at org.eclipse.jgit.nls.NLS.getBundleFor(NLS.java:118)
      	at org.eclipse.jgit.internal.JGitText.get(JGitText.java:59)
      	at org.eclipse.jgit.internal.storage.file.WindowCursor.open(WindowCursor.java:158)
      	at org.eclipse.jgit.lib.ObjectReader.open(ObjectReader.java:227)
      	at org.eclipse.jgit.revwalk.RevWalk.parseAny(RevWalk.java:859)
      	at org.eclipse.jgit.transport.FetchProcess.askForIsComplete(FetchProcess.java:340)
      	at org.eclipse.jgit.transport.FetchProcess.executeImp(FetchProcess.java:160)
      	at org.eclipse.jgit.transport.FetchProcess.execute(FetchProcess.java:122)
      	at org.eclipse.jgit.transport.Transport.fetch(Transport.java:1201)
      	at org.eclipse.jgit.api.FetchCommand.call(FetchCommand.java:128)
      	at org.jenkinsci.plugins.gitclient.JGitAPIImpl$2.execute(JGitAPIImpl.java:606)
      	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:152)
      	at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$1.call(RemoteGitImpl.java:145)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:153)
      	at hudson.remoting.UserRequest.perform(UserRequest.java:50)
      	at hudson.remoting.Request$2.run(Request.java:336)
      	at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
      	at java.util.concurrent.FutureTask.run(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
      	at hudson.remoting.Engine$1$1.run(Engine.java:94)
      	... 1 more
      

          [JENKINS-40050] JGit fails to find translation bundles

          Mark Waite added a comment - - edited

          I'm not able to duplicate the problem you reported. The steps I took to attempt to duplicate the problem included:

          1. Clone my docker repository (derived from the jenkinsci/docker instance)
            git clone https://github.com/MarkEWaite/docker JENKINS-40050
            cd JENKINS-40050
            
          2. Checkout the branch "weekly-with-plugins" based on lts-with-plugins
            git checkout -b weekly-with-plugins origin/lts-with-plugins
            
          3. Run the script weekly.sh to generate a docker image using Jenkins 2.33 (ignore errors reported by weekly.sh attempt to push to docker central repo)
            ./weekly.sh
            
          4. Run the resulting docker image
            docker run -i --rm --dns 172.16.16.253 --publish 8080:8080 --publish 50000:50000 \
            --volume /home/mwaite/docker-jenkins-home:/var/jenkins_home \
            --volume /var/lib/git/mwaite:/var/lib/git/mwaite \
            --volume /home/mwaite/.m2:/var/jenkins_home/.m2/ \
            --volume /home/mwaite/public_html:/var/jenkins_home/userContent/ \
            --env JAVA_OPTS="-Dorg.jenkinsci.plugins.gitclient.Git.timeOut=11 -Duser.timezone=America/Denver -XX:+UseConcMarkSweepGC" \
            --env JENKINS_HOSTNAME=mark-pc1.markwaite.net \
            --env LANG=en_US.utf8 \
            --env TZ=America/Boise \
            --env DOCKER_FIX=refer-to-docker-issues-14203-for-description \
            -t jenkinsci/jenkins:2.33
            
          5. Inside that docker image, run several different jobs which use JGit, confirm that none of them report any issue with translation bundles
          6. Review the console output, confirm there is no reference to translation bundles in the console output

          I added a JENKINS-40050 branch to my jenkins-bugs repository so that it will be checked each time I run the jenkins-bugs multi-branch pipeline in my Docker instances.

          Mark Waite added a comment - - edited I'm not able to duplicate the problem you reported. The steps I took to attempt to duplicate the problem included: Clone my docker repository (derived from the jenkinsci/docker instance) git clone https: //github.com/MarkEWaite/docker JENKINS-40050 cd JENKINS-40050 Checkout the branch "weekly-with-plugins" based on lts-with-plugins git checkout -b weekly-with-plugins origin/lts-with-plugins Run the script weekly.sh to generate a docker image using Jenkins 2.33 (ignore errors reported by weekly.sh attempt to push to docker central repo) ./weekly.sh Run the resulting docker image docker run -i --rm --dns 172.16.16.253 --publish 8080:8080 --publish 50000:50000 \ --volume /home/mwaite/docker-jenkins-home:/ var /jenkins_home \ --volume / var /lib/git/mwaite:/ var /lib/git/mwaite \ --volume /home/mwaite/.m2:/ var /jenkins_home/.m2/ \ --volume /home/mwaite/public_html:/ var /jenkins_home/userContent/ \ --env JAVA_OPTS= "-Dorg.jenkinsci.plugins.gitclient.Git.timeOut=11 -Duser.timezone=America/Denver -XX:+UseConcMarkSweepGC" \ --env JENKINS_HOSTNAME=mark-pc1.markwaite.net \ --env LANG=en_US.utf8 \ --env TZ=America/Boise \ --env DOCKER_FIX=refer-to-docker-issues-14203- for -description \ -t jenkinsci/jenkins:2.33 Inside that docker image, run several different jobs which use JGit, confirm that none of them report any issue with translation bundles Review the console output, confirm there is no reference to translation bundles in the console output I added a JENKINS-40050 branch to my jenkins-bugs repository so that it will be checked each time I run the jenkins-bugs multi-branch pipeline in my Docker instances.

          cowwoc added a comment -

          markewaite I appreciate the detailed response.

          I have a Jenkins pipeline project that reproduces this error 100% of the time. Unfortunately, I don't have a minimal testcase for you. Is it possible for me to grant you access to my Jenkins instance, in order for you to debug this further? It might help you figure out what sequence of steps are necessary to reproduce this on your end.

          cowwoc added a comment - markewaite I appreciate the detailed response. I have a Jenkins pipeline project that reproduces this error 100% of the time. Unfortunately, I don't have a minimal testcase for you. Is it possible for me to grant you access to my Jenkins instance, in order for you to debug this further? It might help you figure out what sequence of steps are necessary to reproduce this on your end.

          Mark Waite added a comment -

          I appreciate the offer, but I'm unwilling to dedicate the time to connect to your Jenkins instance and do that diagnosis. I need to keep my focus on other issues which are affecting more users (like submodule regressions in git plugin 3.0 and authentication regressions in git plugin 3.0). The steps I provided were relatively simple for me to confirm that there was not a trivial way to show the problem. They also provide me a standard check that will run in all future test setups to confirm that I don't have a trivial way to show the problem.

          Any chance that you're running a different major JDK version on the agent that sees the problem than on other agents? Does the problem "hide itself" if your pipeline job executes on a different agent?

          Mark Waite added a comment - I appreciate the offer, but I'm unwilling to dedicate the time to connect to your Jenkins instance and do that diagnosis. I need to keep my focus on other issues which are affecting more users (like submodule regressions in git plugin 3.0 and authentication regressions in git plugin 3.0). The steps I provided were relatively simple for me to confirm that there was not a trivial way to show the problem. They also provide me a standard check that will run in all future test setups to confirm that I don't have a trivial way to show the problem. Any chance that you're running a different major JDK version on the agent that sees the problem than on other agents? Does the problem "hide itself" if your pipeline job executes on a different agent?

          cowwoc added a comment -

          All agents are running the same JDK version. The problem seems to be specific the environment though because if I blow away the slave VM and restart from a snapshot then I no longer see the error. I ran across this error a few times and every time the machine goes into this "bad state" it will keep on getting the error forever, but I'm not sure how to get it into the bad state in the first place.

          One idea that comes to mind is that maybe the Jenkins master is in the middle of running something on the slaves when I forcibly restart the instance (Windows restart service). Maybe the git plugin thinks the JGit files are fully installed but in fact the package is only partially extracted. Just a thought... I'll let you know if I find a way to reproduce this on demand.

          cowwoc added a comment - All agents are running the same JDK version. The problem seems to be specific the environment though because if I blow away the slave VM and restart from a snapshot then I no longer see the error. I ran across this error a few times and every time the machine goes into this "bad state" it will keep on getting the error forever, but I'm not sure how to get it into the bad state in the first place. One idea that comes to mind is that maybe the Jenkins master is in the middle of running something on the slaves when I forcibly restart the instance (Windows restart service). Maybe the git plugin thinks the JGit files are fully installed but in fact the package is only partially extracted. Just a thought... I'll let you know if I find a way to reproduce this on demand.

          Mark Waite added a comment -

          We sometimes see this same message on the agents attached to ci.jenkins.io. We don't know what may cause it, but we've seen it and are confident that it is not resolved.

          Mark Waite added a comment - We sometimes see this same message on the agents attached to ci.jenkins.io. We don't know what may cause it, but we've seen it and are confident that it is not resolved.

          Mark Waite added a comment -

          It has been many, many months since this message was last seen in any instance that I monitor. Closing as "cannot reproduce". If someone has a repeatable case to duplicate it, it can be reopened.

          Mark Waite added a comment - It has been many, many months since this message was last seen in any instance that I monitor. Closing as "cannot reproduce". If someone has a repeatable case to duplicate it, it can be reopened.

            Unassigned Unassigned
            cowwoc cowwoc
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: