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

Unable to locate a login configuration

    Details

    • Type: Bug
    • Status: Resolved (View Workflow)
    • Priority: Blocker
    • Resolution: Fixed
    • Component/s: subversion-plugin
    • Labels:
      None
    • Environment:
      Hudson 1.386 running on RHEL5, Subversion plugin 1.21, svn running on VisualSVN Server 2.1.1 using https protocol
    • Similar Issues:

      Description

      After upgrade of Subversion plugin from 1.17 to 1.21, every access to svn (including polling) results in "Unable to locate a login configuration".

      Started by user anonymous
      FATAL: Unable to locate a login configuration
      java.lang.SecurityException: Unable to locate a login configuration
      at com.sun.security.auth.login.ConfigFile.<init>(Unknown Source)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
      at java.lang.reflect.Constructor.newInstance(Unknown Source)
      at java.lang.Class.newInstance0(Unknown Source)
      at java.lang.Class.newInstance(Unknown Source)
      at javax.security.auth.login.Configuration$3.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.login.Configuration.getConfiguration(Unknown Source)
      at javax.security.auth.login.LoginContext$1.run(Unknown Source)
      at java.security.AccessController.doPrivileged(Native Method)
      at javax.security.auth.login.LoginContext.init(Unknown Source)
      at javax.security.auth.login.LoginContext.<init>(Unknown Source)
      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPNegotiateAuthentication.initializeSubject(HTTPNegotiateAuthentication.java:139)
      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPNegotiateAuthentication.needsLogin(HTTPNegotiateAuthentication.java:241)
      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:535)
      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:275)
      at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:263)
      at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516)
      at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98)
      at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1001)
      at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.testConnection(DAVRepository.java:97)
      at hudson.scm.SubversionSCM$DescriptorImpl.checkRepositoryPath(SubversionSCM.java:1885)
      at hudson.scm.SubversionSCM.repositoryLocationsNoLongerExist(SubversionSCM.java:2051)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:580)
      at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:545)
      at hudson.model.AbstractProject.checkout(AbstractProject.java:1054)
      at hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:479)
      at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:411)
      at hudson.model.Run.run(Run.java:1248)
      at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46)
      at hudson.model.ResourceController.execute(ResourceController.java:88)
      at hudson.model.Executor.run(Executor.java:129)
      Caused by: java.io.IOException: Unable to locate a login configuration
      at com.sun.security.auth.login.ConfigFile.init(Unknown Source)
      ... 34 more

        Attachments

          Issue Links

            Activity

            Hide
            nhofmeister nhofmeister added a comment -

            Sure, but I personally do not consider an exception stacktrace to be useful feedback (especially when non-developers deal with it).
            I guess if a company evaluates Hudson and runs into such a situation, chances are good that it will be rejected to use...
            Also this should at least be documented very well, better would be imho to let Hudson make svnkit default to the settings that most likely will work.

            This is just my 2 cents, I hope you don't mind. So if this solution is sufficient to the rest of the community - okay then

            Show
            nhofmeister nhofmeister added a comment - Sure, but I personally do not consider an exception stacktrace to be useful feedback (especially when non-developers deal with it). I guess if a company evaluates Hudson and runs into such a situation, chances are good that it will be rejected to use... Also this should at least be documented very well, better would be imho to let Hudson make svnkit default to the settings that most likely will work. This is just my 2 cents, I hope you don't mind. So if this solution is sufficient to the rest of the community - okay then
            Hide
            maartenvandewaarsenburg maartenvandewaarsenburg added a comment -

            Master works fine now, SLAVES NOT. I just installed Hudson 1.387 with Subversion plugin 1.21 on a newly installed RHEL5 server.

            Master builds without errors.

            As soon as a build is started on a slave, the following appears.

            Started by user maartenvandewaarsenb
            Building remotely on w7vs2010.oslo
            Cleaning workspace C:\Hudson\workspace\Tryout
            Checking out https://vsvn.verum.local/svn/sandbox/trunk
            FATAL: Unable to locate a login configuration
            java.lang.SecurityException: Unable to locate a login configuration
            at com.sun.security.auth.login.ConfigFile.<init>(Unknown Source)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
            at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
            at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
            at java.lang.reflect.Constructor.newInstance(Unknown Source)
            at java.lang.Class.newInstance0(Unknown Source)
            at java.lang.Class.newInstance(Unknown Source)
            at javax.security.auth.login.Configuration$3.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.login.Configuration.getConfiguration(Unknown Source)
            at javax.security.auth.login.LoginContext$1.run(Unknown Source)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.login.LoginContext.init(Unknown Source)
            at javax.security.auth.login.LoginContext.<init>(Unknown Source)
            at org.tmatesoft.svn.core.internal.io.dav.http.HTTPNegotiateAuthentication.initializeSubject(HTTPNegotiateAuthentication.java:139)
            at org.tmatesoft.svn.core.internal.io.dav.http.HTTPNegotiateAuthentication.needsLogin(HTTPNegotiateAuthentication.java:241)
            at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:535)
            at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:275)
            at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:263)
            at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516)
            at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98)
            at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1001)
            at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:178)
            at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:482)
            at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:873)
            at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534)
            at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:901)
            at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:687)
            at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:604)
            at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1899)
            at hudson.remoting.UserRequest.perform(UserRequest.java:114)
            at hudson.remoting.UserRequest.perform(UserRequest.java:48)
            at hudson.remoting.Request$2.run(Request.java:270)
            at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
            at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
            at java.util.concurrent.FutureTask.run(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
            at hudson.remoting.Engine$1$1.run(Engine.java:58)
            at java.lang.Thread.run(Unknown Source)
            Caused by: java.io.IOException: Unable to locate a login configuration
            at com.sun.security.auth.login.ConfigFile.init(Unknown Source)
            ... 40 more

            Show
            maartenvandewaarsenburg maartenvandewaarsenburg added a comment - Master works fine now, SLAVES NOT. I just installed Hudson 1.387 with Subversion plugin 1.21 on a newly installed RHEL5 server. Master builds without errors. As soon as a build is started on a slave, the following appears. Started by user maartenvandewaarsenb Building remotely on w7vs2010.oslo Cleaning workspace C:\Hudson\workspace\Tryout Checking out https://vsvn.verum.local/svn/sandbox/trunk FATAL: Unable to locate a login configuration java.lang.SecurityException: Unable to locate a login configuration at com.sun.security.auth.login.ConfigFile.<init>(Unknown Source) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at javax.security.auth.login.Configuration$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.Configuration.getConfiguration(Unknown Source) at javax.security.auth.login.LoginContext$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.login.LoginContext.init(Unknown Source) at javax.security.auth.login.LoginContext.<init>(Unknown Source) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPNegotiateAuthentication.initializeSubject(HTTPNegotiateAuthentication.java:139) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPNegotiateAuthentication.needsLogin(HTTPNegotiateAuthentication.java:241) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:535) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:275) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:263) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:516) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:98) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1001) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:178) at org.tmatesoft.svn.core.wc.SVNBasicClient.getRevisionNumber(SVNBasicClient.java:482) at org.tmatesoft.svn.core.wc.SVNBasicClient.getLocations(SVNBasicClient.java:873) at org.tmatesoft.svn.core.wc.SVNBasicClient.createRepository(SVNBasicClient.java:534) at org.tmatesoft.svn.core.wc.SVNUpdateClient.doCheckout(SVNUpdateClient.java:901) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:687) at hudson.scm.SubversionSCM$CheckOutTask.invoke(SubversionSCM.java:604) at hudson.FilePath$FileCallableWrapper.call(FilePath.java:1899) at hudson.remoting.UserRequest.perform(UserRequest.java:114) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:270) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at hudson.remoting.Engine$1$1.run(Engine.java:58) at java.lang.Thread.run(Unknown Source) Caused by: java.io.IOException: Unable to locate a login configuration at com.sun.security.auth.login.ConfigFile.init(Unknown Source) ... 40 more
            Hide
            aberhorn aberhorn added a comment -

            Here is how I got it working on the slaves, too:

            • Windows, running as service: Add -Dsvnkit.http.methods=Basic,Digest,Negotiate,NTLM to the arguments tag of the "hudson-slave.xml" in the "Remote FS root". Disconnect and restart node
            • Unix, running via ssh: Add -Dsvnkit.http.methods=Basic,Digest,Negotiate,NTLM to the "JVM Options" under advanced in the node options. Disconnect and restart node

            I am really not happy with all this, but at least there is a route to get it working.

            Show
            aberhorn aberhorn added a comment - Here is how I got it working on the slaves, too: Windows, running as service: Add -Dsvnkit.http.methods=Basic,Digest,Negotiate,NTLM to the arguments tag of the "hudson-slave.xml" in the "Remote FS root". Disconnect and restart node Unix, running via ssh: Add -Dsvnkit.http.methods=Basic,Digest,Negotiate,NTLM to the "JVM Options" under advanced in the node options. Disconnect and restart node I am really not happy with all this, but at least there is a route to get it working.
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            Fixed toward 1.22 in rev.37344.

            Show
            kohsuke Kohsuke Kawaguchi added a comment - Fixed toward 1.22 in rev.37344.
            Hide
            kohsuke Kohsuke Kawaguchi added a comment -

            I've filed http://svnkit.com/tracker/view.php?id=409 in the upstream.

            Show
            kohsuke Kohsuke Kawaguchi added a comment - I've filed http://svnkit.com/tracker/view.php?id=409 in the upstream.

              People

              • Assignee:
                Unassigned
                Reporter:
                maartenvandewaarsenburg maartenvandewaarsenburg
              • Votes:
                6 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: