-
Bug
-
Resolution: Fixed
-
Major
-
1.424, JDK 7
Noticed when using Folders plugin, but in principle could affect an installation using any plugin which has special ItemGroup implementations.
... hudson.ExpressionFactory2$JexlExpression evaluate
WARNING: Caught exception evaluating: it.parent == app. Reason: java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.commons.jexl.util.PropertyExecutor.execute(PropertyExecutor.java:125)
at org.apache.commons.jexl.util.introspection.UberspectImpl$VelGetterImpl.invoke(UberspectImpl.java:314)
at org.apache.commons.jexl.parser.ASTArrayAccess.evaluateExpr(ASTArrayAccess.java:185)
at org.apache.commons.jexl.parser.ASTIdentifier.execute(ASTIdentifier.java:75)
at org.apache.commons.jexl.parser.ASTReference.execute(ASTReference.java:83)
at org.apache.commons.jexl.parser.ASTReference.value(ASTReference.java:57)
at org.apache.commons.jexl.parser.ASTEQNode.value(ASTEQNode.java:71)
at org.apache.commons.jexl.parser.ASTExpression.value(ASTExpression.java:54)
at org.apache.commons.jexl.parser.ASTExpressionExpression.value(ASTExpressionExpression.java:56)
at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:72)
...
Caused by: java.lang.ClassCastException: <an ItemGroup impl> cannot be cast to jenkins.model.Jenkins
at hudson.model.AbstractItem.getParent(AbstractItem.java)
... 91 more
Apparent cause is the use of @WithBridgeMethods(value=Jenkins.class,castRequired=true) in AbstractItem.getParent. Probable mechanism of bug is that Job/index.jelly evaluates it.parent, JEXL looks for a getParent() method, and picks the overload returning Jenkins rather than the one returning ItemGroup. If the job is in fact in a folder rather than at top level, the cast (generated in bytecode by a Maven plugin) fails.
Might happen to work on JDK 6 due to Class.getMethods returning methods in bytecode order, but this is not the case in JDK 7.
Symptom: stack trace in log; probably suppresses "This project is currently disabled" message. "Major" only in that the error can be thrown repeatedly for a wide class of jobs.
[JENKINS-14325] CCE "...cannot be cast to jenkins.model.Jenkins" in job index page
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
core/src/main/java/hudson/matrix/MatrixConfiguration.java
core/src/main/java/hudson/model/AbstractProject.java
core/src/main/resources/hudson/matrix/MatrixProject/index.jelly
core/src/main/resources/hudson/matrix/MatrixProject/index_cs.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_da.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_de.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_es.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_fi.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_fr.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_it.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_ja.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_pl.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_ru.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_zh_CN.properties
core/src/main/resources/hudson/model/AbstractProject/main.jelly
core/src/main/resources/hudson/model/AbstractProject/makeDisabled.jelly
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_bg.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ca.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_cs.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_da.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_de.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_es.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_fi.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_fr.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_hu.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_is.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_it.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ja.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ko.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_lv.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_nb_NO.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_nl.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_pl.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_pt_BR.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ro.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ru.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_sk.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_sv_SE.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_tr.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_zh_CN.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_zh_TW.properties
core/src/main/resources/hudson/model/Job/index.jelly
core/src/main/resources/hudson/model/Job/index_bg.properties
core/src/main/resources/hudson/model/Job/index_ca.properties
core/src/main/resources/hudson/model/Job/index_cs.properties
core/src/main/resources/hudson/model/Job/index_da.properties
core/src/main/resources/hudson/model/Job/index_de.properties
core/src/main/resources/hudson/model/Job/index_es.properties
core/src/main/resources/hudson/model/Job/index_fi.properties
core/src/main/resources/hudson/model/Job/index_fr.properties
core/src/main/resources/hudson/model/Job/index_hu.properties
core/src/main/resources/hudson/model/Job/index_is.properties
core/src/main/resources/hudson/model/Job/index_it.properties
core/src/main/resources/hudson/model/Job/index_ja.properties
core/src/main/resources/hudson/model/Job/index_ko.properties
core/src/main/resources/hudson/model/Job/index_lv.properties
core/src/main/resources/hudson/model/Job/index_nb_NO.properties
core/src/main/resources/hudson/model/Job/index_nl.properties
core/src/main/resources/hudson/model/Job/index_pl.properties
core/src/main/resources/hudson/model/Job/index_pt_BR.properties
core/src/main/resources/hudson/model/Job/index_ro.properties
core/src/main/resources/hudson/model/Job/index_ru.properties
core/src/main/resources/hudson/model/Job/index_sk.properties
core/src/main/resources/hudson/model/Job/index_sv_SE.properties
core/src/main/resources/hudson/model/Job/index_tr.properties
core/src/main/resources/hudson/model/Job/index_zh_CN.properties
core/src/main/resources/hudson/model/Job/index_zh_TW.properties
maven-plugin/src/main/java/hudson/maven/MavenModule.java
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index.jelly
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_cs.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_da.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_de.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_es.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_fi.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_fr.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_he.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_hu.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_it.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_ja.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_lv.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_nb_NO.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_nl.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_pl.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_pt_BR.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_ru.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_sl.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_sv_SE.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_uk.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_zh_CN.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_zh_TW.properties
http://jenkins-ci.org/commit/jenkins/c91584ff21e221201416b04a48331b253077a3d3
Log:
[FIXED JENKINS-14325] CCE & missing GUI when using jobs inside folders.
Introduced AbstractProject.supportsMakeDisabled rather than using trick of checking for parent instanceof Jenkins.
Extracted common GUI into makeDisabled.jelly, with accompanying I18N refactoring.
Also moved all this into AbstractProject, where the relevant methods are defined, rather than Job where they are not.
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
core/src/main/java/hudson/model/AbstractBuild.java
core/src/main/java/hudson/model/Computer.java
core/src/main/java/hudson/model/Items.java
core/src/main/java/hudson/model/OverallLoadStatistics.java
core/src/main/java/jenkins/model/Jenkins.java
core/src/main/java/jenkins/model/UnlabeldLoadStatistics.java
core/src/main/java/jenkins/model/UnlabeledLoadStatistics.java
core/src/main/resources/hudson/scm/SCM/project-changes.jelly
core/src/test/java/hudson/model/ItemsTest.java
debian/debian/changelog
test/src/main/java/org/jvnet/hudson/test/JenkinsRule.java
http://jenkins-ci.org/commit/jenkins/ae3dac8afb6eef325958285b5a13bc933f5aacb6
Log:
Merge branch 'master' into JENKINS-14325
Conflicts:
changelog.html
Code changed in jenkins
User: Jesse Glick
Path:
changelog.html
core/src/main/java/hudson/model/AbstractProject.java
core/src/main/resources/hudson/matrix/MatrixProject/index.jelly
core/src/main/resources/hudson/matrix/MatrixProject/index_cs.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_da.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_de.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_es.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_fi.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_fr.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_it.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_ja.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_pl.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_ru.properties
core/src/main/resources/hudson/matrix/MatrixProject/index_zh_CN.properties
core/src/main/resources/hudson/model/AbstractProject/main.jelly
core/src/main/resources/hudson/model/AbstractProject/makeDisabled.jelly
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_bg.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ca.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_cs.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_da.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_de.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_es.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_fi.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_fr.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_hu.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_is.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_it.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ja.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ko.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_lv.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_nb_NO.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_nl.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_pl.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_pt_BR.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ro.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_ru.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_sk.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_sv_SE.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_tr.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_zh_CN.properties
core/src/main/resources/hudson/model/AbstractProject/makeDisabled_zh_TW.properties
core/src/main/resources/hudson/model/Job/index.jelly
core/src/main/resources/hudson/model/Job/index_bg.properties
core/src/main/resources/hudson/model/Job/index_ca.properties
core/src/main/resources/hudson/model/Job/index_cs.properties
core/src/main/resources/hudson/model/Job/index_da.properties
core/src/main/resources/hudson/model/Job/index_de.properties
core/src/main/resources/hudson/model/Job/index_es.properties
core/src/main/resources/hudson/model/Job/index_fi.properties
core/src/main/resources/hudson/model/Job/index_fr.properties
core/src/main/resources/hudson/model/Job/index_hu.properties
core/src/main/resources/hudson/model/Job/index_is.properties
core/src/main/resources/hudson/model/Job/index_it.properties
core/src/main/resources/hudson/model/Job/index_ja.properties
core/src/main/resources/hudson/model/Job/index_ko.properties
core/src/main/resources/hudson/model/Job/index_lv.properties
core/src/main/resources/hudson/model/Job/index_nb_NO.properties
core/src/main/resources/hudson/model/Job/index_nl.properties
core/src/main/resources/hudson/model/Job/index_pl.properties
core/src/main/resources/hudson/model/Job/index_pt_BR.properties
core/src/main/resources/hudson/model/Job/index_ro.properties
core/src/main/resources/hudson/model/Job/index_ru.properties
core/src/main/resources/hudson/model/Job/index_sk.properties
core/src/main/resources/hudson/model/Job/index_sv_SE.properties
core/src/main/resources/hudson/model/Job/index_tr.properties
core/src/main/resources/hudson/model/Job/index_zh_CN.properties
core/src/main/resources/hudson/model/Job/index_zh_TW.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index.jelly
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_cs.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_da.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_de.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_es.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_fi.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_fr.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_he.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_hu.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_it.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_ja.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_lv.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_nb_NO.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_nl.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_pl.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_pt_BR.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_ru.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_sl.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_sv_SE.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_uk.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_zh_CN.properties
maven-plugin/src/main/resources/hudson/maven/MavenModuleSet/index_zh_TW.properties
http://jenkins-ci.org/commit/jenkins/788028fa7f9bb7f32a29c47b02f87ff9650ff009
Log:
Merge pull request #515 from jglick/JENKINS-14325
JENKINS-14325: CCE & missing GUI when using jobs inside folders
Compare: https://github.com/jenkinsci/jenkins/compare/051b0016c450...788028fa7f9b
Code changed in jenkins
User: Jesse Glick
Path:
src/main/java/hudson/maven/MavenModule.java
src/main/resources/hudson/maven/MavenModuleSet/index.jelly
src/main/resources/hudson/maven/MavenModuleSet/index_cs.properties
src/main/resources/hudson/maven/MavenModuleSet/index_da.properties
src/main/resources/hudson/maven/MavenModuleSet/index_de.properties
src/main/resources/hudson/maven/MavenModuleSet/index_es.properties
src/main/resources/hudson/maven/MavenModuleSet/index_fi.properties
src/main/resources/hudson/maven/MavenModuleSet/index_fr.properties
src/main/resources/hudson/maven/MavenModuleSet/index_he.properties
src/main/resources/hudson/maven/MavenModuleSet/index_hu.properties
src/main/resources/hudson/maven/MavenModuleSet/index_it.properties
src/main/resources/hudson/maven/MavenModuleSet/index_ja.properties
src/main/resources/hudson/maven/MavenModuleSet/index_lv.properties
src/main/resources/hudson/maven/MavenModuleSet/index_nb_NO.properties
src/main/resources/hudson/maven/MavenModuleSet/index_nl.properties
src/main/resources/hudson/maven/MavenModuleSet/index_pl.properties
src/main/resources/hudson/maven/MavenModuleSet/index_pt_BR.properties
src/main/resources/hudson/maven/MavenModuleSet/index_ru.properties
src/main/resources/hudson/maven/MavenModuleSet/index_sl.properties
src/main/resources/hudson/maven/MavenModuleSet/index_sv_SE.properties
src/main/resources/hudson/maven/MavenModuleSet/index_uk.properties
src/main/resources/hudson/maven/MavenModuleSet/index_zh_CN.properties
src/main/resources/hudson/maven/MavenModuleSet/index_zh_TW.properties
http://jenkins-ci.org/commit/maven-plugin/465ae268bdc01ec65ad1eb2b895f1e82b59c4d11
Log:
[FIXED JENKINS-14325] CCE & missing GUI when using jobs inside folders.
Introduced AbstractProject.supportsMakeDisabled rather than using trick of checking for parent instanceof Jenkins.
Extracted common GUI into makeDisabled.jelly, with accompanying I18N refactoring.
Also moved all this into AbstractProject, where the relevant methods are defined, rather than Job where they are not.
Originally-Committed-As: c91584ff21e221201416b04a48331b253077a3d3
Code changed in jenkins
User: Jesse Glick
Path:
http://jenkins-ci.org/commit/maven-plugin/fcdd762d7d5b17e878cad485fd54c3b402c11efe
Log:
Merge branch 'master' into JENKINS-14325
Conflicts:
changelog.html
Originally-Committed-As: ae3dac8afb6eef325958285b5a13bc933f5aacb6
Code as of a2b6a60. Complicated by fact that current Jelly will incorrectly suppress disable GUI for nested jobs - it is supposed to hide it for Maven modules and matrix configurations.