[JIRA] [git-client] (JENKINS-24864) java.lang.ClassNotFoundException: hudson.matrix.MatrixBuild

216 views
Skip to first unread message

philipp.marek+jenkins@linbit.com (JIRA)

unread,
Sep 25, 2014, 5:22:25 AM9/25/14
to jenkinsc...@googlegroups.com
Issue Type: Bug Bug
Assignee: Nicolas De Loof
Attachments: stacktrace.txt
Components: git-client
Created: 25/Sep/14 9:21 AM
Description:

Enabling the Git Client plugin gives an error in the "/configure" URL, see the attached file.

Environment: Jenkins ver. 1.565.2, on Debian wheezy/sid, amd64
Git client plugin 1.10.2
Project: Jenkins
Labels: plugin
Priority: Critical Critical
Reporter: Philipp Marek
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 7:06:05 AM9/25/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

Can you provide some further details?

For example, was this a fresh install of Jenkins 1.565.2 on Debian, from the Debian package, followed immediately by an installation of only the git-client-plugin 1.10.2?

Did you restart Jenkins after installing the git-client-plugin?

Did you install any other plugins?

Did you perform any other steps or have any other plugins installed that might be relevant?

What were you intending to accomplish by installing the git client plugin without installing the git plugin, or did you also install the git plugin at the same time?

Is the "git server plugin" installed (it is not needed, and has had some problems in the past)?

Is the multi-SCMs plugin installed, and if so, what version number? It has also had some interaction problems with the git client plugin?

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 7:06:05 AM9/25/14
to jenkinsc...@googlegroups.com
Change By: Mark Waite (25/Sep/14 11:04 AM)
Assignee: Nicolas De Loof Mark Waite

philipp.marek+jenkins@linbit.com (JIRA)

unread,
Sep 25, 2014, 7:50:23 AM9/25/14
to jenkinsc...@googlegroups.com

I had 1.509 installed, then tried to update. This went wrong, so I moved /var/lib/jenkins aside and reinstalled jenkins.

> Did you restart Jenkins after installing the git-client-plugin?

IIRC it did ask to be restarted anyway.

> Did you install any other plugins?

Yes, these ones:
credentials git-client git git-parameter instant-messaging ircbot
ldap mailer scm-api ssh-credentials ssh

> Did you perform any other steps or have any other plugins installed that might be relevant?

See above.

> What were you intending to accomplish by installing the git client plugin without installing the git plugin, or did you also install the git plugin at the same time?

git plugin was installed.

> Is the "git server plugin" installed (it is not needed, and has had some problems in the past)?

no.

> Is the multi-SCMs plugin installed, and if so, what version number? It has also had some interaction problems with the git client plugin?

See the above list. scm-api, if that is what you mean, is 0.2.

I verified that the problem disappears if I disable the "git-client" plugin, and restart jenkins.
No further changes were necessary.

Due to other problems I went back to 1.509, though.

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 10:52:41 AM9/25/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

Your original report says "enabling the plugin". Which plugins are enabled and which are disabled in the problem environment?

There have been cases where users reported that the git plugin was not working. At least one of those cases was caused because the user disabled the credentials plugin. The credentials plugin must be enabled for the git client plugin and the git plugin to operate.

Unfortunately, if the credentials plugin is disabled, the core messages are not as helpful as one would hope. If I recall correctly, there isn't anything obvious in the message which warns that the user may have disabled a critical infrastructure plugin (like credentials).

philipp.marek+jenkins@linbit.com (JIRA)

unread,
Sep 25, 2014, 11:15:24 AM9/25/14
to jenkinsc...@googlegroups.com

No, AFAIR I didn't run into that problem.

I could trigger the error by just enabling/disabling the Git Client plugin (and restarting jenkins); "credentials" was enabled all the time.

ricardo.ribalda@gmail.com (JIRA)

unread,
Sep 25, 2014, 11:23:35 AM9/25/14
to jenkinsc...@googlegroups.com

