Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1427189

Summary: Unresolved OSGi requirement breaks Eclipse help system
Product: [Fedora] Fedora Reporter: Mat Booth <mat.booth>
Component: jettyAssignee: Mikolaj Izdebski <mizdebsk>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 26CC: akurtako, eclipse-sig, java-sig-commits, krzysztof.daniel, mizdebsk, msimacek, puntogil
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: 9.4.3-3.v20170317 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-04-18 21:50:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Mat Booth 2017-02-27 14:42:49 UTC
Description of problem:

When using the integrated Eclipse help system, I see this error in the log:

!ENTRY org.eclipse.ui 4 0 2017-02-27 14:19:57.069
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoClassDefFoundError: org/eclipse/equinox/http/jetty/JettyConfigurator
        at org.eclipse.help.internal.server.JettyHelpServer$StartServerThread.run(JettyHelpServer.java:79)
Caused by: java.lang.ClassNotFoundException: org.eclipse.equinox.http.jetty.JettyConfigurator cannot be found by org.eclipse.help.base_4.1.2.v20170227-1124
        at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:372)
        at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:364)
        at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:161)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 1 more


Looking at the OSGi console, I see the following unresolved bundles:

g! ss -s INSTALLED
id      State       Bundle
97      INSTALLED   org.eclipse.equinox.http.jetty_3.3.0.v20170227-1124
143     INSTALLED   org.eclipse.jetty.http_9.4.2.v20170220
145     INSTALLED   org.eclipse.jetty.security_9.4.2.v20170220
146     INSTALLED   org.eclipse.jetty.server_9.4.2.v20170220
147     INSTALLED   org.eclipse.jetty.servlet_9.4.2.v20170220


And it seems to be caused by a missing capability:

g! diag 143
org.eclipse.jetty.http [143]
  Unresolved requirement: Require-Capability: osgi.extender; filter:="(osgi.extender=osgi.serviceloader.processor)"


This requirement seems to be new in:

jetty-http-9.4.2-1.v20170220.fc26.noarch


It doesn't look like there is a provider of this capability in Fedora. Any idea if this requirement can be made optional?

Comment 1 Mat Booth 2017-02-28 12:10:33 UTC
Adding link upstream bug report.

Comment 2 Fedora End Of Life 2017-02-28 12:27:34 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 3 Michael Simacek 2017-02-28 15:41:05 UTC
The reference implementation for the capability is Apache Aries SPI Fly [1], which is not packaged in Fedora. I can package it if needed. But from the discussion at [2] it seems that eclipse's dependencies are too coarse grained. Can you check whether you can use the suggested solution?

[1] http://aries.apache.org/modules/spi-fly.html
[2] https://github.com/eclipse/jetty.project/issues/1290

Comment 4 Mat Booth 2017-03-01 13:05:19 UTC
(In reply to Michael Simacek from comment #3)
> The reference implementation for the capability is Apache Aries SPI Fly [1],
> which is not packaged in Fedora. I can package it if needed. But from the
> discussion at [2] it seems that eclipse's dependencies are too coarse
> grained. Can you check whether you can use the suggested solution?
> 
> [1] http://aries.apache.org/modules/spi-fly.html
> [2] https://github.com/eclipse/jetty.project/issues/1290

The discussion at [2] is a bit misleading because Eclipse does not make use of  jetty-http2, it only makes use of the regular jetty-http bundle as it always has done.

From my tests (as suggested by Tom Watson in the eclipse bug), this dependency can be made optional in the jetty-http bundle.

Comment 5 Michael Simacek 2017-03-07 16:37:45 UTC
Applying Matt's patch for now.

Comment 6 Fedora Update System 2017-03-07 16:38:13 UTC
jetty-9.4.2-2.v20170220.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-94ac9ce627

Comment 7 Fedora Update System 2017-03-10 23:19:58 UTC
jetty-9.4.2-2.v20170220.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-94ac9ce627

Comment 8 Fedora Update System 2017-04-01 16:50:47 UTC
jetty-9.4.2-2.v20170220.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 9 Mat Booth 2017-04-05 11:27:31 UTC
It turns out this is not as fixed as I though it was as there is a second dependency on Apache Aries SPI Fly that should be optional :-(

I submitted another patch upstream here: https://github.com/eclipse/jetty.project/pull/1451/commits/1b9ec463a3b8b83d60359fe786c5be9b99b40591

I'd like to see this applied to F26 and F27, if possible.

Comment 10 Mikolaj Izdebski 2017-04-05 11:42:22 UTC
Fixed in jetty-9.4.3-2.v20170317

Comment 11 Fedora Update System 2017-04-05 13:31:41 UTC
jetty-9.4.3-2.v20170317.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-4a95e07013

Comment 12 Mikolaj Izdebski 2017-04-05 13:35:21 UTC
Buildroot override activated, https://bodhi.fedoraproject.org/overrides/jetty-9.4.3-2.v20170317.fc26

Comment 13 Fedora Update System 2017-04-05 21:56:05 UTC
jetty-9.4.3-2.v20170317.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-4a95e07013

Comment 14 Fedora Update System 2017-04-06 13:44:17 UTC
jetty-9.4.3-2.v20170317.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 15 Mikolaj Izdebski 2017-04-18 21:50:37 UTC
I believe that this bug is fixed in jetty-9.4.3-3.v20170317,
which is available in Fedora 26, so I am closing this bug now.

The build containing the fix can be found at Koji:
http://koji.fedoraproject.org/koji/buildinfo?buildID=880501