Bug 341432 - javax.xml.stream bundle is not provisioned when running java 1.5 with a package dependency
Summary: javax.xml.stream bundle is not provisioned when running java 1.5 with a packa...
Status: CLOSED DUPLICATE of bug 346174
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 341567
  Show dependency tree
 
Reported: 2011-03-30 18:27 EDT by Shawn Minto CLA
Modified: 2011-05-17 19:48 EDT (History)
4 users (show)

See Also:


Attachments
p2/org.eclipse.equinox.p2.engine/profileRegistry (599.54 KB, application/octet-stream)
2011-04-06 09:19 EDT, Steffen Pingel CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Shawn Minto CLA 2011-03-30 18:27:27 EDT
When running java 1.5 the javax.xml.stream bundle is not provisioned when there is a package dependency on it, resulting in a bad configuration and non-functional plugins.  Running with Java6 does not have this issue as this package is included in the jdk.  This could be related to the package dependency being transitive.  The bugzilla feature has a plugin import for javax.xml.bind which is the bundle that has a package import for javax.xml.stream.  These bundles are from Orbit.

I have tried this with both Eclipse 3.5.2 and 3.6.1 with the same results.

Steps to reproduce:

# start Eclipse using a java 5 VM
# add the Mylyn release repository to p2 (http://download.eclipse.org/mylyn/releases/latest)
# expand the "Mylyn Integrations" category
# select only the "Mylyn Tasks Connector: Bugzilla"
# complete the install and restart
# see that you are unable to add a bugzilla repository from within Mylyn and when running the osgi console and executing diag on org.eclipse.mylyn.bugzilla.core that the javax.xml.stream bundle is not resolved

Are there any workarounds that we should use for this?
Comment 1 Steffen Pingel CLA 2011-03-31 14:11:23 EDT
Here are some more technical details when when installing the Mylyn Bugzilla connector into the Eclipse SDK 3.6.2 running on Java 1.5.0-22:

osgi> ss mylyn

Framework is launched.

id State Bundle
198 RESOLVED org.eclipse.mylyn_3.5.0.v20110316-0100
199 INSTALLED org.eclipse.mylyn.bugzilla.core_3.5.0.v20110316-0100
200 INSTALLED org.eclipse.mylyn.bugzilla.ui_3.5.0.v20110316-0100
201 RESOLVED org.eclipse.mylyn.commons.core_3.5.0.v20110316-0100
202 ACTIVE org.eclipse.mylyn.commons.net_3.5.0.v20110316-0100
203 RESOLVED org.eclipse.mylyn.commons.repositories_0.1.0.v20110316-0100
204 RESOLVED org.eclipse.mylyn.commons.screenshots_1.0.0.v20110316-0100
205 <<LAZY>> org.eclipse.mylyn.commons.team_0.1.0.v20110316-0100
206 ACTIVE org.eclipse.mylyn.commons.ui_3.5.0.v20110316-0100
207 INSTALLED org.eclipse.mylyn.commons.xmlrpc_3.5.0.v20110316-0100
208 ACTIVE org.eclipse.mylyn.context.core_3.5.0.v20110316-0100
209 RESOLVED org.eclipse.mylyn.discovery.core_3.5.0.v20110316-0100
210 RESOLVED org.eclipse.mylyn.discovery.ui_3.5.0.v20110316-0100
211 RESOLVED org.eclipse.mylyn.monitor.core_3.5.0.v20110316-0100
212 ACTIVE org.eclipse.mylyn.monitor.ui_3.5.0.v20110316-0100
213 RESOLVED org.eclipse.mylyn.tasks.core_3.5.0.v20110316-0100
214 RESOLVED org.eclipse.mylyn.tasks.search_3.5.0.v20110316-0100
215 ACTIVE org.eclipse.mylyn.tasks.ui_3.5.0.v20110316-0100

osgi> diag 199
reference:file:plugins/org.eclipse.mylyn.bugzilla.core_3.5.0.v20110316-0100.jar [199]
Direct constraints which are unresolved:
Missing required bundle org.eclipse.mylyn.commons.xmlrpc_[3.4.0,4.0.0).
Missing required bundle org.apache.xmlrpc_0.0.0.
Leaf constraints in the dependency chain which are unresolved: 
reference:file:plugins/javax.xml.bind_2.2.0.v201103041518.jar [194]
Missing imported package javax.xml.stream_0.0.0.

This is what I found in the content.jar:

<unit id="javax.xml.bind" version="2.2.0.v201103041518" singleton="false">
<requires size="3">
<required namespace="java.package" name="javax.xml" range="[1.3.0,2.0.0)"/>
<required namespace="java.package" name="javax.activation" range="[1.1.0,1.2.0)"/>
<required namespace="java.package" name="javax.xml.stream" range="0.0.0"/>
</requires>

The other dependencies where installed but not javax.xml.stream.

osgi> ss javax

Framework is launched.

id State Bundle
4 RESOLVED javax.servlet_2.5.0.v200910301333
5 RESOLVED javax.servlet.jsp_2.0.0.v200806031607
192 RESOLVED javax.activation_1.1.0.v201005080500
193 RESOLVED javax.xml_1.3.4.v201005080400
194 INSTALLED javax.xml.bind_2.2.0.v201103041518
Comment 2 Steffen Pingel CLA 2011-03-31 14:14:27 EDT
Essentially the transitive dependency from org.eclipse.mylyn.bugzilla.core to javax.xml.bind to javax.xml.stream is not resolved by p2.

We worked around it by making the javax.xml.stream bundle an explicit dependency of the Bugzilla connector feature but I would have expected p2 to resolve this?
Comment 3 Pascal Rapicault CLA 2011-04-01 15:29:20 EDT
Could you please attach the profile file of an install where the package / bundle is missing. Thx.
Comment 4 Steffen Pingel CLA 2011-04-06 09:19:52 EDT
Created attachment 192642 [details]
p2/org.eclipse.equinox.p2.engine/profileRegistry
Comment 5 Steffen Pingel CLA 2011-05-13 13:15:04 EDT
Pascal, let me know if you need anything else.
Comment 6 Andrew Niefer CLA 2011-05-13 13:47:33 EDT
This is because the SDK product includes an IU representing the JRE:
<unit id='a.jre.javase' version='1.6.0' singleton='false'>

This IU is generated based on 1.6 and so provides the javax.xml.stream package.

The code that generates the jre IU for product builds just creates a 1.6 profile by default, there is an open bug somewhere about allowing products to choose a different jre level.
Comment 7 Steffen Pingel CLA 2011-05-13 15:04:16 EDT
Thanks for the explanation! That's good to know.
Comment 8 Pascal Rapicault CLA 2011-05-17 19:48:59 EDT
The only way to address this definitively would be to have the provisioning to actually consider the real set of packages provided by the JRE. We have been discussing that for a while but looks like we never had a bug for it, so I opened one (https://bugs.eclipse.org/bugs/show_bug.cgi?id=346174) and closing this as a dupe.

*** This bug has been marked as a duplicate of bug 346174 ***