[JIRA] (JENKINS-60816) ExtensionFinder Failed to resolve interface when resolving descriptor with injected interface

0 views
Skip to first unread message

mhenschke@atlassian.com (JIRA)

unread,
Jan 20, 2020, 12:24:04 AM1/20/20
to jenkinsc...@googlegroups.com
Martin Henschke created an issue
 
Jenkins / Bug JENKINS-60816
ExtensionFinder Failed to resolve interface when resolving descriptor with injected interface
Issue Type: Bug Bug
Assignee: Unassigned
Components: core
Created: 2020-01-20 05:23
Environment: Jenkins version 2.213

Mac OS 10.14.6
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

Plugins:

Bitbucket Server Integration (atlassian-bitbucket-server-integration): 1.0.4
JSch dependency plugin (jsch): 0.1.54.1
Structs Plugin (structs): 1.19
Apache HttpComponents Client 4.x API Plugin (apache-httpcomponents-client-4-api): 4.5.5-3.0
Pipeline: Declarative Extension Points API (pipeline-model-extensions): 1.3.2
Pipeline (workflow-aggregator): 2.6
Mailer Plugin (mailer): 1.21
Git plugin (git): 3.12.1
Command Agent Launcher Plugin (command-launcher): 1.2
Pipeline: API (workflow-api): 2.29
Pipeline: Job (workflow-job): 2.25
SSH Credentials Plugin (ssh-credentials): 1.13
Authentication Tokens API Plugin (authentication-tokens): 1.1
Pipeline: Shared Groovy Libraries (workflow-cps-global-lib): 2.11
Jackson 2 API Plugin (jackson2-api): 2.8.11.3
Docker Pipeline (docker-workflow): 1.14
Pipeline: Stage Tags Metadata (pipeline-stage-tags-metadata): 1.3.2
Pipeline: Milestone Step (pipeline-milestone-step): 1.3.1
Credentials Plugin (credentials): 2.3.0
Lockable Resources plugin (lockable-resources): 2.3
JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin (jquery-detached): 1.2.1
Pipeline: SCM Step (workflow-scm-step): 2.7
Matrix Authorization Strategy Plugin (matrix-auth): 2.3
Matrix Project Plugin (matrix-project): 1.14
Pipeline: Stage Step (pipeline-stage-step): 2.3
Pipeline: Build Step (pipeline-build-step): 2.7
OWASP Markup Formatter Plugin (antisamy-markup-formatter): 1.1
Pipeline: Input Step (pipeline-input-step): 2.8
bouncycastle API Plugin (bouncycastle-api): 2.16.0
JavaScript GUI Lib: Handlebars bundle plugin (handlebars): 1.1
JavaScript GUI Lib: Moment.js bundle plugin (momentjs): 1.1
Plain Credentials Plugin (plain-credentials): 1.5
Docker Commons Plugin (docker-commons): 1.5
Git client plugin (git-client): 2.7.7
Pipeline: REST API Plugin (pipeline-rest-api): 2.10
Pipeline: Basic Steps (workflow-basic-steps): 2.11
Credentials Binding Plugin (credentials-binding): 1.13
Pipeline: Declarative (pipeline-model-definition): 1.3.2
Pipeline: Stage View Plugin (pipeline-stage-view): 2.10
Pipeline: Multibranch (workflow-multibranch): 2.20
Script Security Plugin (script-security): 1.68
GIT server Plugin (git-server): 1.7
Pipeline: Declarative Agent API (pipeline-model-declarative-agent): 1.1.1
Pipeline: Step API (workflow-step-api): 2.20
Icon Shim Plugin (icon-shim): 1.0.3
Pipeline Graph Analysis Plugin (pipeline-graph-analysis): 1.1
Pipeline: Model API (pipeline-model-api): 1.3.2
Windows Slaves Plugin (windows-slaves): 1.0
Pipeline: Groovy (workflow-cps): 2.56
Pipeline: Nodes and Processes (workflow-durable-task-step): 2.22
Trilead API Plugin (trilead-api): 1.0.4
Role-based Authorization Strategy (role-strategy): 2.16
Branch API Plugin (branch-api): 2.0.18
JDK Tool Plugin (jdk-tool): 1.0
Folders Plugin (cloudbees-folder): 6.6
Durable Task Plugin (durable-task): 1.26
JUnit Plugin (junit): 1.26.1
SCM API Plugin (scm-api): 2.6.3
JavaScript GUI Lib: ACE Editor bundle plugin (ace-editor): 1.0.1
Display URL API (display-url-api): 1.0
Pipeline: Supporting APIs (workflow-support): 2.20
Priority: Major Major
Reporter: Martin Henschke

