David Cao | 23 Jul 17:04 2014
Picon

Inherit package from Tomcat bootstrap classpath

Hello there,

We have an application jar that has a run-time dependency on com.sun.javadoc in JDK tools.jar. So I tried to add this line to config.ini, (we use Servlet Bridge in Tomcat 6)

org.osgi.framework.system.packages=com.sun.javadoc

But when restarted Tomcat, the Equinox framework failed to start. I am pretty sure tools.jar is in the classpath since it worked for the other non-OSGi webapp; also, I can see this in system properties,

tomcat.util.scan.DefaultJarScanner.jarsToSkip = ...,tools.jar,...

Here is my parent classloader config in launch.ini,

osgi.parentClassloader=ext
osgi.contextClassLoaderParent=ext

So, why framework could not start when the line added to config.ini? and should I change "ext" to "boot" (which I will try next ...) or "fwk"?

Also, should I consider wrap tools.jar? or any other options?

thanks!!
David


<div><div dir="ltr">Hello there,<div><br></div>
<div>We have an application jar that has a run-time dependency on com.sun.javadoc in JDK tools.jar. So I tried to add this line to config.ini, (we use Servlet Bridge in Tomcat 6)</div>
<div><br></div>
<div>org.osgi.framework.system.packages=com.sun.javadoc<br>
</div>
<div><br></div>
<div>But when restarted Tomcat, the Equinox framework failed to start. I am pretty sure tools.jar is in the classpath since it worked for the other non-OSGi webapp; also, I can see this in system properties,</div>
<div><br></div>
<div>tomcat.util.scan.DefaultJarScanner.jarsToSkip&nbsp;=&nbsp;...,tools.jar,...
</div>
<div><br></div>
<div>Here is my parent classloader config in launch.ini,</div>
<div><br></div>
<div>
<div>osgi.parentClassloader=ext</div>
<div>osgi.contextClassLoaderParent=ext</div>
</div>
<div><br></div>
<div>So, why framework could not start when the line added to config.ini? and should I change "ext" to "boot" (which I will try next ...) or "fwk"?</div>
<div><br></div>
<div>Also, should I consider wrap tools.jar? or any other options?</div>
<div><br></div>
<div>thanks!!</div>
<div>David</div>
<div><br></div>
<div><br></div>
</div></div>
Scott Lewis | 21 Jul 21:06 2014

Running junit plugin tests with security manager

We/ECF would like to be able to run some junit plugin tests (junit 3 at 
least, 4 if possible) with the java security manager running in the target.

Has anyone previously created/got the .java.security policy and 
appropriate permission.perms that would allow this to happen?   I fussed 
with creating the .java.security policy files to allow use of 
EclipseStarter, junit, etc...but didn't get very far.

Thanks,

Scott

David Cao | 21 Jul 02:29 2014
Picon

Why lost OSGi Console once upgrade to org.eclipse.equinox.servletbridge_1.2.300.v20130508-1243.jar

Hello there,

I download the bridge.war (2007 bulid); started in Tomcat 6; and I got the OSGi console; good. 

Then I updated servletbridge.jar with org.eclipse.equinox.servletbridge_1.2.300.v20130508-1243.jar under /WEB-INF/lib/; start Tomcat again; but lost OSGi console. Even if I switch back to servletbridge.jar, still doesn't see OSGi Console. 

Does anyone know why? and where I can find the change logs for servletbridge package?

Thanks!!
David
<div><div dir="ltr">Hello there,<div><br></div>
<div>I download the bridge.war (2007 bulid); started in Tomcat 6; and I got the OSGi console; good.&nbsp;</div>
<div><br></div>
<div>Then I updated servletbridge.jar with&nbsp;org.eclipse.equinox.servletbridge_1.2.300.v20130508-1243.jar under /WEB-INF/lib/; start Tomcat again; but lost OSGi console. Even if I switch back to servletbridge.jar, still doesn't see OSGi Console.&nbsp;</div>
<div><br></div>
<div>Does anyone know why? and where I can find the change logs for servletbridge package?</div>
<div><br></div>
<div>Thanks!!</div>
<div>David</div>
</div></div>
Cristiano Gavião | 19 Jul 04:14 2014
Picon

Declarative service, how should I specify properties file?

Hello,

I'm trying to use the properties with DS using this:


<at> Component(
        enabled = true,
        properties = { "boostrap.properties" })
public class ComponentControllerServiceFactoryNode {
}

That file is in the root of the bundle.

But I'm getting this error:

The specified 'entry' for the 'properties' tag at line 8 doesn't contain valid reference to a property file: boostrap.properties
could someone point me the right way to specify the property file ?

thanks,

Cristiano
<div>
    Hello,<br><br>
    I'm trying to use the properties with DS using this:<br><br><br>
     <at> Component(<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enabled = true,<br>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; properties = { "boostrap.properties" })<br>
    public class ComponentControllerServiceFactoryNode {<br>
    }<br><br>
    That file is in the root of the bundle. <br><br>
    But I'm getting this error:<br><br><blockquote>The specified 'entry' for the 'properties' tag at
        line 8 doesn't contain valid reference to a property file:
        boostrap.properties<br>
</blockquote>
    could someone point me the right way to specify the property file ?<br><br>
    thanks,<br><br>
    Cristiano<br>
</div>
David Cao | 18 Jul 20:53 2014
Picon

Tring to use Declarative Service in Servlet Bridge

I declared my service in OSGI-INF/providor.xml like this,

<?xml version="1.0" encoding="UTF-8"?>
<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="MastorConsole Providor">
   <implementation class="provider.ConsoleManagerImpl"/>
   <service>
      <provide interface="api.ConsoleManager"/>
   </service>
</scr:component>

made a reference in menifest, "Service-Component: OSGI-INF/providor.xml".

