Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 407730 - Eclipse for Testers - Kepler RC1 : majority of Jubula core bundles don't start
Summary: Eclipse for Testers - Kepler RC1 : majority of Jubula core bundles don't start
Status: CLOSED FIXED
Alias: None
Product: Jubula
Classification: Technology
Component: Core (show other bugs)
Version: unspecified   Edit
Hardware: All All
: P1 blocker (vote)
Target Milestone: Kepler   Edit
Assignee: Markus Tiede CLA
QA Contact: Oliver Goetz CLA
URL:
Whiteboard:
Keywords:
Depends on: 409122
Blocks:
  Show dependency tree
 
Reported: 2013-05-10 06:49 EDT by Markus Tiede CLA
Modified: 2013-06-17 03:54 EDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Tiede CLA 2013-05-10 06:49:17 EDT
Eclipse for Testers - Kepler M7 does not work at all (at least on Mac OS X) due to:

====
osgi> diag 187
reference:file:plugins/org.eclipse.jubula.client.core_2.1.0.201305061353.jar [187]
  Direct constraints which are unresolved:
    Missing required bundle org.eclipse.persistence.jpa.osgi_[2.2.0,3.0.0).
  Leaf constraints in the dependency chain which are unresolved:
    reference:file:plugins/org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345.jar [269]
      Missing imported package javax.persistence.spi_[1.1.0,2.2.0).
    reference:file:plugins/org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345.jar [269]
      Missing imported package javax.persistence_[1.1.0,2.2.0).
    reference:file:plugins/org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345.jar [269]
      Missing imported package javax.persistence.criteria_[1.1.0,2.2.0).
    reference:file:plugins/org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345.jar [269]
      Missing imported package javax.persistence.metamodel_[1.1.0,2.2.0).

osgi> ss persistence
"Framework is launched."
id	State       Bundle
14	ACTIVE      javax.persistence_2.1.0.v201304241213
264	RESOLVED    org.eclipse.persistence.antlr_3.2.0.v201302191141
265	RESOLVED    org.eclipse.persistence.asm_3.3.1.v201302191223
266	RESOLVED    org.eclipse.persistence.core_2.5.0.v20130425-368d603
	            Fragments=270
267	RESOLVED    org.eclipse.persistence.jpa_2.5.0.v20130425-368d603
268	RESOLVED    org.eclipse.persistence.jpa.jpql_2.5.0.v20130425-368d603
269	INSTALLED   org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345
270	RESOLVED    org.eclipse.persistence.oracle_2.5.0.v20130403-3bb7011
	            Master=266
Comment 1 Markus Knauer CLA 2013-05-12 06:38:32 EDT
For some reason I don't see the error here. It must have something to do with bundle org.eclipse.persistence.jpa.osgi because this complains about missing dependencies that cannot be resolved:

org.eclipse.persistence.jpa.osgi
osgi> diag 268
reference:file:plugins/org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345.jar [268]
  Direct constraints which are unresolved:
    Missing imported package javax.persistence_[1.1.0,2.2.0).
    Missing imported package javax.persistence.criteria_[1.1.0,2.2.0).
    Missing imported package javax.persistence.metamodel_[1.1.0,2.2.0).
    Missing imported package javax.persistence.spi_[1.1.0,2.2.0).

If I am trying to start it manually from the console, it behaves as expected and throws an error:

osgi> start 268
gogo: BundleException: The bundle "org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345 [268]" could not be resolved. Reason: Missing Constraint: Import-Package: javax.persistence; version="[1.1.0,2.2.0)"

But the mystery starts when I look at the bundle that is supposed to export all the required packages. The above bundle complains about javax.persistence in version >=1.1.0 and <2.2.0, but the bundle below exports this package in version 2.1.0. What am I missing here?

osgi> bundle javax.persistence
javax.persistence_2.1.0.v201304241213 [14]
  Id=14, Status=ACTIVE      Data Root=/tmp/eclipse/configuration/org.eclipse.osgi/bundles/14/data
  "No registered services."
  No services in use.
  Exported packages
    javax.persistence; version="2.1.0"[exported]
    javax.persistence.criteria; version="2.1.0"[exported]
    javax.persistence.metamodel; version="2.1.0"[exported]
    javax.persistence.spi; version="2.1.0"[exported]
    org.osgi.service.jpa; version="1.1.0"[exported]
  Imported packages
    org.osgi.framework; version="1.7.0"<org.eclipse.osgi_3.9.0.v20130410-1557 [0]>
    javax.sql; version="0.0.0"<org.eclipse.osgi_3.9.0.v20130410-1557 [0]>
  No fragment bundles
  Named class space
    javax.persistence; bundle-version="2.1.0.v201304241213"[provided]
  No required bundles