Apparently hudson.matrix classes were removed from jenkins on 4aad749cbe282ef33134ea924a4e547c4767ca07

https://github.com/jenkinsci/jenkins/commit/4aad749cbe282ef33134ea924a4e547c4767ca07

but it is still used by the pluginsrc/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixAggregatable;
src/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixAggregator;
src/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixBuild;
src/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixRun;
src/main/java/hudson/plugins/git/GitSCM.java:import hudson.matrix.MatrixBuild;
src/main/java/hudson/plugins/git/GitSCM.java:import hudson.matrix.MatrixRun;
src/test/java/hudson/plugins/git/AbstractGitTestCase.java:import hudson.matrix.MatrixBuild;
src/test/java/hudson/plugins/git/AbstractGitTestCase.java:import hudson.matrix.MatrixProject;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.Axis;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.AxisList;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.MatrixBuild;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.MatrixProject;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.Axis;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.AxisList;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.MatrixBuild;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.MatrixProject;
ricardo@neopili:/tmp/git-plugin$

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 11:23:47 AM9/25/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

I think that disabling the git client plugin would require that you also disable plugins which depend on that client being enabled (like the git plugin). Did you disable all plugins which depend on the git client plugin, or only the git client plugin?

ricardo.ribalda@gmail.com (JIRA)

unread,
Sep 25, 2014, 11:23:50 AM9/25/14
to jenkinsc...@googlegroups.com
 
Ricardo Ribalda edited a comment on Bug JENKINS-24864

Apparently hudson.matrix classes were removed from jenkins on 4aad749cbe282ef33134ea924a4e547c4767ca07

ricardo@neopili:/tmp/git-plugin$ git grep hudson.matrix
src/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixAggregatable;
src/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixAggregator;
src/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixBuild;
src/main/java/hudson/plugins/git/GitPublisher.java:import hudson.matrix.MatrixRun;
src/main/java/hudson/plugins/git/GitSCM.java:import hudson.matrix.MatrixBuild;
src/main/java/hudson/plugins/git/GitSCM.java:import hudson.matrix.MatrixRun;
src/test/java/hudson/plugins/git/AbstractGitTestCase.java:import hudson.matrix.MatrixBuild;
src/test/java/hudson/plugins/git/AbstractGitTestCase.java:import hudson.matrix.MatrixProject;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.Axis;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.AxisList;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.MatrixBuild;
src/test/java/hudson/plugins/git/GitPublisherTest.java:import hudson.matrix.MatrixProject;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.Axis;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.AxisList;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.MatrixBuild;
src/test/java/hudson/plugins/git/GitSCMTest.java:import hudson.matrix.MatrixProject;
ricardo@neopili:/tmp/git-plugin$ 

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 11:44:22 AM9/25/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

Ricardo Ribalda thanks very much for the pointer to MatrixBuild as a possible problem area. As far as I can tell from the Jenkins source code, the tip of the Jenkins core master branch still references hudson.matrix.MatrixBuild in JenkinsRule and in HudsonTestCase.

I assume the change by Jesse Glick was to move those classes to another location in the source tree. Had they been removed entirely from the system, the compilation of the git client plugin would fail on the tip of the master branch. Had they been removed, the elastic axis plugin, the gerrit trigger plugin, and Jenkins core itself would have failed to compile, since there are references to the MatrixBuild class in their source code.

philipp.marek+jenkins@linbit.com (JIRA)

unread,
Sep 25, 2014, 12:04:20 PM9/25/14
to jenkinsc...@googlegroups.com

The git plugin explicitly says that it was last compiled against 1.509 or so... it might really fail with newer Jenkins!

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 12:22:21 PM9/25/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

I think you've misunderstood what it is saying. The git plugin and the git client plugin support Jenkins versions 1.509 and later. Those plugins actively used at many sites with Jenkins versions newer than 1.509, including 1.532 and 1.565.*. I use the plugins heavily at two different locations that I manage. It doesn't fail in general with newer Jenkins.

I think there is something specific either about the steps you took, compared to others.

For example, if you disabled the git client plugin without disabling the git plugin, then your Jenkins was in an inconsistent state. It would be good for the Jenkins core to present a better message for those types of inconsistencies, but it is an inconsistency which the plugin itself is not able to repair.

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 12:22:20 PM9/25/14
to jenkinsc...@googlegroups.com
 
Mark Waite edited a comment on Bug JENKINS-24864

I think you've misunderstood what it is saying. The git plugin and the git client plugin support Jenkins versions 1.509 and later. Those plugins are actively used at many sites with Jenkins versions newer than 1.509, including 1.532 and 1.565.*. I use the plugins heavily at two different locations that I manage. It doesn't fail in general with newer Jenkins.

I think there is something specific either about the steps you took, compared to others.

For example, if you disabled the git client plugin without disabling the git plugin, then your Jenkins was in an inconsistent state. It would be good for the Jenkins core to present a better message for those types of inconsistencies, but it is an inconsistency which the plugin itself is not able to repair.

This message is automatically generated by JIRA.

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 1:04:21 PM9/25/14
to jenkinsc...@googlegroups.com
 
Mark Waite edited a comment on Bug JENKINS-24864

I think you've misunderstood what it is saying. The git plugin and the git client plugin support Jenkins versions 1.509 and later. Those plugins are actively used at many sites with Jenkins versions newer than 1.509, including 1.532 and 1.565.*. I use the plugins heavily at two different locations that I manage. It doesn't fail in general with newer Jenkins.

I think there is something specific about the steps you took, compared to others.

For example, if you disabled the git client plugin without disabling the git plugin, then your Jenkins was in an inconsistent state. It would be good for the Jenkins core to present a better message for those types of inconsistencies, but it is an inconsistency which the plugin itself is not able to repair.

This message is automatically generated by JIRA.

ricardo.ribalda@gmail.com (JIRA)

unread,
Sep 25, 2014, 1:33:20 PM9/25/14
to jenkinsc...@googlegroups.com

Huge DISCLAIMER: I am not a Java Developer

Mark Waite. Maybe there is a dependency missing for the git plugin. Which? I have no idea. Could you check if the MatrixBuild.class is in your war?

It seems that Jesse Glick removed completely that library. Check merge of tree extract-matrix-project 6883b915239b7a8e46b5376f65353c85d3e482c7

All the missing references to MatrixBuild seems to be in test code, so there is a chance that this is not detected on build time.

many@pececin:/tmp/jenkins$ git grep MatrixBuild
core/src/main/java/hudson/FileSystemProvisioner.java:     * but for example {@code MatrixBuild} would call this after
core/src/main/java/hudson/WebAppMain.java://                        at hudson.matrix.MatrixBuild.run(MatrixBuild.java:149)
core/src/main/java/jenkins/scm/SCMCheckoutStrategy.java: *     <li>Check out will only happen once in {@code MatrixBuild}, and its state will be then sent
core/src/main/java/jenkins/scm/SCMCheckoutStrategy.java: *     <li>{@code MatrixBuild} does no check out of its own, and check out is only done on {@code MatrixRun}s
test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java:import hudson.matrix.MatrixBuild;
test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java:        if(r instanceof MatrixBuild) {
test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java:            MatrixBuild mb = (MatrixBuild)r;
test/src/main/java/org/jvnet/hudson/test/JenkinsRule.java:import hudson.matrix.MatrixBuild;
test/src/main/java/org/jvnet/hudson/test/JenkinsRule.java:        if(r instanceof MatrixBuild) {
test/src/main/java/org/jvnet/hudson/test/JenkinsRule.java:            MatrixBuild mb = (MatrixBuild)r;
test/src/test/java/hudson/model/QueueTest.java:import hudson.matrix.MatrixBuild;
test/src/test/java/hudson/model/QueueTest.java:        List<Future<MatrixBuild>> r = new ArrayList<Future<MatrixBuild>>();
test/src/test/java/hudson/model/QueueTest.java:        for (Future<MatrixBuild> f : r)
test/src/test/java/hudson/model/QueueTest.java:        MatrixBuild build;

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 1:49:20 PM9/25/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

Ricardo Ribalda I'm the current maintainer of the git plugin and the git client plugin. I build it in continuous integration setups on Windows and Linux, with two different branches. I build the git client plugin in many different configurations as well. One of those branches is based on code very near the tip of the master branch. The MatrixBuild class is not missing from Jenkins.

As far as I understand it, the change by Jesse Glick was to move the MatrixBuild classes from the Jenkins core to a Jenkins plugin, plugins/matrix-project.

I suspect this is a case where the error message from Jenkins core is not leading directly to the root of the problem.

jglick@cloudbees.com (JIRA)

unread,
Sep 25, 2014, 2:37:44 PM9/25/14
to jenkinsc...@googlegroups.com
Jesse Glick commented on Bug JENKINS-24864

How precisely is this reproducible? (Without reference to Debian packages; by starting with an empty $JENKINS_HOME, running different versions of Jenkins using java -jar jenkins.war, managing plugins, etc.)

The matrix-project-plugin was split out of core in 1.561, moved to its own repository. (References from core test code use a binary test-scope dependency.) As of 1.561, it is a bundled plugin, so enabled by default when you run Jenkins. Other plugins compiled against 1.560 or earlier, including old versions of git-plugin (I think git-client-plugin is irrelevant here) automatically get an implicit dependency on it for compatibility; plugins compiled against 1.561 get such a dependency only if explicitly declared, which applies to new versions (currently just betas) of git-plugin. So all this is fine.

My guess is that you started with an old version of core (and an old version of the Git plugin); updated to 1.565.x, causing the bundled plugin to be extracted to $JENKINS_HOME/plugins/matrix-project/; then rolled back core, whereupon matrix-project would still be listed as installed and enabled. (Despite its expressly requiring core 1.561+; currently Jenkins does not enforce plugin-to-core version dependencies at startup. This is filed separately. If JIRA were not so slow to search I would tell you where.) At that point everything should still be fine, since classes in the class loader for git-plugin referring to MatrixBuild and the like should link to the versions of those class loaded from the Jenkins core class loader, ignoring the matrix-project-plugin class loader.

But my suspicion is that something in Stapler doing reflective calls is picking up classes from the matrix-project-plugin class loader and somehow mixing them up with other classes. I cannot offhand see how this would result in a NoClassDefFoundError. Unfortunately the stack trace does not give adequate information about the chain of class loading events (this is a limitation in HotSpot).

At any rate, if my guess about the means of reproduction is correct, then this can just be closed, with the workaround of deleting/disabling the now-unusable Matrix Project Plugin after the downgrade, noting that the future robustness fix is to enforce plugin dependencies better.

daniel@beckweb.net (JIRA)

unread,
Sep 25, 2014, 2:58:23 PM9/25/14
to jenkinsc...@googlegroups.com
Daniel Beck commented on Bug JENKINS-24864

If 1.565.x is the currently installed version, you need to verify that matrix-project-plugin is enabled in Manage Plugins » Installed. If it's not, enable it and restart Jenkins.

jglick@cloudbees.com (JIRA)

unread,
Sep 25, 2014, 4:08:11 PM9/25/14
to jenkinsc...@googlegroups.com
Jesse Glick commented on Bug JENKINS-24864

True, that is perhaps a more plausible scenario, that the newly split plugin somehow got disabled, without git-plugin also being disabled to match. (There is another filed issue that plugin-to-plugin dependencies are not enforced at startup either.)

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 25, 2014, 4:49:12 PM9/25/14
to jenkinsc...@googlegroups.com
Enabling the Git Client plugin gives an error in the "/configure" URL, see the attached file.


{noformat}
Stack trace

javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/run/jenkins/war/WEB-INF/lib/jenkins-core-1.565.2.jar!/lib/form/section.jelly:48:21: <d:invokeBody> hudson/matrix/MatrixBuild
at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:103)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:728)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1496)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:95)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:87)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1484)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1476)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
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:745)
Caused by: org.apache.commons.jelly.JellyTagException: jar:file:/run/jenkins/war/WEB-INF/lib/jenkins-core-1.565.2.jar!/lib/form/section.jelly:48:21: <d:invokeBody> hudson/matrix/MatrixBuild
at org.apache.commons.jelly.impl.TagScript.handleException(TagScript.java:745)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:289)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.WhenTag.doTag(WhenTag.java:46)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)
at org.apache.commons.jelly.tags.core.ForEachTag.doTag(ForEachTag.java:150)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.ReallyStaticTagLibrary$1.run(ReallyStaticTagLibrary.java:99)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)
at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)
at org.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)
at org.kohsuke.stapler.jelly.JellyFacet$1.dispatch(JellyFacet.java:95)
... 43 more
Caused by: java.lang.NoClassDefFoundError: hudson/matrix/MatrixBuild
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2436)
at java.lang.Class.privateGetPublicFields(Class.java:2469)
at java.lang.Class.getFields(Class.java:1415)
at org.kohsuke.stapler.ClassDescriptor.<init>(ClassDescriptor.java:72)
at org.kohsuke.stapler.MetaClass.buildDispatchers(MetaClass.java:105)
at org.kohsuke.stapler.MetaClass.<init>(MetaClass.java:93)
at org.kohsuke.stapler.WebApp.getMetaClass(WebApp.java:203)
at org.kohsuke.stapler.jelly.groovy.GroovyFacet.createRequestDispatcher(GroovyFacet.java:106)
at org.kohsuke.stapler.RequestImpl.getView(RequestImpl.java:183)
at org.kohsuke.stapler.RequestImpl.getView(RequestImpl.java:178)
at hudson.model.Descriptor.getHelpFile(Descriptor.java:648)
at hudson.model.Descriptor.getHelpFile(Descriptor.java:630)
at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.commons.jexl.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:258)
at org.apache.commons.jexl.parser.ASTMethod.execute(ASTMethod.java:104)
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.ASTReferenceExpression.value(ASTReferenceExpression.java:51)
at org.apache.commons.jexl.ExpressionImpl.evaluate(ExpressionImpl.java:80)
at hudson.ExpressionFactory2$JexlExpression.evaluate(ExpressionFactory2.java:74)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$3.run(CoreTagLibrary.java:134)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$1.run(CoreTagLibrary.java:98)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)
at org.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)
at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)
at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)
at org.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)
at org.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)
... 121 more
Caused by: java.lang.ClassNotFoundException: hudson.matrix.MatrixBuild
at jenkins.util.AntClassLoader.findClassInComponents(AntClassLoader.java:1375)
at jenkins.util.AntClassLoader.findClass(AntClassLoader.java:1325)
at jenkins.util.AntClassLoader.loadClass(AntClassLoader.java:1078)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 153 more
{noformat}