But when I redeploy and restarted Tomcat, somehow I could not see the service in the Web Console as I did otherwise using low level api in Activator. Did I missed any bundles? and also, how could I set up to collect some logs? 

The bundle list is below .... Thanks!!

masterconsole.api (1.0.0.201407181403) "masterconsole.api - interfaces" [resolved, 9] masterconsole.providor (1.0.0.201407181515) "masterconsole.providor - internal service providor" [active, 12] masterconsole.web (1.0.1.201407181403) "masterconsole.web" [active, 6] org.apache.felix.webconsole (4.2.2.all) "Apache Felix Web Management Console (All In One)" [active, 5] org.eclipse.equinox.common (3.6.200.v20130402-1505) "Common Eclipse Runtime" [active, 1] org.eclipse.equinox.http.registry (1.1.300.v20130402-1529) "Http Service Registry Extensions" [active, 4] org.eclipse.equinox.http.servlet (1.0.0.200704022148) "Http Services Servlet" [starting, 21] org.eclipse.equinox.http.servlet (1.1.400.v20130418-1354) "Http Services Servlet" [active, 22] org.eclipse.equinox.http.servletbridge (1.0.0.200704022148) "Servletbridge Http Service" [active, 3] org.eclipse.equinox.registry (3.5.301.v20130717-1549) "Extension Registry Support" [active, 24] org.eclipse.equinox.servletbridge.extensionbundle (1.3.0) "Servletbridge Extension Bundle" [resolved, 25] (fragment) org.eclipse.osgi.services (3.3.100.v20130513-1956) "OSGi Release 4.2.0 Services" [active, 27] org.eclipse.osgi (3.9.1.v20140110-1610) "OSGi System Bundle" [active, 0] org.eclipse.update.configurator (3.3.200.v20140203-1328) "Install/Update Configurator" [active, 2]

<div><div dir="ltr"><div>
<div>I declared my service in OSGI-INF/providor.xml like this,</div>
<div><br></div>
<div>
<div>&lt;?xml version="1.0" encoding="UTF-8"?&gt;</div>
<div>&lt;scr:component xmlns:scr="<a href="http://www.osgi.org/xmlns/scr/v1.1.0">http://www.osgi.org/xmlns/scr/v1.1.0</a>" name="MastorConsole Providor"&gt;</div>
<div>&nbsp; &nbsp;&lt;implementation class="provider.ConsoleManagerImpl"/&gt;</div>
<div>&nbsp; &nbsp;&lt;service&gt;</div>
<div>&nbsp; &nbsp; &nbsp; &lt;provide interface="api.ConsoleManager"/&gt;</div>
<div>&nbsp; &nbsp;&lt;/service&gt;</div>
<div>
&lt;/scr:component&gt;</div>
</div>
<div><br></div>
<div>made a reference in menifest, "Service-Component: OSGI-INF/providor.xml".</div>
<div><br></div>
<div>But when I redeploy and restarted Tomcat, somehow I could not see the service in the Web Console as I did otherwise using low level api in Activator. Did I missed any bundles? and also, how could I set up to collect some logs?&nbsp;</div>
<div><br></div>
<div>The bundle list is below .... Thanks!!</div>
<div><br></div>
<div>masterconsole.api (1.0.0.201407181403) "masterconsole.api - interfaces" [resolved, 9] 
masterconsole.providor (1.0.0.201407181515) "masterconsole.providor - internal service providor" [active, 12] 
masterconsole.web (1.0.1.201407181403) "masterconsole.web" [active, 6] 
org.apache.felix.webconsole (4.2.2.all) "Apache Felix Web Management Console (All In One)" [active, 5] 
org.eclipse.equinox.common (3.6.200.v20130402-1505) "Common Eclipse Runtime" [active, 1] 
org.eclipse.equinox.http.registry (1.1.300.v20130402-1529) "Http Service Registry Extensions" [active, 4] 
org.eclipse.equinox.http.servlet (1.0.0.200704022148) "Http Services Servlet" [starting, 21] 
org.eclipse.equinox.http.servlet (1.1.400.v20130418-1354) "Http Services Servlet" [active, 22] 
org.eclipse.equinox.http.servletbridge (1.0.0.200704022148) "Servletbridge Http Service" [active, 3] 
org.eclipse.equinox.registry (3.5.301.v20130717-1549) "Extension Registry Support" [active, 24] 
org.eclipse.equinox.servletbridge.extensionbundle (1.3.0) "Servletbridge Extension Bundle" [resolved, 25] (fragment)
org.eclipse.osgi.services (3.3.100.v20130513-1956) "OSGi Release 4.2.0 Services" [active, 27] 
org.eclipse.osgi (3.9.1.v20140110-1610) "OSGi System Bundle" [active, 0] 
org.eclipse.update.configurator (3.3.200.v20140203-1328) "Install/Update Configurator" [active, 2] </div>
<div><br></div>
</div></div></div>
Gunnar Wagenknecht | 18 Jul 18:22 2014

Class loader, class space, protection domai, package private things and fragments

Hi,

I'm investigating an issue with package private classes/methods which 
are visible to test fragments but cause trouble with Mockito/CGLIB. I 
do remember reading somewhere on a bug or in this mailing list about 
the subtle differences with the things involved. So far, I couldn't 
find it.

Classes in fragments are loaded by host bundle class loader. But there 
must be something different about them. Can someone point me to the 
lines of code in Equinox to better understand the differences?

Thanks!

-Gunnar

--

-- 
Gunnar Wagenknecht
gunnar@...

David Cao | 18 Jul 11:18 2014
Picon

Update OSGi framework embedded for org.eclipse.equinox.servletbridge_1.2.300.v20130508-1243

Hello there, 

