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

Scriptler add script fails with java.io.IOException: failed to update git repo

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • Jenkins 1.5.83
      scriptler 2.7
      CentOS release 6.5 (Final)
      git version 2.1.2
      git plugin version 2.2.7

      Browse to repo returns 404.
      Running Jenkins.getInstance().getExtensionList(org.jenkinsci.plugins.scriptler.git.GitScriptlerRepository.class) in the script console returns an empty array.
      Adding a new script gives the exception below.

      java.io.IOException: failed to update git repo
      at org.jenkinsci.plugins.scriptler.ScriptlerManagment.commitFileToGitRepo(ScriptlerManagment.java:299)
      at org.jenkinsci.plugins.scriptler.ScriptlerManagment.saveScriptAndForward(ScriptlerManagment.java:274)
      at org.jenkinsci.plugins.scriptler.ScriptlerManagment.doScriptAdd(ScriptlerManagment.java:249)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at org.kohsuke.stapler.Function$InstanceFunction.invoke(Function.java:298)
      at org.kohsuke.stapler.Function.bindAndInvoke(Function.java:161)
      at org.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:96)
      at org.kohsuke.stapler.MetaClass$1.doDispatch(MetaClass.java:120)
      at org.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
      at org.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:390)
      at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:733)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:863)
      at org.kohsuke.stapler.Stapler.invoke(Stapler.java:636)
      at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
      at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
      at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
      at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
      at hudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at jenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:86)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
      at hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)
      at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
      at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
      at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
      at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
      at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
      at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
      at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
      at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
      at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
      at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
      at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
      at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
      at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
      at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
      at org.eclipse.jetty.server.Server.handle(Server.java:370)
      at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
      at org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpConnection.java:960)
      at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(AbstractHttpConnection.java:1021)
      at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
      at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
      at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
      at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
      at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
      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)
      Caused by: java.lang.NullPointerException
      at org.jenkinsci.plugins.scriptler.ScriptlerManagment.commitFileToGitRepo(ScriptlerManagment.java:297)
      ... 72 more

          [JENKINS-25264] Scriptler add script fails with java.io.IOException: failed to update git repo

          panticz added a comment - - edited

          This is a Git Server Plugin 1.4 issue:
          https://wiki.jenkins-ci.org/display/JENKINS/Git+Server+Plugin

          As Workaround you can downgrade Git Server plugin to v1.3:
          1. Download git-server.hpi from https://updates.jenkins-ci.org/download/plugins/git-server/1.3/git-server.hpi

          2. Install Git Server plugin manually
          Manage Jenkins > Manage Plugins > Advanced > Upload Plugin

          After downgrade to Git Server plugin v1.3 Jenkis and Scriptler works again.

          panticz added a comment - - edited This is a Git Server Plugin 1.4 issue: https://wiki.jenkins-ci.org/display/JENKINS/Git+Server+Plugin As Workaround you can downgrade Git Server plugin to v1.3: 1. Download git-server.hpi from https://updates.jenkins-ci.org/download/plugins/git-server/1.3/git-server.hpi 2. Install Git Server plugin manually Manage Jenkins > Manage Plugins > Advanced > Upload Plugin After downgrade to Git Server plugin v1.3 Jenkis and Scriptler works again.

          Manish Singh added a comment -

          You will also need to downgrade the Scriptler plugin to 2.6.1 version.
          Download it from: https://updates.jenkins-ci.org/download/plugins/scriptler/2.6.1/scriptler.hpi

          Manish Singh added a comment - You will also need to downgrade the Scriptler plugin to 2.6.1 version. Download it from: https://updates.jenkins-ci.org/download/plugins/scriptler/2.6.1/scriptler.hpi

          is this still a problem with the current git-server plugin version 1.6?

          Dominik Bartholdi added a comment - is this still a problem with the current git-server plugin version 1.6?

          Yes. This error is available on GIT server 1.6 as well.

          java.io.IOException: failed to update git repo at org.jenkinsci.plugins.scriptler.ScriptlerManagement.commitFileToGitRepo(ScriptlerManagement.java:299) at org.jenkinsci.plugins.scriptler.ScriptlerManagement.saveScriptAndForward(ScriptlerManagement.java:274) at org.jenkinsci.plugins.scriptler.ScriptlerManagement.doScriptAdd(ScriptlerManagement.java:249) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 

          I tried to test it with fresh installation without any jobs in place. In which scriptler - new script addition was working good. However with having old data in JENKINS_HOME, the error continues to come. Dont have any clue from the error log

          Sagayaraj David added a comment - Yes. This error is available on GIT server 1.6 as well. java.io.IOException: failed to update git repo at org.jenkinsci.plugins.scriptler.ScriptlerManagement.commitFileToGitRepo(ScriptlerManagement.java:299) at org.jenkinsci.plugins.scriptler.ScriptlerManagement.saveScriptAndForward(ScriptlerManagement.java:274) at org.jenkinsci.plugins.scriptler.ScriptlerManagement.doScriptAdd(ScriptlerManagement.java:249) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)  I tried to test it with fresh installation without any jobs in place. In which scriptler - new script addition was working good. However with having old data in JENKINS_HOME, the error continues to come. Dont have any clue from the error log

          After adding a new scriptler script, we get the errr 'failed to update git repo', however the JENKINS_HOME/scripler/scripts and scriptler.xml are updated with the file. Not sure what is causing the issue. Please prioritize and fix

          Sagayaraj David added a comment - After adding a new scriptler script, we get the errr 'failed to update git repo', however the JENKINS_HOME/scripler/scripts and scriptler.xml are updated with the file. Not sure what is causing the issue. Please prioritize and fix

            domi Dominik Bartholdi
            p14n Dean Pehrsson-Chapman
            Votes:
            3 Vote for this issue
            Watchers:
            9 Start watching this issue

              Created:
              Updated: