[JIRA] (JENKINS-59722) Old scm-api included in Jenkins LTS war file

0 views
Skip to first unread message

ftclausen@gmail.com (JIRA)

unread,
Oct 10, 2019, 12:17:04 AM10/10/19
to jenkinsc...@googlegroups.com
Friedrich Clausen created an issue
 
Jenkins / Bug JENKINS-59722
Old scm-api included in Jenkins LTS war file
Issue Type: Bug Bug
Assignee: Unassigned
Components: core
Created: 2019-10-10 04:16
Environment: Jenkins LTS 2.190.1 stanalone war file
Priority: Minor Minor
Reporter: Friedrich Clausen

We use the Jenkins WAR file as a test rule to verify our Job DSL prior to generating jobs on real instances. As part of this a Jenkins instance is started from the war archive obtained via the dependency "org.jenkins-ci.main:jenkins-war:2.190.1". This is, currently, the same as the war file fetched via http://mirrors.jenkins.io/war-stable/latest/jenkins.war.

When starting up this war file the following warning is shown

 

java.io.IOException: Jenkins Git plugin version 3.12.1 failed to load.
 - SCM API Plugin version 2.4.1 is older than required. To fix, install version 2.6.3 or later.
        at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:922)
        at hudson.PluginManager$2$1$1.run(PluginManager.java:545)
        at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
        at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
        at jenkins.model.Jenkins$5.runTask(Jenkins.java:1118)
        at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
        at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
        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)

After some investigation it appears that scm-api is bundled in the war file at

WEB-INF/detached-plugins/scm-api.hpi

This is the 2.4.1 version it is complaining about. Can this be updated to one that works with the latest stable Jenkins?

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo

dbeck@cloudbees.com (JIRA)

unread,
Oct 12, 2019, 12:05:03 PM10/12/19
to jenkinsc...@googlegroups.com
Daniel Beck closed an issue as Not A Defect
 

It is unclear how you're running Jenkins, but it looks like it's unsupported. Jenkins will not usually extract bundled plugin versions in normal use (and if it does, it's to ensure implied dependencies are available; but in general, if you manually manage JENKINS_HOME/plugins, the expectation is that you provide correct versions of dependencies).

Change By: Daniel Beck
Status: Open Closed
Resolution: Not A Defect

ftclausen@gmail.com (JIRA)

unread,
Oct 21, 2019, 10:56:03 PM10/21/19
to jenkinsc...@googlegroups.com
Friedrich Clausen reopened an issue
 

I don't believe our usage is unsupported; I'll include some details. We are using gradle-jenkins-jobdsl-plugin to generate Job XML from Job DSL files.

To do this gradle-jenkins-jobdsl-plugin will start an actual Jenkins instance using the war file. It is possible to include extra plugins using the "jenkinsPlugin" Gradle dependency configuration (see "How does it work" in link above).

What we have been seeing is that, if any plugin specified in "jenkinsPlugins" depends on a plugin bundled in the Jenkins core war file then it'll use that even if a newer one is specified in "jenkinsPlugins". In the case of "Git" depending on "scm-api", it uses the bundled one that is too old. Even if we specify a newer scm-api in the "jenkinsPlugin" configuration.

Reproducible Project

I have created a small example project that illustrates this issue:

https://github.com/ftclausen/JENKINS-59722

See README.md for how to trigger.

Change By: Friedrich Clausen
Resolution: Not A Defect
Status: Closed Reopened

ftclausen@gmail.com (JIRA)

unread,
Oct 21, 2019, 11:00:04 PM10/21/19
to jenkinsc...@googlegroups.com
Friedrich Clausen updated an issue
We use the Jenkins WAR file as a - test rule - Job DSL to XML generator to locally verify our Job DSL prior to generating jobs on real instances. As part of this a Jenkins instance is started from the war archive obtained via the dependency "org.jenkins-ci.main:jenkins-war:2.190.1". This is, currently, the same as the war file fetched via [http://mirrors.jenkins.io/war-stable/latest/jenkins.war.]


When starting up this war file the following warning is shown

 {noformat}

java.io.IOException: Jenkins Git plugin version 3.12.1 failed to load.
- SCM API Plugin version 2.4.1 is older than required. To fix, install version 2.6.3 or later.
        at hudson.PluginWrapper.resolvePluginDependencies(PluginWrapper.java:922)
        at hudson.PluginManager$2$1$1.run(PluginManager.java:545)
        at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run(TaskGraphBuilder.java:169)
        at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
        at jenkins.model.Jenkins$5.runTask(Jenkins.java:1118)
        at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
        at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
        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)
{noformat}


After some investigation it appears that scm-api is bundled in the war file at

WEB-INF/detached-plugins/scm-api.hpi

This is the 2.4.1 version it is complaining about. Can this be updated to one that works with the latest stable Jenkins?
Reply all
Reply to author
Forward
0 new messages