I downloaded bridge.war and have it deployed to Tomcat 6; and it worked fine. Now I like to upgrade the OSGi version embedded in the bridge. I did this,

1. download latest equinox framework (R4_4); 
2. replace the equinox bundles in WEB-INF/eclipse/plugins folder with the new ones; 
3. update \WEB-INF\eclipse\features\org.eclipse.equinox.servletbridge.feature_1.0.0\feature.xml of plugin versions to updated ones, e.g.
   <plugin
         id="org.eclipse.osgi"
         download-size="0"
         install-size="0"
         version="3.9.1.v20140110-1610"
         unpack="false"/>

Then I started Tomcat, I was hoping to see framework is updated to 3.9.1. But instead I see following exception in console, 

So, 1st, am I doing something legal here? and what has been wrong? or do I need to update org.eclipse.equinox.servletbridge as well? Thanks!!

Jul 18, 2014 6:13:29 AM org.apache.catalina.core.ApplicationContext log
SEVERE: Error while starting Framework
java.lang.RuntimeException: Could not find framework
at org.eclipse.equinox.servletbridge.FrameworkLauncher.findFrameworkURLs(FrameworkLauncher.java:443)
at org.eclipse.equinox.servletbridge.FrameworkLauncher.start(FrameworkLauncher.java:400)
at org.eclipse.equinox.servletbridge.BridgeServlet.init(BridgeServlet.java:83)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1213)
...


<div><div dir="ltr">Hello there,&nbsp;<div><br></div>
<div>I downloaded bridge.war and have it deployed to Tomcat 6; and it worked fine. Now I like to upgrade the OSGi version embedded in the bridge. I did this,</div>
<div><br></div>
<div>
1. download latest equinox framework (R4_4);&nbsp;</div>
<div>2. replace the equinox bundles in WEB-INF/eclipse/plugins folder with the new ones;&nbsp;</div>
<div>3. update&nbsp;\WEB-INF\eclipse\features\org.eclipse.equinox.servletbridge.feature_1.0.0\feature.xml of plugin versions to updated ones, e.g.</div>
<div>
<div>&nbsp; &nbsp;&lt;plugin</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;id="org.eclipse.osgi"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;download-size="0"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;install-size="0"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;version="3.9.1.v20140110-1610"</div>
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;unpack="false"/&gt;</div>
</div>
<div><br></div>
<div>Then I started Tomcat, I was hoping to see framework is updated to 3.9.1. But instead I see following exception in console,&nbsp;</div>
<div><br></div>
<div>
So, 1st, am I doing something legal here? and what has been wrong? or do I need to update&nbsp;org.eclipse.equinox.servletbridge as well? Thanks!!</div>
<div><br></div>
<div>
<div>Jul 18, 2014 6:13:29 AM org.apache.catalina.core.ApplicationContext log</div>
<div>SEVERE: Error while starting Framework</div>
<div>java.lang.RuntimeException: Could not find framework</div>
<div>
<span class="">	</span>at org.eclipse.equinox.servletbridge.FrameworkLauncher.findFrameworkURLs(FrameworkLauncher.java:443)</div>
<div>
<span class="">	</span>at org.eclipse.equinox.servletbridge.FrameworkLauncher.start(FrameworkLauncher.java:400)</div>
<div>
<span class="">	</span>at org.eclipse.equinox.servletbridge.BridgeServlet.init(BridgeServlet.java:83)</div>
<div>
<span class="">	</span>at javax.servlet.GenericServlet.init(GenericServlet.java:212)</div>
<div>
<span class="">	</span>at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1213)</div>
</div>
<div>...</div>
<div><br></div>
<div><br></div>
</div></div>
Raymond Auge | 17 Jul 20:41 2014

osgi.bundles property

So am I right that equinox doesn't support the 'osgi.bundles' property via the framework API?

It looks like these are only supported via the EclipseStarter which isn't used when calling the Framework API.

Can I get a confirmation?

--
Raymond Augé ( <at> rotty3000)
Senior Software Architect
Liferay, Inc. ( <at> Liferay)

<div><div dir="ltr">
<div>So am I right that equinox doesn't support the 'osgi.bundles' property via the framework API?</div>
<div><br></div>
<div>It looks like these are only supported via the EclipseStarter which isn't used when calling the Framework API.</div>
<div><br></div>
<div>Can I get a confirmation?</div>
<div><br></div>
<div>-- <br><div dir="ltr">
<span><a href="http://www.liferay.com/web/raymond.auge/profile" target="_blank">Raymond Aug&eacute;</a>&nbsp;( <at> rotty3000)</span><div>
<span>Senior Software Architect</span>
</div>
<div>
<a href="http://www.liferay.com" target="_blank">Liferay, Inc.</a><span>&nbsp;( <at> Liferay)</span><div>
<div>
<div><br></div>
<p></p>
</div>
<span><span></span></span><div>
<p></p>
<p>
</p>
</div>
</div>
</div>
</div>
</div>
</div></div>
Ji Hoon Baik | 16 Jul 18:31 2014
Picon

32bit vs 64bit launcher

Gents,

 

Any help will be much appreciated on this matter.

 

Our firm is in the process of migrating from 32-bit to 64-bit machines, and my team is refitting our RCP app to run on 64-bit machine.

Initially our RCP app was failing to launch on 64-bit Win7, and we soon found out that using the x86_64 version of the equinox launcher solved the problem.

 

However, we wanted to understand why we weren’t able to run our app while still using the x32 equinox launcher.

We thought WOW64 should technically emulate 32-bit env and allow this library to run without problems.

To find an answer, we also looked for source code for eclipse_1310.so jar (3.6’s shared dll), but to no avail.

 

Would you be able to shed some light on this matter kindly?

1.       What does this eclipse_1310.so do (and can we get the source code for it?)

