[ 
https://issues.jenkins-ci.org/browse/JENKINS-12302?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=160447#comment-160447
 ] 

SCM/JIRA link daemon commented on JENKINS-12302:
------------------------------------------------

Code changed in jenkins
User: Vojtech Juranek
Path:
 core/src/main/java/hudson/cli/GroovyCommand.java
 core/src/main/java/hudson/cli/util/ScriptLoader.java
http://jenkins-ci.org/commit/jenkins/99385dcd1c8a2dc84d51133f1f4b06d4bc1cf653
Log:
  [FIXED JENKINS-12302] Refactor anonymout class for loading groovy script into 
separate class as static block (due to inheritance of outer class from 
CLICommand) initialization leads to NPE (namely in Jenkins.getInstance 
Jenkins.getInstance().getPluginManager())
(cherry picked from commit 7bdc1790166198de93b2b7c58286d9554be967b4)



                
> Remote call on CLI channel from [ip] failed
> -------------------------------------------
>
>                 Key: JENKINS-12302
>                 URL: https://issues.jenkins-ci.org/browse/JENKINS-12302
>             Project: Jenkins
>          Issue Type: Bug
>          Components: cli, groovy
>    Affects Versions: current
>         Environment: Jenkins 1.446, Linux CentOS
>            Reporter: Markus Hjerto
>            Assignee: vjuranek
>
> I've had a KillStuckPolling.groovy job running for about 6 months without 
> problems, but on January 4th it stopped working with the below stack trace. 
> This matches with the release of Jenkins 1.446, which is currently installed. 
> I have tried to restart the server without any effect.
> {noformat}
> Killing all stuck SCM polls using ~/bin/KillStuckPolling.groovy
> log4j:WARN No appenders could be found for logger 
> (org.apache.commons.beanutils.converters.BooleanConverter).
> log4j:WARN Please initialize the log4j system properly.
> java.io.IOException: Remote call on CLI channel from /[ip] failed
>       at hudson.remoting.Channel.call(Channel.java:690)
>       at hudson.cli.GroovyCommand.loadScript(GroovyCommand.java:106)
>       at hudson.cli.GroovyCommand.run(GroovyCommand.java:93)
>       at hudson.cli.CLICommand.main(CLICommand.java:205)
>       at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:66)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>       at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>       at java.lang.reflect.Method.invoke(Unknown Source)
>       at 
> hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:274)
>       at 
> hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:255)
>       at 
> hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:215)
>       at hudson.remoting.UserRequest.perform(UserRequest.java:118)
>       at hudson.remoting.UserRequest.perform(UserRequest.java:48)
>       at hudson.remoting.Request$2.run(Request.java:287)
>       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 java.lang.Thread.run(Unknown Source)
> Caused by: java.lang.ExceptionInInitializerError
>       at java.io.ObjectStreamClass.hasStaticInitializer(Native Method)
>       at java.io.ObjectStreamClass.computeDefaultSUID(Unknown Source)
>       at java.io.ObjectStreamClass.access$100(Unknown Source)
>       at java.io.ObjectStreamClass$1.run(Unknown Source)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at java.io.ObjectStreamClass.getSerialVersionUID(Unknown Source)
>       at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
>       at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
>       at java.io.ObjectInputStream.readClassDesc(Unknown Source)
>       at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>       at java.io.ObjectInputStream.readObject0(Unknown Source)
>       at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
>       at java.io.ObjectInputStream.readSerialData(Unknown Source)
>       at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>       at java.io.ObjectInputStream.readObject0(Unknown Source)
>       at java.io.ObjectInputStream.readObject(Unknown Source)
>       at hudson.remoting.UserRequest.deserialize(UserRequest.java:182)
>       at hudson.remoting.UserRequest.perform(UserRequest.java:98)
>       ... 8 more
> Caused by: java.lang.NullPointerException
>       at hudson.cli.CLICommand.<clinit>(CLICommand.java:448)
>       ... 26 more
> Build step 'Execute shell' marked build as failure
> {noformat}
> The groovy script is as follows:
> {code:title=KillStuckPolling.groovy|borderStyle=solid}
>  Thread.getAllStackTraces().keySet().each() { 
>    item ->
>    println "Checking item" + item.getName();
>    if (item.getName().contains("SCM polling") && 
> item.getName().contains("waiting for hudson.remoting")) { 
>      println "   Interrupting thread " + item.getId(); 
>      item.interrupt() 
>    }
>  }
> {code} 
> And the bash script used to start it is as follows
> {code:title=KillStuckPolling.sh|borderStyle=solid|xml}
> #!/bin/bash -e
> echo "## Kills stuck polling jobs on Jenkins"
> if [ -z "$JENKINS_URL" ]; then
>   echo "ERROR: This script must be run on Jenkins. It cannot be run manually"
>   exit 1
> fi
> echo "Getting latest Jenkins CLI from ${JENKINS_URL}"
> if [ -w jenkins-cli.jar ]; then
>   rm jenkins-cli.jar
> fi
> wget ${JENKINS_URL}jnlpJars/jenkins-cli.jar
> echo "Killing all stuck SCM polls using ~/bin/KillStuckPolling.groovy"
> java -jar jenkins-cli.jar -s ${JENKINS_URL}/ groovy 
> ~/bin/KillStuckPolling.groovy
> {code} 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to