ricardo.ribalda@gmail.com (JIRA)

unread,
Sep 27, 2014, 7:52:41 AM9/27/14
to jenkinsc...@googlegroups.com

I have tried with matrix-project and git plugin enabled, and still no luck. Check the attached log. There is already a debian bug related to this https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762798

If I downgrade, everything works again

Running from: /usr/share/jenkins/jenkins.war
Sep 26, 2014 9:37:03 AM winstone.Logger logInternal
INFO: Beginning extraction from war file
Sep 26, 2014 9:37:03 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: jetty-8.y.z-SNAPSHOT
Sep 26, 2014 9:37:04 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
Jenkins home directory: /var/lib/jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
Sep 26, 2014 9:37:04 AM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Started SelectChann...@0.0.0.0:8080
Sep 26, 2014 9:37:04 AM winstone.Logger logInternal
INFO: Winstone Servlet Engine v2.0 running: controlPort=disabled
Sep 26, 2014 9:37:04 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Sep 26, 2014 9:37:04 AM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Sep 26, 2014 9:37:04 AM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Sep 26, 2014 9:37:04 AM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Sep 26, 2014 9:37:04 AM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Sep 26, 2014 9:37:06 AM jenkins.InitReactorRunner$1 onTaskFailed
SEVERE: Failed Loading job Altium Database to Sqlite
java.lang.ClassCastException: java.util.Vector cannot be cast to hudson.util.DescribableList
	at hudson.model.AbstractProject.triggers(AbstractProject.java:339)
	at hudson.model.AbstractProject.onLoad(AbstractProject.java:322)
	at hudson.model.Project.onLoad(Project.java:90)
	at hudson.model.Items.load(Items.java:273)
	at jenkins.model.Jenkins$18.run(Jenkins.java:2587)
	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
	at jenkins.model.Jenkins$7.runTask(Jenkins.java:900)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
	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:745)

