Tomas, The "Unable to create a proxy object..." message is related to blueprint and is benign (logged as INFO). When registering a service instance, it tries to create a proxy for it (for the quiesce functionality which isn't important) - on failure it uses the original instance (lucky for us). This happens sometimes - not sure why - it's an issue in the Aries Proxy lib. It would be nice if it used the JDK proxy APIs for interfaces as that's robust and only used the ASM stuff when proxying a concrete class as the JDK proxy API doesn't support that. OSGi services normally advertise an interface anyway (best practice).
Tom On Tue, Apr 18, 2017 at 9:55 AM, Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco) <tjanc...@cisco.com> wrote: > Hi guys, > > I’m working on migration of IoTDM project to Karaf4. > > I’ve done some draft changes of onem2m-core module and it’s submodules. > Some of the submodules are using Blueprint configuration. > > I have a problem when I’m running Karaf4 distribution and I try to > re-configure some of these modules through RESTCONF. > > First time everything works and module is re-configured successfully but > second time (and for all next attempts as well) I just receive 200OK but > the changed configuration is not used (the module is not re-loaded using > the new configuration). > > I’ve noticed a stack trace in logs, it’s attached. It’s printed during the > first re-configuration (nothing is printed during second and all next > attempts to re-configure the module). > > > > Could you let me know please, if it is some known issue or whether it > works well in general and the issue is related to my changes only ? > > The same steps works well for Karaf3 distribution of IoTDM. > > Thanks > > Tomas > > > > opendaylight-user@root>log:display > > 2017-04-18 06:38:51,010 | INFO | erRestartService | > printContainerRestartServiceImpl | 202 - org.opendaylight.controller.blueprint > - 0.6.0.SNAPSHOT | Restarting blueprint containers for bundle > org.opendaylight.iotdm.onem2m-protocol-http-provider_0.3.0.SNAPSHOT [267] > and its dependent bundles [] > > 2017-04-18 06:38:51,054 | INFO | ainer-ThreadPool | > BlueprintExtender | 115 - org.apache.aries.blueprint.core > - 1.6.2 | Destroying BlueprintContainer for bundle > org.opendaylight.iotdm.onem2m-protocol-http-provider/0.3.0.SNAPSHOT > > 2017-04-18 06:38:51,092 | INFO | ainer-ThreadPool | > ContextHandler | 177 - org.eclipse.jetty.util - > 8.1.19.v20160209 | stopped o.e.j.s.ServletContextHandler{/,null} > > 2017-04-18 06:38:51,145 | INFO | ainer-ThreadPool | > Onem2mHttpPluginServer | 261 - org.opendaylight.iotdm.onem2m-core > - 0.3.0.SNAPSHOT | stopHttpServer: on port: 8285 > > 2017-04-18 06:38:51,145 | INFO | ainer-ThreadPool | > Onem2mHttpBaseIotdmPlugin | 266 - > org.opendaylight.iotdm.onem2m-protocol-http-impl > - 0.3.0.SNAPSHOT | Closed HTTP Base IoTDM plugin at port: 8285, security > level: L0 > > 2017-04-18 06:38:51,281 | INFO | ainer-ThreadPool | > Onem2mRouterService | 261 - org.opendaylight.iotdm.onem2m-core > - 0.3.0.SNAPSHOT | Default router plugin removed: http > > 2017-04-18 06:38:51,281 | INFO | ainer-ThreadPool | > Onem2mHttpProvider | 267 - > org.opendaylight.iotdm.onem2m-protocol-http-provider > - 0.3.0.SNAPSHOT | Onem2mHttpProvider instance HttpProviderDefault: Closed > > 2017-04-18 06:38:51,285 | INFO | ainer-ThreadPool | > printContainerRestartServiceImpl | 202 - org.opendaylight.controller.blueprint > - 0.6.0.SNAPSHOT | Restarting blueprint container for bundle > org.opendaylight.iotdm.onem2m-protocol-http-provider_0.3.0.SNAPSHOT [267] > with paths [bundleentry://267.fwk613784740/org/opendaylight/ > blueprint/impl-blueprint.xml] > > 2017-04-18 06:38:51,299 | INFO | ainer-ThreadPool | > ServiceRecipe | 115 - org.apache.aries.blueprint.core > - 1.6.2 | Unable to create a proxy object for the service .component-1 > defined in bundle org.opendaylight.controller.sal-binding-broker-impl/ > 1.5.0.SNAPSHOT with id. Returning the original object instead. > > org.apache.aries.proxy.UnableToProxyException: > java.lang.ClassFormatError: Duplicate interface name in class file > Proxye8f10bc6_1688_47fc_b4b5_8d679dbb8631 > > at org.apache.aries.proxy.impl. > interfaces.ProxyClassLoader.createProxyClass(ProxyClassLoader.java:165) > > at org.apache.aries.proxy.impl.interfaces. > InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:97) > > at org.apache.aries.proxy.impl.AsmProxyManager. > createNewProxy(AsmProxyManager.java:80) > > at org.apache.aries.proxy.impl.AbstractProxyManager. > createDelegatingInterceptingProxy(AbstractProxyManager.java:75) > > at org.apache.aries.proxy.impl.AbstractProxyManager. > createInterceptingProxy(AbstractProxyManager.java:53) > > at org.apache.aries.blueprint.container.ServiceRecipe$ > TriggerServiceFactory.getService(ServiceRecipe.java: > 569)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceFactoryUse$1.run(ServiceFactoryUse.java:212)[ > org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at java.security.AccessController.doPrivileged(Native > Method)[:1.8.0_91] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceFactoryUse.factoryGetService(ServiceFactoryUse.java:210)[ > org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceFactoryUse.getService(ServiceFactoryUse.java:111)[ > org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceConsumer$2.getService(ServiceConsumer.java:45)[org. > eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceRegistrationImpl.getService(ServiceRegistrationImpl.java: > 496)[org.eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.serviceregistry. > ServiceRegistry.getService(ServiceRegistry.java:461)[org. > eclipse.osgi-3.10.101.v20150820-1432.jar:] > > at org.eclipse.osgi.internal.framework.BundleContextImpl. > getService(BundleContextImpl.java:619)[org.eclipse.osgi-3. > 10.101.v20150820-1432.jar:] > > at org.apache.aries.blueprint.container. > AbstractServiceReferenceRecipe.getServiceSecurely( > AbstractServiceReferenceRecipe.java:235)[115:org.apache. > aries.blueprint.core:1.6.2] > > at org.opendaylight.controller.blueprint.ext. > StaticServiceReferenceRecipe.internalCreate(StaticServiceReferenceRecipe. > java:109)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > StaticServiceReferenceRecipe.retrack(StaticServiceReferenceRecipe. > java:75)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.apache.aries.blueprint.container. > AbstractServiceReferenceRecipe.start(AbstractServiceReferenceRecipe > .java:140)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.opendaylight.controller.blueprint.ext. > StaticServiceReferenceRecipe.startTracking(StaticServiceReferenceRecipe. > java:46)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > AbstractDependentComponentFactoryMetadata.retrieveService( > AbstractDependentComponentFactoryMetadata.java:119)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > AbstractDependentComponentFactoryMetadata.retrieveService( > AbstractDependentComponentFactoryMetadata.java:104)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > DataStoreAppConfigMetadata.startTracking(DataStoreAppConfigMetadata. > java:166)[202:org.opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint.ext. > AbstractDependentComponentFactoryMetadata.startTracking( > AbstractDependentComponentFactoryMetadata.java:186)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.apache.aries.blueprint.di. > DependentComponentFactoryRecipe.start(DependentComponentFactoryRecip > e.java:55)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintContainerImpl.trackServiceReferences(BlueprintContainerImpl.java: > 636)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintContainerImpl.doRun(BlueprintContainerImpl.java: > 360)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintContainerImpl.run(BlueprintContainerImpl.java: > 276)[115:org.apache.aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender. > createContainer(BlueprintExtender.java:300)[115:org.apache.aries. > blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender. > createContainer(BlueprintExtender.java:269)[115:org.apache.aries. > blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender. > access$900(BlueprintExtender.java:68)[115:org.apache.aries. > blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container.BlueprintExtender$ > BlueprintContainerServiceImpl.createContainer(BlueprintExtender.java:602)[ > 115:org.apache.aries.blueprint.core:1.6.2] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.lambda$createContainers$6( > BlueprintContainerRestartServiceImpl.java:216)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at java.util.ArrayList.forEach( > ArrayList.java:1249)[:1.8.0_91] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.createContainers( > BlueprintContainerRestartServiceImpl.java:211)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.lambda$restartContainerAndDependentsI > nternal$3(BlueprintContainerRestartServiceImpl.java:140)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.destroyContainers( > BlueprintContainerRestartServiceImpl.java:176)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.opendaylight.controller.blueprint. > BlueprintContainerRestartServiceImpl.lambda$destroyContainers$5( > BlueprintContainerRestartServiceImpl.java:205)[202:org. > opendaylight.controller.blueprint:0.6.0.SNAPSHOT] > > at org.apache.aries.blueprint.container. > BlueprintQuiesceParticipant$QuiesceDelegatingCallback.callback( > BlueprintQuiesceParticipant.java:159)[115:org.apache. > aries.blueprint.core:1.6.2] > > at org.apache.aries.blueprint.container. > BlueprintQuiesceParticipant$QuiesceBundle.run(BlueprintQuiesceParticipant. > java:125)[115:org.apache.aries.blueprint.core:1.6.2] > > at java.util.concurrent.ThreadPoolExecutor.runWorker( > ThreadPoolExecutor.java:1142)[:1.8.0_91] > > at java.util.concurrent.ThreadPoolExecutor$Worker.run( > ThreadPoolExecutor.java:617)[:1.8.0_91] > > at java.lang.Thread.run(Thread.java:745)[:1.8.0_91] > > Caused by: java.lang.ClassFormatError: Duplicate interface name in class > file Proxye8f10bc6_1688_47fc_b4b5_8d679dbb8631 > > at java.lang.ClassLoader.defineClass1(Native > Method)[:1.8.0_91] > > at java.lang.ClassLoader.defineClass(ClassLoader.java: > 763)[:1.8.0_91] > > at org.apache.aries.proxy.impl. > interfaces.ProxyClassLoader.createProxyClass(ProxyClassLoader.java:157) > > ... 41 more > > _______________________________________________ > controller-dev mailing list > controller-dev@lists.opendaylight.org > https://lists.opendaylight.org/mailman/listinfo/controller-dev > >
_______________________________________________ controller-dev mailing list controller-dev@lists.opendaylight.org https://lists.opendaylight.org/mailman/listinfo/controller-dev