2.       What in it makes it necessary to keep 32-bit and 64-bit versions?

 

Jason Baik  I  IT - CFT Sales

 

From: Baik, Jason : Investment Bank (NYK) 
Sent: Wednesday, July 16, 2014 11:20 AM
Subject: Theories for why SWS is not running with 32-bit launcher

 

Reading further, I think it can be two things:

 

1. eclipse_1017.dll contains code that must run in kernel mode

 

“Since WOW64 runs in user mode, all 32-bit application code must also run in user mode. This explains why 32-bit kernel mode device drivers and applications that rely on them, will not work under Windows 64-bit.”

 

http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm

 

 

2. Say eclipse_1017.dll runs entirely in user mode and can run on Win7 via WOW64. However, if the 32-bit and 64-bit eclipse_1017.dll’s have different search paths for JVMs, SWS might be failing to start due to the inability to find a JVM.

 

“No -vm specified

When no -vm is specified, the launcher looks for a virtual machine first in a jre directory in the root of eclipse and then on the search path. If java is found in either location, then the launcher looks for a jvm shared library (jvm.dll on Windows, libjvm.so on *nix platforms) relative to that java executable.

 

If a jvm shared library is found the launcher loads it and uses the JNI invocation API to start the vm.

If no jvm shared library is found, the launcher executes the java launcher to start the vm in a new process”

 

http://help.eclipse.org/kepler/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/launcher.html

 

 

If #2 is true, this probably proves why there’s no sign of JVM launching when our SWS fails on Win7.

it might be worth experimenting:

 

1.       Check Windows system logs to see if eclipse_1017.dll throws any errors

2.       Provide an eclipse.ini file that specifies the 32 bit JVM location explicitly and try launching.

<div>
<p dir="ltr">Gents,</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">Any help will be much appreciated on this matter.</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">Our firm is in the process of migrating from 32-bit to 64-bit machines, and my team is refitting our RCP app to run on 64-bit machine.</p>
<p dir="ltr">Initially our RCP app was failing to launch on 64-bit Win7, and we soon found out that using the x86_64 version of the equinox launcher solved the problem.</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">However, we wanted to understand why we weren&rsquo;t able to run our app while still using the x32 equinox launcher.</p>
<p dir="ltr">We thought WOW64 should technically emulate 32-bit env and allow this library to run without problems.</p>
<p dir="ltr">To find an answer, we also looked for source code for eclipse_1310.so jar (3.6&rsquo;s shared dll), but to no avail.</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">Would you be able to shed some light on this matter kindly?</p>
<p dir="ltr">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;What does this eclipse_1310.so do (and can we get the source code for it?)</p>
<p dir="ltr">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;What in it makes it necessary to keep 32-bit and 64-bit versions?</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">Jason Baik&nbsp; I&nbsp; IT - CFT Sales</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">From:&nbsp;Baik, Jason : Investment Bank (NYK)&nbsp;<br>Sent:&nbsp;Wednesday, July 16, 2014 11:20 AM<br>Subject:&nbsp;Theories for why SWS is not running with 32-bit launcher</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">Reading further, I think it can be two things:</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">1. eclipse_1017.dll contains code that must run in kernel mode</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">&ldquo;Since WOW64 runs in user mode, all 32-bit application code must also run in user mode. This explains why 32-bit kernel mode device drivers and applications that rely on them, will not work under Windows 64-bit.&rdquo;</p>

<p dir="ltr">&nbsp;</p>
<p dir="ltr"><a href="http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm">http://www.techsupportalert.com/content/how-windows7-vista64-support-32bit-applications.htm</a></p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">2. Say eclipse_1017.dll runs entirely in user mode and can run on Win7 via WOW64. However, if the 32-bit and 64-bit eclipse_1017.dll&rsquo;s have different search paths for JVMs, SWS might be failing to start due to the inability to find a JVM.</p>

<p dir="ltr">&nbsp;</p>
<p dir="ltr">&ldquo;No -vm specified</p>
<p dir="ltr">When no -vm is specified, the launcher looks for a virtual machine first in a jre directory in the root of eclipse and then on the&nbsp;search path. If java is found in either location, then the launcher looks for a jvm shared library (jvm.dll on Windows, libjvm.so on *nix platforms) relative to that java executable.</p>

<p dir="ltr">&nbsp;</p>
<p dir="ltr">If a jvm shared library is found the launcher loads it and uses the JNI invocation API to start the vm.</p>
<p dir="ltr">If no jvm shared library is found, the launcher executes the java launcher to start the vm in a new process&rdquo;</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr"><a href="http://help.eclipse.org/kepler/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/launcher.html">http://help.eclipse.org/kepler/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/launcher.html</a></p>

<p dir="ltr">&nbsp;</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">If #2 is true, this probably proves why there&rsquo;s no sign of JVM launching when our SWS fails on Win7.</p>
<p dir="ltr">it might be worth experimenting:</p>
<p dir="ltr">&nbsp;</p>
<p dir="ltr">1.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Check Windows system logs to see if eclipse_1017.dll throws any errors</p>
<p dir="ltr">2.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Provide an eclipse.ini file that specifies the 32 bit JVM location explicitly and try launching.</p>
</div>
Oberhuber, Martin | 14 Jul 19:25 2014

How to measure and improve Eclipse 4.4 Statup Performance ?

Dear Equinox Committers,

 

As we’ve been upgrading our eclipse-based product to Luna, I wanted to validate that our startup performance is still good:

 

·         get an *exact* measurement for the wallclosck time Eclipse takes from double clicking eclipse.exe to seeing the UI,

·         get activation traces, such that I can debug reasons for bundle activations that are unexpected,

·         get some per-bundle timing information to understand which bundles contribute most to startup time.

 

