[JIRA] [p4-plugin] (JENKINS-33417) P4 and Sonar plugins generates circular dependency warning

10 views
Skip to first unread message

aburdajewicz@cloudbees.com (JIRA)

unread,
Mar 8, 2016, 8:25:02 PM3/8/16
to jenkinsc...@googlegroups.com
Allan BURDAJEWICZ created an issue
 
Jenkins / Bug JENKINS-33417
P4 and Sonar plugins generates circular dependency warning
Issue Type: Bug Bug
Assignee: Sonar Team
Components: p4-plugin, sonar
Created: 09/Mar/16 1:24 AM
Environment: Jenkins 1.642.1
sonar-2.2+
p4-plugin-1.3.6+
Priority: Major Major
Reporter: Allan BURDAJEWICZ

When sonar-plugin 2.2 (and later) and p4-plugin 1.3.6 (and later) are both installed, the following warning warning is generated on Jenkins startup:

{{WARNING: Failed to instantiate Key[type=hudson.plugins.sonar.SonarPublisher$DescriptorImpl, annotation=[none]]; skipping this component
com.google.inject.ProvisionException: Guice provision errors:

1) Tried proxying hudson.plugins.sonar.SonarPublisher$DescriptorImpl to support a circular dependency, but it is not an interface.

1 error
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:52)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:427)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:389)
at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:380)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:388)
at hudson.ExtensionList.load(ExtensionList.java:349)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
at hudson.ExtensionList.iterator(ExtensionList.java:156)
at jenkins.model.Jenkins.getDescriptor(Jenkins.java:1207)
at org.jenkinsci.plugins.p4.ConfigurationListener.onChange(ConfigurationListener.java:28)
at hudson.model.listeners.SaveableListener.fireOnChange(SaveableListener.java:81)
at hudson.model.Descriptor.save(Descriptor.java:856)
at hudson.plugins.sonar.SonarPublisher$DescriptorImpl.<init>(SonarPublisher.java:420)
at hudson.plugins.sonar.SonarPublisher$DescriptorImpl$$FastClassByGuice$$46a6cf4e.newInstance(<generated>)
at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1058)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1.get(ExtensionFinder.java:427)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:1005)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1051)
at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:1001)
at hudson.ExtensionFinder$GuiceFinder._find(ExtensionFinder.java:389)
at hudson.ExtensionFinder$GuiceFinder.find(ExtensionFinder.java:380)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:388)
at hudson.ExtensionList.load(ExtensionList.java:349)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
at hudson.ExtensionList.getComponents(ExtensionList.java:167)
at hudson.DescriptorExtensionList.load(DescriptorExtensionList.java:185)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:287)
at hudson.ExtensionList.iterator(ExtensionList.java:156)
at hudson.ExtensionList.get(ExtensionList.java:147)
at com.cloudbees.jenkins.GitHubPushTrigger$DescriptorImpl.get(GitHubPushTrigger.java:320)
at org.jenkinsci.plugins.github.migration.Migrator.migrate(Migrator.java:41)
at org.jenkinsci.plugins.github.GitHubPlugin.postInitialize(GitHubPlugin.java:39)
at hudson.PluginManager$2$1$2.run(PluginManager.java:403)
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$8.runTask(Jenkins.java:924)
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:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)}}

This can be easily reproduce. With either sonar-plugin:2.1 or p4-plugin:1.3.5, there is no warning.

In p4-plugin version 1.3.6, a SaveableListener extension has been added:

Add Comment Add Comment
 
This message was sent by Atlassian JIRA (v6.4.2#64017-sha1:e244265)
Atlassian logo

aburdajewicz@cloudbees.com (JIRA)

unread,
Mar 8, 2016, 8:29:02 PM3/8/16
to jenkinsc...@googlegroups.com
Allan BURDAJEWICZ updated an issue
Change By: Allan BURDAJEWICZ
When *sonar-plugin 2.2* (and later) and *p4-plugin 1.3.6* (and later) are both installed, the following warning warning is generated on Jenkins startup:

{
{ code}

{code
} }

This can be easily reproduce. With either sonar-plugin:2.1 or p4-plugin:1.3.5, there is no warning.

In p4-plugin version 1.3.6, a SaveableListener extension has been added:

In sonar-plugin version 2.2, a `save()` method has been added in the constructor of the SonarPublisher default constructor:

aburdajewicz@cloudbees.com (JIRA)

unread,
Mar 30, 2016, 10:53:03 PM3/30/16
to jenkinsc...@googlegroups.com

aburdajewicz@cloudbees.com (JIRA)

unread,
Apr 24, 2016, 12:44:04 AM4/24/16
to jenkinsc...@googlegroups.com

scm_issue_link@java.net (JIRA)

unread,
May 17, 2016, 5:59:03 AM5/17/16
to jenkinsc...@googlegroups.com

Code changed in jenkins
User: Allan Burdajewicz
Path:
src/main/java/hudson/plugins/sonar/SonarGlobalConfiguration.java
http://jenkins-ci.org/commit/sonarqube-plugin/e785bee74b70b2fbe27c58ed1e1b3970c5ecc3eb
Log:
JENKINS-33417 - Remove save() of GlobalConfiguration class load to fixed circular dependencies on startup.

scm_issue_link@java.net (JIRA)

unread,
May 17, 2016, 8:25:04 AM5/17/16
to jenkinsc...@googlegroups.com

Code changed in jenkins
User: dbmeneses
Path:
src/main/java/hudson/plugins/sonar/SonarGlobalConfiguration.java
http://jenkins-ci.org/commit/sonarqube-plugin/fd7ba013aa3451930c29e23eb7a8487eb301c7e8
Log:
Merge pull request #42 from Dohbedoh/JENKINS-33417

JENKINS-33417 - Fixed circular dependency warning on Startup

scm_issue_link@java.net (JIRA)

unread,
May 17, 2016, 8:25:04 AM5/17/16
to jenkinsc...@googlegroups.com

Code changed in jenkins


User: Allan Burdajewicz
Path:
src/main/java/hudson/plugins/sonar/SonarGlobalConfiguration.java


Log:
JENKINS-33417 - Remove save() of GlobalConfiguration class load to fixed circular dependencies on startup.

scm_issue_link@java.net (JIRA)

unread,
May 17, 2016, 8:25:04 AM5/17/16
to jenkinsc...@googlegroups.com

Code changed in jenkins


User: dbmeneses
Path:
src/main/java/hudson/plugins/sonar/SonarGlobalConfiguration.java
http://jenkins-ci.org/commit/sonarqube-plugin/fd7ba013aa3451930c29e23eb7a8487eb301c7e8
Log:
Merge pull request #42 from Dohbedoh/JENKINS-33417

JENKINS-33417 - Fixed circular dependency warning on Startup

scm_issue_link@java.net (JIRA)

unread,
May 17, 2016, 8:25:04 AM5/17/16
to jenkinsc...@googlegroups.com

Code changed in jenkins


User: Allan Burdajewicz
Path:
src/main/java/hudson/plugins/sonar/SonarGlobalConfiguration.java
http://jenkins-ci.org/commit/sonarqube-plugin/20431dcd80cf34a674db1197e90e13a160865def
Log:
JENKINS-33417 - Remove save() of GlobalConfiguration class load to fixed circular dependencies on startup.

aburdajewicz@cloudbees.com (JIRA)

unread,
Jun 5, 2016, 7:36:03 PM6/5/16
to jenkinsc...@googlegroups.com
Allan BURDAJEWICZ resolved as Fixed
 

Fix Released in 2.4.1

Change By: Allan BURDAJEWICZ
Status: Open Resolved
Resolution: Fixed

pallen@perforce.com (JIRA)

unread,
Jul 8, 2016, 4:56:06 AM7/8/16
to jenkinsc...@googlegroups.com
Paul Allen closed an issue as Fixed
 

Released.

Change By: Paul Allen
Status: Resolved Closed
This message was sent by Atlassian JIRA (v7.1.7#71011-sha1:2526d7c)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages