-
Bug
-
Resolution: Fixed
-
Major
-
None
-
CentOS 5.9 master, assorted slaves
-
Powered by SuggestiMate
If you try to use the configuration slicing plugin to change the JDK for a bunch of jobs using the default JDK to some other one, it throws a stack trace at the first matrix job that it encounters. This is true whether or not the JDK is one of the build axes for the job
[JENKINS-21556] Configuration slicing plugin throws UnsupportedOperationException when trying to change JDK for matrix build
It succeeds for builds that are alphabetically before the name of the offending matrix build. Given that Matrix builds have their own optional JDK build axis, it probably doesn't make much sense for the JDK slicing to even consider them as slicing candidates.
Note that it does actually change the on-disk setting in the config.xml for the JDK for the matrix build that causes the exception. However, it still shows as its original setting if you go back in to the JDK slicing plugin. It may be significant that I'm trying to change all builds that use the (Default) JDK to a different one.
I have the same issue. and removing matrix jobs from list is a WA in deed.
The same problems occurs when trying to set the "discard old builds" option
Caused by: java.lang.UnsupportedOperationException at hudson.matrix.MatrixConfiguration.setBuildDiscarder(MatrixConfiguration.java:363) at hudson.model.Job.setLogRotator(Job.java:434) at configurationslicing.logrotator.LogRotationSlicer$AbstractLogRotationSliceSpec.setValues(LogRotationSlicer.java:123) at configurationslicing.logrotator.LogRotationSlicer$LogRotationBuildsSliceSpec.setValues(LogRotationSlicer.java:162) at configurationslicing.logrotator.LogRotationSlicer$AbstractLogRotationSliceSpec.setValues(LogRotationSlicer.java:44) at configurationslicing.UnorderedStringSlicer.transform(UnorderedStringSlicer.java:100) at configurationslicing.UnorderedStringSlicer.transform(UnorderedStringSlicer.java:6) at configurationslicing.ConfigurationSlicing$SliceExecutor.transform(ConfigurationSlicing.java:135) at configurationslicing.ConfigurationSlicing$SliceExecutor.doSliceconfigSubmit(ConfigurationSlicing.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) 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:728) ... 49 more
Code changed in jenkins
User: ninian
Path:
src/main/java/configurationslicing/TopLevelItemSelector.java
src/main/java/configurationslicing/blockbuild/BlockBuildWhenDownstreamBuildingBoolSlicer.java
src/main/java/configurationslicing/blockbuild/BlockBuildWhenUpstreamBuildingBoolSlicer.java
src/main/java/configurationslicing/buildtimeout/BuildTimeoutSlicer.java
src/main/java/configurationslicing/buildtimeout/BuildTimeoutSlicer2.java
src/main/java/configurationslicing/claim/ClaimSlicer.java
src/main/java/configurationslicing/email/AbstractEmailSliceSpec.java
src/main/java/configurationslicing/jdk/JdkSlicer.java
src/main/java/configurationslicing/jobdisabled/JobDisabledBoolSlicer.java
src/main/java/configurationslicing/jobdisabled/JobDisabledStringSlicer.java
src/main/java/configurationslicing/label/LabelSlicer.java
src/main/java/configurationslicing/logfilesizechecker/LogfilesizecheckerSlicer.java
src/main/java/configurationslicing/logrotator/LogRotationSlicer.java
src/main/java/configurationslicing/prioritysorter/PrioritySorterSlicer.java
src/main/java/configurationslicing/timer/AbstractTimerSliceSpec.java
src/main/java/configurationslicing/timestamper/TimestamperSlicer.java
src/main/java/configurationslicing/tools/AbstractToolSlicerSpec.java
http://jenkins-ci.org/commit/configurationslicing-plugin/f78127ed04eebe1af465af0fd71831269526b4a5
Log:
Merge pull request #11 from ninian/master
FIXED JENKINS-18455 - remove extra maven modules from all slicing
FIXED JENKINS-20082
FIXED JENKINS-21556
FIXED JENKINS-23766
Compare: https://github.com/jenkinsci/configurationslicing-plugin/compare/9434d1dfe7e8...f78127ed04ee
Stack trace indicates this is happening when updating a matrix item directly. Should be fixed in v1.40 of the configurationslicing-plugin.