In the past, all that was possible using –debug org.eclipse.osgi tracing options, plus Core Tools runtime spy. But it looks like ALL of the infrastructure is now broken in Luna:

 

1.       BundleStats are no longer collected for usage in Runtime Spy – looks like this feature was just removed:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=412502
As a result, the Runtime Spy looks pretty much useless – there’s no data in the “Runtime Spy” perspective at all even though monitoring is enabled.

2.       The org.eclipse.osgi/trace/activation=true tracing option doesn’t print activation stack traces to “runtime.traces” any more (is this just a bug / oversight or am I doing something wrong?)

3.       The Application Started: <timestamp> output which we get with –debug –consoleLog does not seem to be accurate any more. Measuring wallclock time, Eclipse is on average 5 seconds slower than indicated by the timestamp.

 

Reading the docs, I found a reference to the newly introduced debug/bundleTime tracing option, but I’m unsure how to interpret the data; it also seems to be very inexact and thus useless to me (getting nanosecond resolution would be good

when available).

 

Is there any new infrastructure available to get me the data I need ?

How do others measure and improve startup performance ?

Shall I just file defects for the regressions observed ?

 

Thanks,

Martin

--

Martin Oberhuber, SMTS / Product Owner – Development Tools, Wind River

direct +43.662.457915.85  fax +43.662.457915.6

 

<div>
<div class="WordSection1">
<p class="MsoNormal"><span>Dear Equinox Committers,<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>As we&rsquo;ve been upgrading our eclipse-based product to Luna, I wanted to validate that our startup performance is still good:<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoListParagraph"><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span>get an *exact* measurement for the wallclosck time Eclipse takes from double clicking eclipse.exe to seeing the UI,<p></p></span></p>
<p class="MsoListParagraph"><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span>get activation traces, such that I can debug reasons for bundle activations that are unexpected,<p></p></span></p>
<p class="MsoListParagraph"><span><span>&middot;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span>get some per-bundle timing information to understand which bundles contribute most to startup time.<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>In the past, all that was possible using &ndash;debug org.eclipse.osgi tracing options, plus Core Tools runtime spy. But it looks like ALL of the infrastructure is now broken in Luna:<p></p></span></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoListParagraph">
<span>1.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>BundleStats are no longer collected for usage in Runtime Spy &ndash; looks like this feature was just removed:<br><a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=412502">https://bugs.eclipse.org/bugs/show_bug.cgi?id=412502</a><br>
As a result, the Runtime Spy looks pretty much useless &ndash; there&rsquo;s no data in the &ldquo;Runtime Spy&rdquo; perspective at all even though monitoring is enabled.<p></p></p>
<p class="MsoListParagraph">
<span>2.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>The org.eclipse.osgi/trace/activation=true tracing option doesn&rsquo;t print activation stack traces to &ldquo;runtime.traces&rdquo; any more (is this just a bug / oversight or am I doing something wrong?)<p></p></p>
<p class="MsoListParagraph"><span>3.<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span>The Application Started: &lt;timestamp&gt; output which we get with &ndash;debug &ndash;consoleLog does not seem to be accurate any more. Measuring wallclock time, Eclipse is on average 5 seconds slower than indicated by the timestamp.<p></p></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
<p class="MsoNormal"><span>Reading the docs, I found a reference to the newly introduced
debug/bundleTime tracing option, but I&rsquo;m unsure how to interpret the data; it also seems to be very inexact and thus useless to me (getting nanosecond resolution would be good
<p></p></span></p>
<p class="MsoNormal"><span>when available).<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>Is there any new infrastructure available to get me the data I need ?<p></p></span></p>
<p class="MsoNormal"><span>How do others measure and improve startup performance ?<p></p></span></p>
<p class="MsoNormal"><span>Shall I just file defects for the regressions observed ?<p></p></span></p>
<p class="MsoNormal"><span><p>&nbsp;</p></span></p>
<p class="MsoNormal"><span>Thanks,<p></p></span></p>
<p class="MsoNormal"><span>Martin</span><span><p></p></span></p>
<p class="MsoNormal"><span>--</span><span><p></p></span></p>
<p class="MsoNormal"><span>Martin&nbsp;Oberhuber</span><span>, SMTS / Product Owner &ndash; Development Tools,
</span><span>Wind River</span><span><p></p></span></p>
<p class="MsoNormal"><span>direct +43.662.457915.85&nbsp;&nbsp;fax +43.662.457915.6</span><span><p></p></span></p>
<p class="MsoNormal"><p>&nbsp;</p></p>
</div>
</div>
Edwin Steiner | 30 Jun 09:55 2014

Dependency Resolution Problem with "uses" Directive

Hello all

It seems that the "uses" directive for "Export-Package" headers is not applied correctly when declarative services are used.

I have a declarative service, which is made of 3 bundles:
- shared.datamodel = containing the data types (in package dl)
- shared.serviceintf = containing the service interface (in package sl)
- shared.servicelocator = containing the declarative service component

These 3 bundles exist in two versions: 1.1.0 and 1.2.0. The datamodel bundles export the "dl" package. The serviceintf bundles export the "sl" package. The serviceintf bundles import the datamodel package with a version range = [1.0.0,2.0.0) and define a "uses" directive for its export.

There are two client bundles FrontendA and FrontendB. Each of them has an exact (e.g. FrontendA has range = [1.1.0,1.1.1) and FrontendB has range = [1.2.0,1.2.1)) package dependency to one of the datamodel and the serviceintf bundles.

So my bundles at runtime are:
- shared.datamodel 1.1.0
- shared.datamodel 1.2.0
- shared.serviceintf 1.1.0
- shared.serviceintf 1.2.0
- shared.servicelocator 1.1.0
- shared.servicelocator 1.2.0
- frontendA 1.0.0
- frontendB 1.0.0