I'd suggest you work with the EclipseLink people to resolve this issue.
Comment 2 Martin Oberhuber CLA 2013-05-13 02:22:55 EDT
(In reply to comment #1)
> osgi> diag 268
> reference:file:plugins/org.eclipse.persistence.jpa.osgi_2.4.1.v20121003-ad44345.jar [268]

That bundle has a surprisingly old timestamp in its qualifier (oct 2012), is that expected ?
Comment 3 Markus Tiede CLA 2013-05-13 04:04:15 EDT
Thank you for the additional comments / information - I'm investigating.
Comment 4 Markus Tiede CLA 2013-05-13 04:21:20 EDT
It seems that this issue is caused by actions taken for bug 398410.

AFAICS the version constrains mystery (not being resolved though >=1.1.0 and <2.2.0) is caused by a JPA-"version bound" version dependency 

Information taken from the corresponding MANIFEST.MF files:

=== org.eclipse.persistence.jpa.osgi == 2.4.1.v20121003-ad44345 ==
Import-Package: javax.persistence;jpa="2.0";version="[1.1.0,2.2)" ...

=== Bundle-SymbolicName: javax.persistence == 2.1.0.v201304241213 ==
Export-Package: javax.persistence;jpa="2.1";version="2.1.0"
Comment 5 Achim Loerke CLA 2013-05-13 06:23:48 EDT
@Triaged:+

Like discussed this morning this is a "must fix soon."
Comment 6 Markus Tiede CLA 2013-05-13 10:24:06 EDT
This issue is caused by using and mixing bundles (as e.g. also mentioned in comment 2) of no-longer existing API in EclipseLink 2.4 and 2.5 - tracking this deprecated API usage with bug 407889.
Comment 7 Markus Tiede CLA 2013-05-14 05:51:25 EDT
We should discuss whether we want to 
 a) for now continue using the deprecated API for the upcoming Kepler release and bundle our own version of EclipseLink JPA OSGi support
 b) or fix the deprecated API usage (bug 407889)
Comment 8 Markus Tiede CLA 2013-05-14 05:58:49 EDT
After an evaluation of path b) (see bug 407889 comment 2 and 3) we decided to give (the temporary) solution a) a chance.
Comment 9 Markus Tiede CLA 2013-05-14 07:53:54 EDT
The bundles we require and are now about to be maintained by ourselves have been removed with commit [1].

[1] http://git.eclipse.org/c/eclipselink/eclipselink.runtime.git/commit/?h=2.5&id=3f8ee56021cf172af7dda7e7cbc6b919a932f06c
Comment 10 Markus Tiede CLA 2013-05-14 08:53:50 EDT
No longer maintained "org.eclipse.persistence.jpa.osgi" bundle has been adapted (moved renamed to org.eclipse.jubula.persistence.jpa.osgi) and applied for EclipseLink 2.5 usage with changeset [1]. It is *not* intended to be used by anyone but ourselves as this is only supposed to be a temporary solution.

[1] http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/commit/?id=faa43cb7876b7ca9334afc97571a3b407525b634
Comment 11 Markus Tiede CLA 2013-05-15 07:10:52 EDT
Resolving this issue as described in comment 10 does now cause (IMO due to the change to EclipseLink 2.5) bug 408103. In addition to that we face bug 399726 and bug 399729 since using EclipseLink 2.4 - my silent wish has been that switching to EL 2.5 also resolves those issue. Since this is not the case we've now decided to switch back to EL 2.3.2 and bundle this specific version within Jubula / Eclipse for Testers. 

This - at least for now - does also make the workaround implement with changeset from comment 10 obsolete.
Comment 12 Markus Tiede CLA 2013-05-15 09:57:20 EDT
Modifications mentioned for comment 11 have been applied with changeset:

http://git.eclipse.org/c/jubula/org.eclipse.jubula.core.git/commit/?id=2249f6854dc78e5345079d52a0a7e708e9e8de13

In addition to that I removed the explicit feature dependency to "org.eclipse.persistence.jpa" from the EPP testing feature with changeset:

http://git.eclipse.org/c/epp/org.eclipse.epp.packages.git/commit/?id=310af9317f6c0e296edfbf6f24914f2d8e8ad745

We do now package the (hopefully correct) versions of the EclipseLink JPA bundles within the Jubula feature itself.
Comment 13 Alexandra Schladebeck CLA 2013-05-24 02:12:33 EDT
I've just downloaded RC1, and the same symptom is occurring. I can see the cheat sheets and the welcome pages, and the docu is there. 

However, none of the perspectives or the Jubula features / plugins are present.
Comment 14 Markus Tiede CLA 2013-05-24 03:28:55 EDT
The problem seems to be pretty much the same: again our "org.eclipse.jubula.client.core"-bundle does not get started, this time due to "Package uses conflict":

osgi> diag 191
reference:file:plugins/org.eclipse.jubula.client.core_2.1.0.201305220921.jar [191]
  Package uses conflict: Require-Bundle: org.eclipse.persistence.core; bundle-version="[2.3.0,2.4.0)"
  Package uses conflict: Require-Bundle: org.eclipse.persistence.jpa; bundle-version="[2.3.0,2.4.0)"

I'm investigating.
Comment 15 Markus Tiede CLA 2013-05-24 11:31:41 EDT
AFAICS the presence of the "javax.transaction" bundle in version "1.1.0.v201205091237" is causing this issue. 

Due to this and the "org.eclipse.osgi" bundle in version "3.9.0" multiple provider for the package "javax.transaction" are present. Disabling / removing the "javax.transaction" seems to resolve this issue while keeping everything else running.
Comment 16 Markus Tiede CLA 2013-05-24 11:31:54 EDT
FYI: the only way to track this issue down was to debug the OSGi resolving mechanism (see bug 292774) for further information on better tooling support. The resolving magic is happening in "org.eclipse.osgi.internal.module.ResolverImpl". Especially debugging / setting breakpoints in "addConflicts(...)" and "getConflicts(...)" helped me a lot.
Comment 17 Markus Tiede CLA 2013-05-27 16:00:55 EDT
As bug 409122 has been resolved please regression test this one asap or at least for Kepler RC2.
Comment 18 Raimar Bühmann CLA 2013-06-17 03:54:51 EDT
As long as bug 409122 has been already verified and closed, I close this bug, too.