Sep 26, 2014 9:37:06 AM jenkins.InitReactorRunner$1 onTaskFailed
SEVERE: Failed Loading job AXI_LX100T_CMOSIF-multi-12b-xformlegacy
java.lang.ClassCastException: java.util.Vector cannot be cast to hudson.util.DescribableList
	at hudson.model.AbstractProject.triggers(AbstractProject.java:339)
	at hudson.model.AbstractProject.onLoad(AbstractProject.java:322)
	at hudson.model.Project.onLoad(Project.java:90)
	at hudson.model.Items.load(Items.java:273)
	at jenkins.model.Jenkins$18.run(Jenkins.java:2587)
	at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
	at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:282)
	at jenkins.model.Jenkins$7.runTask(Jenkins.java:900)
	at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:210)
	at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
	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:745)
This message is automatically generated by JIRA.

ricardo.ribalda@gmail.com (JIRA)

unread,
Sep 27, 2014, 7:52:42 AM9/27/14
to jenkinsc...@googlegroups.com
 
Ricardo Ribalda edited a comment on Bug JENKINS-24864

I have tried with matrix-project and git plugin enabled, and still no luck. Check the attached log. There is already a debian bug related to this https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=762798

If I downgrade, everything works again. Maybe another missing plugin?

This message is automatically generated by JIRA.

ebourg@apache.org (JIRA)

unread,
Sep 27, 2014, 8:38:41 AM9/27/14
to jenkinsc...@googlegroups.com
 
Emmanuel Bourg edited a comment on Bug JENKINS-24864

Hi, I'm the one who packaged the latest version of Jenkins in Debian. There is notable difference with the package from the Debian repository vs the one downloaded from the jenkins-ci.org site, it's installed with no plugin enabled. We haven't managed to package all the default plugins yet. So if a plugin assumes another one is installed by default and doesn't declare the dependency explicitly, it may cause such issues.

