NoSuchFileException on git clone after upgrade to RHEL 8

6 views
Skip to first unread message

Roland Asmann

unread,
Jun 20, 2020, 4:45:19 PM6/20/20
to Jenkins Users
Hi everybody,

My sys-admins at work upgraded one of our servers to RHEL 8 to have me test it before all servers are upgraded. Now most of the jobs I ran on it work, one of them has an issue during cloning.
I found out that the error occurs because this repository contains a file with an Umlaut in its name, though this is not an issue on my other slaves that are running RHEL 7 (and one old RHEL 6).

I have configured Jenkins to use JGit so I don't have different versions on any slave (we have all kinds of different OSes in our cloud) and the feature set is the same on all slaves. Now, I need to figure out if there is a problem with RHEL 8, the way the server is configured (aka: if the admins are lying to me about the setup being the same as before) or if I need to configure something in Jenkins to make sure JGit can work with Umlauts again.

In case it helps, here's the Stacktrace Jenkins logs when it tries to clone the repository:

java.nio.file.NoSuchFileException: /workspace/job/._mengengerüst_erstellung_daten.feature8906747275907148543.tmp

       at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)

       at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)

       at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)

       at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)

       at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)

       at java.nio.file.Files.delete(Files.java:1126)

       at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:219)

Caused: java.io.IOException: Could not delete file /workspace/job/._mengengerüst_erstellung_daten.feature8906747275907148543.tmp

       at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:247)

       at org.eclipse.jgit.util.FileUtils.delete(FileUtils.java:158)

       at org.eclipse.jgit.dircache.DirCacheCheckout.checkoutEntry(DirCacheCheckout.java:1562)

       at org.eclipse.jgit.dircache.DirCacheCheckout.doCheckout(DirCacheCheckout.java:589)

       at org.eclipse.jgit.dircache.DirCacheCheckout.checkout(DirCacheCheckout.java:493)

       at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:281)

Also:   hudson.remoting.Channel$CallSiteStackTrace: Remote call to slave01t

              at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1788)

              at hudson.remoting.UserRequest$ExceptionResponse.retrieve(UserRequest.java:356)

              at hudson.remoting.Channel.call(Channel.java:998)

              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.execute(RemoteGitImpl.java:146)

              at sun.reflect.GeneratedMethodAccessor272.invoke(Unknown Source)

               at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

              at java.lang.reflect.Method.invoke(Method.java:498)

              at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler.invoke(RemoteGitImpl.java:132)

              at com.sun.proxy.$Proxy94.execute(Unknown Source)

              at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1217)

              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:125)

              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)

              at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)

              at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)

              at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

Caused: org.eclipse.jgit.api.errors.JGitInternalException: Could not delete file /workspace/job/._mengengerüst_erstellung_daten.feature8906747275907148543.tmp

       at org.eclipse.jgit.api.CheckoutCommand.call(CheckoutCommand.java:340)

       at org.jenkinsci.plugins.gitclient.JGitAPIImpl.doCheckoutWithResetAndRetry(JGitAPIImpl.java:350)

       at org.jenkinsci.plugins.gitclient.JGitAPIImpl.access$100(JGitAPIImpl.java:142)

       at org.jenkinsci.plugins.gitclient.JGitAPIImpl$1.execute(JGitAPIImpl.java:317)

       at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:161)

       at org.jenkinsci.plugins.gitclient.RemoteGitImpl$CommandInvocationHandler$GitCommandMasterToSlaveCallable.call(RemoteGitImpl.java:154)

       at hudson.remoting.UserRequest.perform(UserRequest.java:211)

       at hudson.remoting.UserRequest.perform(UserRequest.java:54)

       at hudson.remoting.Request$2.run(Request.java:369)

       at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:72)

       at java.util.concurrent.FutureTask.run(FutureTask.java:266)

       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

       at java.lang.Thread.run(Thread.java:748)

 

Does anybody have an idea how to get this working again, either with a configuration in Jenkins or in the OS?


Thanks!


Roland

Mark Waite

unread,
Jun 20, 2020, 6:50:41 PM6/20/20
to Jenkins Users
Usually that failure happens because the operating system default locale is not C.UTF-8 but is using the C locale instead. 

LC_ALL=C.UTF-8

--
You received this message because you are subscribed to the Google Groups "Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/2ddf8c7d-9ad9-44f0-9287-711f60aab78do%40googlegroups.com.

Roland Asmann

unread,
Jun 20, 2020, 7:23:45 PM6/20/20
to jenkins...@googlegroups.com
That seems to have done the trick, thanks!

I am a little confused now though, because when I checked all other
Linux machines, none of them actually have this part of the locale set!

Ah well, it works, so I will make sure to set this on all servers after
the update!
> <mailto:jenkinsci-use...@googlegroups.com>.
> <https://groups.google.com/d/msgid/jenkinsci-users/2ddf8c7d-9ad9-44f0-9287-711f60aab78do%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Jenkins Users" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/jenkinsci-users/iQLrEb8bYKg/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> jenkinsci-use...@googlegroups.com
> <mailto:jenkinsci-use...@googlegroups.com>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtHs9sPpDwSj_XcDmtbM_YYdSfWP1S4_82FOV43A3Mp%2BUw%40mail.gmail.com
> <https://groups.google.com/d/msgid/jenkinsci-users/CAO49JtHs9sPpDwSj_XcDmtbM_YYdSfWP1S4_82FOV43A3Mp%2BUw%40mail.gmail.com?utm_medium=email&utm_source=footer>.

--
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus

Reply all
Reply to author
Forward
0 new messages