Change Queue failing after java update

Description

Change queue along with some other pipeline jobs are failing iwth the following error:

java.lang.NoClassDefFoundError: Could not initialize class sun.nio.fs.UnixCopyFile
at sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:262)
at java.nio.file.Files.move(Files.java:1395)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:464)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgram(CpsThreadGroup.java:435)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.saveProgramIfPossible(CpsThreadGroup.java:423)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:363)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:243)
at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:231)
at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
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:511)
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)
Finished: FAILURE

Activity

Show:
Evgheni Dereveanchin
December 21, 2017, 1:27 PM

Looking at yum.log there seems to have been a Java update today in the early morning, while my work happened yesterday evening:

Dec 20 23:22:43 Updated: kmod-libs-20-15.el7_4.6.x86_64
Dec 20 23:22:43 Updated: libstdc++-4.8.5-16.el7_4.1.i686
Dec 20 23:34:51 Updated: jenkins-2.89.2-1.1.noarch
Dec 21 05:04:36 Updated: 1:java-1.8.0-openjdk-headless-1.8.0.151-5.b12.el7_4.x86_64
Dec 21 05:04:39 Updated: 1:java-1.8.0-openjdk-devel-1.8.0.151-5.b12.el7_4.x86_64
Dec 21 05:04:39 Updated: 1:java-1.8.0-openjdk-1.8.0.151-5.b12.el7_4.x86_64

This suggests Jenkins is still using the older JDK and yum removed some files. Will restart Jenkins and this should fix the issue

Evgheni Dereveanchin
December 21, 2017, 2:13 PM

After restarting Jenkins new pipelines no longer fail, yet old failed ones attempted to resume and had to be killed. Not sure if it's new Jenkins behavior or something that was there before.

Affected pipelines were:

Will lower severity for this now and confirm what updated Java - I presume it's some puppet manifest with ensure => latest instead of ensure => installed. We had very similar issues on slaves in

Evgheni Dereveanchin
December 21, 2017, 10:53 PM

Root cause located. Patch submitted for review to keep Java from auto-updating

Assignee

Evgheni Dereveanchin

Reporter

Evgheni Dereveanchin

Blocked By

None

Priority

High
Configure