What I see during the dependency resolution at startup is, that the shared.serviceintf 1.1.0 bundle is wired to the "dl" package of the shared.datamodel 1.2.0 bundle. 

What I would expect, is that is should be wired to version 1.1.0. Why? Because of the uses directive of the export package of "sl". My understanding is that this directive makes sure, that all importers of the "sl" package must get the "dl" package from the same exporter. Because the frontendA bundle has a more strict version to the "dl" package, it must used also for all other dependend bundles.

The error that shows up is:

~~~
!ENTRY org.eclipse.osgi 2 0 2014-06-27 11:17:43.667
!MESSAGE The following is a complete list of bundles which are not resolved, see the prior log entry for the root cause if it exists:
!SUBENTRY 1 org.eclipse.osgi 2 0 2014-06-27 11:17:43.667
!MESSAGE Bundle frontendA_1.0.0.qualifier [2] was not resolved.
!SUBENTRY 2 frontendA 2 0 2014-06-27 11:17:43.667
!MESSAGE Package uses conflict: Require-Bundle: shared.serviceintf; bundle-version="[1.1.0,1.1.1)"
~~~

My example bundles are available at github: https://github.com/esteiner/stmp

Bundles at runtime:
~~~
id State       Bundle
0 ACTIVE      org.eclipse.osgi_3.9.1.v20130814-1242
1 ACTIVE      org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119
2 INSTALLED   frontendA_1.0.0.qualifier
3 ACTIVE      frontendB_1.0.0.qualifier
4 ACTIVE      javax.servlet_3.0.0.v201112011016
5 ACTIVE      javax.xml_1.3.4.v201005080400
6 ACTIVE      org.apache.felix.gogo.command_0.10.0.v201209301215
7 ACTIVE      org.apache.felix.gogo.runtime_0.10.0.v201209301036
8 ACTIVE      org.apache.felix.gogo.shell_0.10.0.v201212101605
9 ACTIVE      org.eclipse.core.contenttype_3.4.200.v20130326-1255
10 ACTIVE      org.eclipse.core.jobs_3.5.300.v20130429-1813
11 ACTIVE      org.eclipse.core.runtime_3.9.0.v20130326-1255
12 ACTIVE      org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004
13 RESOLVED    org.eclipse.core.runtime.compatibility.registry_3.5.200.v20130514-1256
            Master=19
14 ACTIVE      org.eclipse.equinox.app_1.3.100.v20130327-1442
15 ACTIVE      org.eclipse.equinox.common_3.6.200.v20130402-1505
16 ACTIVE      org.eclipse.equinox.console_1.0.100.v20130429-0953
17 ACTIVE      org.eclipse.equinox.ds_1.4.101.v20130813-1853
18 ACTIVE      org.eclipse.equinox.preferences_3.5.100.v20130422-1538
19 ACTIVE      org.eclipse.equinox.registry_3.5.301.v20130717-1549
            Fragments=13
20 ACTIVE      org.eclipse.equinox.util_1.0.500.v20130404-1337
21 ACTIVE      org.eclipse.osgi.services_3.3.100.v20130513-1956
22 ACTIVE      shared.datamodel_1.2.0
23 ACTIVE      shared.datamodel_1.1.0
24 ACTIVE      shared.serviceintf_1.2.0
25 ACTIVE      shared.serviceintf_1.1.0
26 ACTIVE      shared.servicelocator_1.2.0
27 ACTIVE      shared.servicelocator_1.1.0
~~~

The wiring results:

****** Result Wirings ******
   * WIRING for [org.eclipse.osgi_3.9.1.v20130814-1242]
       (r) no requires
       (w) no imports
****** Result Wirings ******
   * WIRING for [org.eclipse.osgi_3.9.1.v20130814-1242]
       (r) no requires
       (w) no imports
****** Result Wirings ******
   * WIRING for [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]
       (r) no requires
       (w) [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]:org.osgi.service.startlevel -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.startlevel
       (w) [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]:org.eclipse.osgi.service.resolver -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.resolver
       (w) [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]:org.eclipse.osgi.service.datalocation -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.datalocation
       (w) [org.eclipse.equinox.simpleconfigurator_1.0.400.v20130327-2119]:org.eclipse.osgi.framework.console -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.console
