Branch: refs/heads/detect-failure-in-cps-vm
  Home:   https://github.com/jenkinsci/workflow-cps-plugin
  Commit: a4aa9a8aecd122b00016078dc3b8102742bf828c
      
https://github.com/jenkinsci/workflow-cps-plugin/commit/a4aa9a8aecd122b00016078dc3b8102742bf828c
  Author: Kohsuke Kawaguchi <k...@kohsuke.org>
  Date:   2016-09-19 (Mon, 19 Sep 2016)

  Changed paths:
    M src/main/java/org/jenkinsci/plugins/workflow/cps/CpsVmExecutorService.java

  Log Message:
  -----------
  Cosmetic Java7 change


  Commit: 2323279aa7b60cae95cd47bf1fd52247fe138acb
      
https://github.com/jenkinsci/workflow-cps-plugin/commit/2323279aa7b60cae95cd47bf1fd52247fe138acb
  Author: Kohsuke Kawaguchi <k...@kohsuke.org>
  Date:   2016-09-19 (Mon, 19 Sep 2016)

  Changed paths:
    M src/main/java/org/jenkinsci/plugins/workflow/cps/CpsVmExecutorService.java

  Log Message:
  -----------
  Improve the error diagnostics.

I was looking at a problem where a test seemingly hangs forever. I tracked it 
down to a problem in CPS VM,
but what made this difficult for me is that a RuntimeException happening in 
some unexpected part of CPS VM went unreported.
If this error happened in the field, I would have never been able to figure 
this out. So I'm adding a diagnostics here to make sure
we can catch this class of problems.

Just for the record, the particular problem in CPS VM is a NullPointerException 
in the following place:

          at 
org.jenkinsci.plugins.workflow.cps.CpsBodyExecution$FailureAdapter.receive(CpsBodyExecution.java:283)
          at 
org.jenkinsci.plugins.workflow.cps.CpsBodyExecution.launch(CpsBodyExecution.java:161)
          at 
org.jenkinsci.plugins.workflow.cps.CpsBodyInvoker.launch(CpsBodyInvoker.java:189)
          at 
org.jenkinsci.plugins.workflow.cps.DSL$ThreadTaskImpl.invokeBody(DSL.java:501)
          at 
org.jenkinsci.plugins.workflow.cps.DSL$ThreadTaskImpl.eval(DSL.java:471)
          at 
org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:177)
          at 
org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:324)
          at 
org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:78)
          at 
org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:236)
          at 
org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:224)
          at 
org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:47)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
          at java.util.concurrent.FutureTask.run(FutureTask.java:166)
          at 
hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
          at 
jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
          at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
          at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
          at java.util.concurrent.FutureTask.run(FutureTask.java:166)
          at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
          at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
          at java.lang.Thread.run(Thread.java:722)


Compare: 
https://github.com/jenkinsci/workflow-cps-plugin/compare/a4aa9a8aecd1^...2323279aa7b6

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Commits" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jenkinsci-commits+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to