The ClassCastException exception is a Debian specific issue which is going to be resolved (bytecode-compatibility-transformer isn't available in Debian yet, we patched the code around this issue in the meantime but it seems to be incomplete).

ebourg@apache.org (JIRA)

unread,
Sep 27, 2014, 8:38:40 AM9/27/14
to jenkinsc...@googlegroups.com

Hi, I'm the one who packaged the latest version of Jenkins in Debian. There is notable difference with the package from the Debian repository vs the one downloaded from the jenkins-ci.org site, it's installed with no plugin enabled. We haven't manage to package all the default plugins yet. So if a plugin assumes another one is installed by default and doesn't declare the dependency explicitly, it may cause such issues.

The ClassCastException exception is a Debian specific issue which is going to be resolved (bytecode-compatibility-transformer isn't available in Debian yet, we patched the code around this issue in the meantime but it seems to be incomplete).

This message is automatically generated by JIRA.

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 27, 2014, 9:03:42 AM9/27/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

I am unable to duplicate the problem. The steps I took included:

  1. Login to my Debian Jessie x64 machine
  2. Remove the .jenkins directory (rm -rf .jenkins)
  3. Start /usr/share/jenkins/jenkins.war (java -jar /usr/share/jenkins/jenkins.war --httpPort=9090)
  4. Browse to Jenkins Configure System page (http://jessie64a:9090/configure), confirm it is well behaved
  5. Refresh the Jenkins plugin list from update center (Check Now button at http://jessie64a:9090/pluginManager/advanced)
  6. Installed the latest versions of all the plugin updates detected
  7. Restart Jenkins
  8. Install additional plugins (git, git parameter, and more)
  9. Restart Jenkins
  10. Browse to Jenkins Configure System page (http://jessie64a:9090/configure), confirm it is well behaved
  11. Disable git-client plugin
  12. Restart Jenkins
  13. Browse to Jenkins Configure System page (http://jessie64a:9090/configure), confirm it is well behaved

For reference, the contents of my .jenkins/plugins directory is:

ant                                   git.jpi                mapdb-api                  ssh-credentials.bak
antisamy-markup-formatter             git-parameter          mapdb-api.jpi              ssh-credentials.jpi
antisamy-markup-formatter.bak         git-parameter.jpi      matrix-auth                ssh-credentials.jpi.pinned
antisamy-markup-formatter.jpi         instant-messaging      matrix-auth.bak            ssh-slaves
antisamy-markup-formatter.jpi.pinned  instant-messaging.jpi  matrix-auth.jpi            ssh-slaves.bak
ant.jpi                               ircbot                 matrix-auth.jpi.pinned     ssh-slaves.jpi
credentials                           ircbot.jpi             matrix-project             ssh-slaves.jpi.pinned
credentials.bak                       javadoc                matrix-project.bak         subversion
credentials.jpi                       javadoc.bak            matrix-project.jpi         subversion.bak
credentials.jpi.pinned                javadoc.jpi            matrix-project.jpi.pinned  subversion.jpi
cvs                                   javadoc.jpi.pinned     maven-plugin               subversion.jpi.pinned
cvs.bak                               ldap                   maven-plugin.bak           translation
cvs.jpi                               ldap.bak               maven-plugin.jpi           translation.bak
cvs.jpi.pinned                        ldap.jpi               maven-plugin.jpi.pinned    translation.jpi
external-monitor-job                  ldap.jpi.pinned        pam-auth                   translation.jpi.pinned
external-monitor-job.jpi              mailer                 pam-auth.jpi               windows-slaves
git                                   mailer.bak             scm-api                    windows-slaves.jpi
git-client                            mailer.jpi             scm-api.jpi
git-client.jpi                        mailer.jpi.pinned      ssh-credentials

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 27, 2014, 9:07:40 AM9/27/14
to jenkinsc...@googlegroups.com
Mark Waite commented on Bug JENKINS-24864

Emmanuel Bourg thanks for the clarification that the issue may be specific to the Jenkins package bundled with Debian.

The last time I attempted to use the Jenkins package bundled with Debian was several years ago. For reasons I do not recall, I eventually decided that it was better to use the Debian repository from the Jenkins project to deliver Jenkins, even on Debian, rather than using the Jenkins package provided by Debian.

I'll stop my investigation of the issue, since you're investigating, and you're probably already tracking it through the Debian bug report.

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 27, 2014, 9:09:43 AM9/27/14
to jenkinsc...@googlegroups.com
Mark Waite resolved Bug JENKINS-24864 as Cannot Reproduce

Bug in the Jenkins package provided by the Debian project. Cannot reproduce it with the Jenkins package provided by the Jenkins project.

The Debian bug is being investigate by Emmanuel Bourg.

Change By: Mark Waite (27/Sep/14 1:08 PM)
Status: Open Resolved
Resolution: Cannot Reproduce

mark.earl.waite@gmail.com (JIRA)

unread,
Sep 27, 2014, 9:09:44 AM9/27/14
to jenkinsc...@googlegroups.com
Change By: Mark Waite (27/Sep/14 1:08 PM)
Status: Resolved Closed
Reply all
Reply to author
Forward
0 new messages