Time to load bundles: 63
****** Result Wirings ******
   * WIRING for [org.eclipse.core.runtime_3.9.0.v20130326-1255]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.osgi_3.9.1.v20130814-1242]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.core.jobs_3.5.300.v20130429-1813]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.equinox.registry_3.5.301.v20130717-1549]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.core.contenttype_3.4.200.v20130326-1255]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004]
       (r) org.eclipse.core.runtime_3.9.0.v20130326-1255 -> [org.eclipse.equinox.app_1.3.100.v20130327-1442]
       (w) [org.eclipse.core.runtime_3.9.0.v20130326-1255]:org.eclipse.core.internal.runtime.auth -> DYNAMIC
   * WIRING for [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (r) no requires
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.eclipse.equinox.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.equinox.log
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.eclipse.osgi.framework.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.log
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.eclipse.osgi.service.datalocation -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.datalocation
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.eclipse.osgi.service.debug -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.debug
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.eclipse.osgi.service.localization -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.localization
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.eclipse.osgi.service.urlconversion -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.urlconversion
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.osgi.service.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.log
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.osgi.service.url -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.url
       (w) [org.eclipse.equinox.common_3.6.200.v20130402-1505]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
   * WIRING for [org.eclipse.equinox.util_1.0.500.v20130404-1337]
       (r) no requires
       (w) [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.osgi.service.cm -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.cm
       (w) [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.osgi.service.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.log
       (w) [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
   * WIRING for [shared.serviceintf_1.2.0]
       (r) no requires
       (w) [shared.serviceintf_1.2.0]:shared.datamodel -> [shared.datamodel_1.2.0]:shared.datamodel
   * WIRING for [shared.serviceintf_1.1.0]
       (r) no requires
       (w) [shared.serviceintf_1.1.0]:shared.datamodel -> [shared.datamodel_1.2.0]:shared.datamodel
   * WIRING for [org.eclipse.core.contenttype_3.4.200.v20130326-1255]
       (r) org.eclipse.core.contenttype_3.4.200.v20130326-1255 -> [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]
       (r) org.eclipse.core.contenttype_3.4.200.v20130326-1255 -> [org.eclipse.equinox.registry_3.5.301.v20130717-1549]
       (r) org.eclipse.core.contenttype_3.4.200.v20130326-1255 -> [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:javax.xml.parsers -> [org.eclipse.osgi_3.9.1.v20130814-1242]:javax.xml.parsers
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:org.eclipse.osgi.service.debug -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.debug
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:org.xml.sax -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.xml.sax
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:org.xml.sax.ext -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.xml.sax.ext
       (w) [org.eclipse.core.contenttype_3.4.200.v20130326-1255]:org.xml.sax.helpers -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.xml.sax.helpers
   * WIRING for [javax.servlet_3.0.0.v201112011016]
       (r) no requires
       (w) no imports
   * WIRING for [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]
       (r) org.eclipse.equinox.preferences_3.5.100.v20130422-1538 -> [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (r) org.eclipse.equinox.preferences_3.5.100.v20130422-1538 -> [org.eclipse.equinox.registry_3.5.301.v20130717-1549]
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.eclipse.osgi.framework.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.log
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.eclipse.osgi.service.datalocation -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.datalocation
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.eclipse.osgi.service.debug -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.debug
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.eclipse.osgi.service.environment -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.environment
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.osgi.service.prefs -> [org.eclipse.equinox.preferences_3.5.100.v20130422-1538]:org.osgi.service.prefs
   * WIRING for [org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004]
       (r) org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004 -> [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (w) [org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004]:org.eclipse.osgi.framework.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.log
       (w) [org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004]:org.eclipse.osgi.service.datalocation -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.datalocation
       (w) [org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.core.runtime.compatibility.auth_3.2.300.v20120523-2004]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
   * WIRING for [shared.servicelocator_1.2.0]
       (r) no requires
       (w) [shared.servicelocator_1.2.0]:shared.datamodel -> [shared.datamodel_1.2.0]:shared.datamodel
       (w) [shared.servicelocator_1.2.0]:shared.serviceintf -> [shared.serviceintf_1.2.0]:shared.serviceintf
   * WIRING for [shared.servicelocator_1.1.0]
       (r) no requires
       (w) [shared.servicelocator_1.1.0]:shared.datamodel -> [shared.datamodel_1.2.0]:shared.datamodel
       (w) [shared.servicelocator_1.1.0]:shared.serviceintf -> [shared.serviceintf_1.2.0]:shared.serviceintf
   * WIRING for [frontendB_1.0.0.qualifier]
       (r) frontendB_1.0.0.qualifier -> [shared.datamodel_1.2.0]
       (r) frontendB_1.0.0.qualifier -> [shared.serviceintf_1.2.0]
       (w) no imports
   * WIRING for [org.eclipse.equinox.registry_3.5.301.v20130717-1549]
       (r) org.eclipse.equinox.registry_3.5.301.v20130717-1549 -> [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:javax.xml.parsers -> [org.eclipse.osgi_3.9.1.v20130814-1242]:javax.xml.parsers
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.service.datalocation -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.datalocation
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.service.debug -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.debug
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.service.localization -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.localization
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.storagemanager -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.storagemanager
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.xml.sax -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.xml.sax
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.xml.sax.helpers -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.xml.sax.helpers
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.service.resolver -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.resolver
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.service.environment -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.environment
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.osgi.framework.console -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.console
       (w) [org.eclipse.equinox.registry_3.5.301.v20130717-1549]:org.eclipse.core.runtime.jobs -> [org.eclipse.core.jobs_3.5.300.v20130429-1813]:org.eclipse.core.runtime.jobs
   * WIRING for [javax.xml_1.3.4.v201005080400]
       (r) javax.xml_1.3.4.v201005080400 -> [org.eclipse.osgi_3.9.1.v20130814-1242]
       (w) no imports
   * WIRING for [org.eclipse.equinox.ds_1.4.101.v20130813-1853]
       (r) no requires
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.equinox.internal.util.event -> [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.eclipse.equinox.internal.util.event
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.equinox.internal.util.hash -> [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.eclipse.equinox.internal.util.hash
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.equinox.internal.util.pool -> [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.eclipse.equinox.internal.util.pool
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.equinox.internal.util.ref -> [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.eclipse.equinox.internal.util.ref
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.equinox.internal.util.threadpool -> [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.eclipse.equinox.internal.util.threadpool
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.equinox.internal.util.timer -> [org.eclipse.equinox.util_1.0.500.v20130404-1337]:org.eclipse.equinox.internal.util.timer
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.osgi.framework.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.log
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.osgi.service.debug -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.debug
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.osgi.service.environment -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.environment
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.osgi.service.cm -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.cm
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.osgi.service.component -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.component
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.osgi.service.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.log
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.apache.felix.scr -> [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.apache.felix.scr
       (w) [org.eclipse.equinox.ds_1.4.101.v20130813-1853]:org.eclipse.osgi.framework.console -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.console
   * WIRING for [shared.datamodel_1.2.0]
       (r) no requires
       (w) no imports
   * WIRING for [shared.datamodel_1.1.0]
       (r) no requires
       (w) no imports
   * WIRING for [org.eclipse.core.jobs_3.5.300.v20130429-1813]
       (r) org.eclipse.core.jobs_3.5.300.v20130429-1813 -> [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (w) [org.eclipse.core.jobs_3.5.300.v20130429-1813]:org.eclipse.osgi.service.debug -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.debug
       (w) [org.eclipse.core.jobs_3.5.300.v20130429-1813]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.core.jobs_3.5.300.v20130429-1813]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.core.jobs_3.5.300.v20130429-1813]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.eclipse.core.jobs_3.5.300.v20130429-1813]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
   * WIRING for [org.apache.felix.gogo.shell_0.10.0.v201212101605]
       (r) no requires
       (w) [org.apache.felix.gogo.shell_0.10.0.v201212101605]:org.apache.felix.service.command -> [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.service.command
       (w) [org.apache.felix.gogo.shell_0.10.0.v201212101605]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.apache.felix.gogo.shell_0.10.0.v201212101605]:org.osgi.service.startlevel -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.startlevel
       (w) [org.apache.felix.gogo.shell_0.10.0.v201212101605]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
   * WIRING for [org.eclipse.core.runtime.compatibility.registry_3.5.200.v20130514-1256]
       (r) no requires
       (h) org.eclipse.core.runtime.compatibility.registry_3.5.200.v20130514-1256 -> org.eclipse.equinox.registry_3.5.301.v20130717-1549
       (w) no imports
   * WIRING for [org.eclipse.equinox.app_1.3.100.v20130327-1442]
       (r) org.eclipse.equinox.app_1.3.100.v20130327-1442 -> [org.eclipse.equinox.registry_3.5.301.v20130717-1549]
       (r) org.eclipse.equinox.app_1.3.100.v20130327-1442 -> [org.eclipse.equinox.common_3.6.200.v20130402-1505]
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.osgi.service.event -> DYNAMIC
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.framework.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.log
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.service.datalocation -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.datalocation
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.service.debug -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.debug
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.service.environment -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.environment
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.service.runnable -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.runnable
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.storagemanager -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.storagemanager
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.osgi.service.event -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.event
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.osgi.service.condpermadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.condpermadmin
       (w) [org.eclipse.equinox.app_1.3.100.v20130327-1442]:org.eclipse.osgi.framework.console -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.console
   * WIRING for [org.eclipse.osgi.services_3.3.100.v20130513-1956]
       (r) no requires
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:javax.servlet -> DYNAMIC
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:javax.servlet.http -> DYNAMIC
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:javax.microedition.io -> DYNAMIC
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.cm -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.cm
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.component -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.component
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.device -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.device
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.event -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.event
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.http -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.http
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.io -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.io
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.log
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.metatype -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.metatype
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.provisioning -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.provisioning
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.upnp -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.upnp
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.useradmin -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.useradmin
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.wireadmin -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.wireadmin
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:javax.servlet.http -> [javax.servlet_3.0.0.v201112011016]:javax.servlet.http
       (w) [org.eclipse.osgi.services_3.3.100.v20130513-1956]:javax.servlet -> [javax.servlet_3.0.0.v201112011016]:javax.servlet
   * WIRING for [org.eclipse.equinox.console_1.0.100.v20130429-0953]
       (r) no requires
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.apache.felix.service.command -> [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.service.command
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.eclipse.osgi.framework.console -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.framework.console
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.eclipse.osgi.service.environment -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.environment
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.eclipse.osgi.service.resolver -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.service.resolver
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.eclipse.osgi.util -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.eclipse.osgi.util
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.osgi.service.condpermadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.condpermadmin
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.osgi.service.permissionadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.permissionadmin
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.osgi.service.startlevel -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.startlevel
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.eclipse.equinox.console_1.0.100.v20130429-0953]:org.osgi.service.cm -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.cm
   * WIRING for [org.apache.felix.gogo.command_0.10.0.v201209301215]
       (r) no requires
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.apache.felix.bundlerepository -> DYNAMIC
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.apache.felix.bundlerepository.* -> DYNAMIC
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.apache.felix.service.command -> [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.service.command
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.osgi.service.log -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.log
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.osgi.service.packageadmin -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.packageadmin
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.osgi.service.startlevel -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.service.startlevel
       (w) [org.apache.felix.gogo.command_0.10.0.v201209301215]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
   * WIRING for [frontendA_1.0.0.qualifier]
       (r) frontendA_1.0.0.qualifier -> NULL!!!
       (r) frontendA_1.0.0.qualifier -> NULL!!!
       (w) [frontendA_1.0.0.qualifier]:org.osgi.framework -> NULL!!!
   * WIRING for [org.apache.felix.gogo.runtime_0.10.0.v201209301036]
       (r) no requires
       (w) [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.gogo.api -> [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.gogo.api
       (w) [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.service.command -> [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.service.command
       (w) [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.service.threadio -> [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.apache.felix.service.threadio
       (w) [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.osgi.framework -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.framework
       (w) [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.osgi.util.tracker -> [org.eclipse.osgi_3.9.1.v20130814-1242]:org.osgi.util.tracker
       (w) [org.apache.felix.gogo.runtime_0.10.0.v201209301036]:org.osgi.service.event -> [org.eclipse.osgi.services_3.3.100.v20130513-1956]:org.osgi.service.event
****** Result Wirings ******
   * WIRING for [frontendA_1.0.0.qualifier]
       (r) frontendA_1.0.0.qualifier -> NULL!!!
       (r) frontendA_1.0.0.qualifier -> NULL!!!
       (w) [frontendA_1.0.0.qualifier]:org.osgi.framework -> NULL!!!

The attached PDF shows the version ranges and the actual wiring. Because of this wiring the FrontendA bundle can not be resolved.

Best regards,
Edwin

Attachment (Dependency_Wiring.pdf): application/pdf, 38 KiB

<div><div></div></div>

Gmane