When loading the Bitbucket Server Integration plugin from a clean install of Jenkins version 2.213 and above, several entries in the stack trace are appearing. I'm looking to find a fix for the problem for the plugin, but it appears the root of the issue is in Jenkins Extension Finder:

```
hudson.ExtensionFinder$GuiceFinder$SezpozModule configure
WARNING: Failed to load com.atlassian.bitbucket.jenkins.internal.config.BitbucketServerConfiguration$DescriptorImpl
java.lang.LinkageError: Failed to resolve interface com.atlassian.bitbucket.jenkins.internal.credentials.JenkinsToBitbucketCredentials
at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:516)
at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:510)
at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:487)
at hudson.ExtensionFinder$GuiceFinder$SezpozModule.configure(ExtensionFinder.java:536)
at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:96)
at com.google.inject.Guice.createInjector(Guice.java:73)
at hudson.ExtensionFinder$GuiceFinder.<init>(ExtensionFinder.java:285)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at java.lang.Class.newInstance(Class.java:442)
at net.java.sezpoz.IndexItem.instance(IndexItem.java:181)
at hudson.ExtensionFinder$Sezpoz._find(ExtensionFinder.java:714)
at hudson.ExtensionFinder$Sezpoz.find(ExtensionFinder.java:700)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:344)
at hudson.ExtensionList.load(ExtensionList.java:381)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:317)
at hudson.ExtensionList.getComponents(ExtensionList.java:183)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1172)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:83)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.lambda$onAttained$3(ReactorListener.java:102)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.run(ReactorListener.java:109)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:102)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:177)
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)
Caused by: java.lang.NullPointerException
at hudson.ExtensionFinder$GuiceFinder$SezpozModule.resolve(ExtensionFinder.java:504)
... 33 more
```

The errors are being caused by a `NullPointerException` being thrown in `hudson.ExtensionFinder`. It occurs when resolving descriptors that have a field describing an interface annotated with `@Inject`- resolve is being called on these interfaces, causing the NPE.

The offending interfaces use `@ImplementedBy` for injection.

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

mhenschke@atlassian.com (JIRA)

unread,
Jan 20, 2020, 12:26:02 AM1/20/20
to jenkinsc...@googlegroups.com
Martin Henschke updated an issue
Change By: Martin Henschke
When loading the Bitbucket Server Integration plugin from a clean install of Jenkins version 2.213 and above, several entries in the stack trace are appearing. I'm looking to find a fix for the problem for the plugin, but it appears the root of the issue is in Jenkins Extension Finder:
{code:java}
``` {code}

The errors are being caused by a ` NullPointerException ` being thrown in ` hudson.ExtensionFinder ` . It occurs when resolving descriptors that have a field describing an interface annotated with ` @Inject ` - resolve is being called on these interfaces, causing the NPE.

The offending interfaces use
` @ImplementedBy ` for injection.

mhenschke@atlassian.com (JIRA)

unread,
Jan 20, 2020, 12:29:03 AM1/20/20
to jenkinsc...@googlegroups.com
The errors are being caused by a NullPointerException being thrown in hudson.ExtensionFinder. It occurs when resolving descriptors that have a field describing an interface annotated with @Inject- resolve is being called on these interfaces, causing the NPE.


The offending interfaces use @ImplementedBy for injection.

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

unread,
Jan 20, 2020, 12:41:03 AM1/20/20
to jenkinsc...@googlegroups.com

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

unread,
Jan 20, 2020, 12:42:03 AM1/20/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 21, 2020, 3:43:07 PM1/21/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 21, 2020, 3:43:07 PM1/21/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 21, 2020, 3:51:07 PM1/21/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 21, 2020, 3:51:11 PM1/21/20
to jenkinsc...@googlegroups.com
Jesse Glick started work on Bug JENKINS-60816
 
Change By: Jesse Glick
Status: Open In Progress

jglick@cloudbees.com (JIRA)

unread,
Jan 21, 2020, 3:57:03 PM1/21/20
to jenkinsc...@googlegroups.com

jglick@cloudbees.com (JIRA)

unread,
Jan 21, 2020, 8:30:03 PM1/21/20
to jenkinsc...@googlegroups.com
Change By: Jesse Glick
Status: In Review Fixed but Unreleased
Resolution: Fixed
Released As: 2.216

o.v.nenashev@gmail.com (JIRA)

unread,
Jan 23, 2020, 4:56:03 PM1/23/20
to jenkinsc...@googlegroups.com
Oleg Nenashev updated Bug JENKINS-60816
 

The fix was released in 2.217

Change By: Oleg Nenashev
Status: Fixed but Unreleased Resolved
Released As: 2. 216 217
Reply all
Reply to author
Forward
0 new messages