Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 339011

Summary: Issue with Hello Service DS Host example
Product: [RT] ECF Reporter: Balazs Banfai <bbanfai>
Component: ecf.examplesAssignee: Scott Lewis <slewis>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: slewis
Version: unspecified   
Target Milestone: 3.5.0   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Balazs Banfai CLA 2011-03-05 12:27:34 EST
Build Identifier: 20110218-091

Hi,

I have downloaded and installed the latest ECF examples from the Git repository. When I try to run the hello.ds.host, I get the exception below. I am running the example from the product file included and the non-declarative example works just fine. I am using Eclipse Java EE IDE for Web Developers Version: Helios Service Release 2 Build id: 20110218-0911. My ECF version is 3.3.0.v20100615-1452.

Is this a problem with the start order of the bundles?

!MESSAGE While loading class " org.eclipse.ecf.internal.osgi.services.distribution.Discover edServiceTrackerImpl$DiscoveredEndpointEvent ", thread "Thread[JMDNS Discovery Thread,5,main]" timed out waiting (5000ms) for thread "Thread[Start Level Event Dispatcher,5,main]" to finish starting bundle " org.eclipse.ecf.osgi.services.distribution_1.2.0.v20100615-1 451 [14]". To avoid deadlock, thread "Thread[JMDNS Discovery Thread,5,main]" is proceeding but " org.eclipse.ecf.internal.osgi.services.distribution.Discover edServiceTrackerImpl$DiscoveredEndpointEvent " may not be fully initialized.
!STACK 0
org.osgi.framework.BundleException: State change in progress for bundle "initial@reference :file:plugins/org.eclipse.ecf.osgi.services.distribution_1.2 .0.v20100615-1451.jar/ " by thread "Start Level Event Dispatcher".
at org.eclipse.osgi.framework.internal.core.AbstractBundle.begi nStateChange(AbstractBundle.java:1077)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.star t(AbstractBundle.java:282)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAct ion.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger (BundleLoader.java:265)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter .postFindLocalClass(EclipseLazyStarter.java:106)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass (BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.eclipse.ecf.internal.osgi.services.distribution.Discover edServiceTrackerImpl.serviceChanged(DiscoveredServiceTracker Impl.java:151)
at org.eclipse.ecf.internal.osgi.services.discovery.ServicePubl icationHandler.notifyDiscoveredServiceTrackers(ServicePublic ationHandler.java:103)
at org.eclipse.ecf.internal.osgi.services.discovery.ServicePubl icationHandler.serviceDiscovered(ServicePublicationHandler.j ava:73)
at org.eclipse.ecf.discovery.AbstractDiscoveryContainerAdapter. fireServiceDiscovered(AbstractDiscoveryContainerAdapter.java :120)
at org.eclipse.ecf.provider.jmdns.container.JMDNSDiscoveryConta iner.fireDiscovered(JMDNSDiscoveryContainer.java:366)
at org.eclipse.ecf.provider.jmdns.container.JMDNSDiscoveryConta iner$2.run(JMDNSDiscoveryContainer.java:327)
at org.eclipse.ecf.provider.jmdns.container.JMDNSDiscoveryConta iner$1.run(JMDNSDiscoveryContainer.java:125)
at java.lang.Thread.run(Thread.java:680)
Caused by: org.eclipse.osgi.framework.internal.core.AbstractBundle$Bund leStatusException
... 21 more
Root exception:
org.eclipse.osgi.framework.internal.core.AbstractBundle$Bund leStatusException
at org.eclipse.osgi.framework.internal.core.AbstractBundle.begi nStateChange(AbstractBundle.java:1077)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.star t(AbstractBundle.java:282)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAct ion.java:417)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger (BundleLoader.java:265)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter .postFindLocalClass(EclipseLazyStarter.java:106)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLoc alClass(ClasspathManager.java:453)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.fin dLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass (BundleLoader.java:393)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInter nal(BundleLoader.java:469)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:422)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(Bund leLoader.java:410)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loa dClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at org.eclipse.ecf.internal.osgi.services.distribution.Discover edServiceTrackerImpl.serviceChanged(DiscoveredServiceTracker Impl.java:151)
at org.eclipse.ecf.internal.osgi.services.discovery.ServicePubl icationHandler.notifyDiscoveredServiceTrackers(ServicePublic ationHandler.java:103)
at org.eclipse.ecf.internal.osgi.services.discovery.ServicePubl icationHandler.serviceDiscovered(ServicePublicationHandler.j ava:73)
at org.eclipse.ecf.discovery.AbstractDiscoveryContainerAdapter. fireServiceDiscovered(AbstractDiscoveryContainerAdapter.java :120)
at org.eclipse.ecf.provider.jmdns.container.JMDNSDiscoveryConta iner.fireDiscovered(JMDNSDiscoveryContainer.java:366)
at org.eclipse.ecf.provider.jmdns.container.JMDNSDiscoveryConta iner$2.run(JMDNSDiscoveryContainer.java:327)
at org.eclipse.ecf.provider.jmdns.container.JMDNSDiscoveryConta iner$1.run(JMDNSDiscoveryContainer.java:125)
at java.lang.Thread.run(Thread.java:680)

Reproducible: Always

Steps to Reproduce:
1. Run hello.ds.host from the product file as an osgi application.
2. Open the console to see the error message.
3.
Comment 1 Scott Lewis CLA 2011-03-05 14:49:07 EST
Thanks for the report.

I believe this is a problem induced by the move from 'old' remote services (ECF 3.4) to the Remote Service Admin implementation.  I'm working on a fix to the examples (to product configurations and ds xml files) and will release shortly.
Comment 2 Scott Lewis CLA 2011-03-05 15:40:56 EST
I've debugged the hello.host.ds and hello.consumer.ds projects...there were some changes necessary because of the shift over to the remote service admin in ECF 3.5 (release upcoming shortly).

I've tested these out locally and the host and consumer now start up for me locally ok.  So I'm resolving this as fixed.  These fixes need to be built by the ECF builder, so won't appear immediately, but will soon.

I've pushed the changes to master, so any subsequent builds will include these changes.  I'm resolving this bug as fixed. If you don't see things as fixed in future builds please reopen.

Thanks for the report.