Thanks for clarification Tom.
Now I understand that the stack trace is probably not related to the problem 
with re-configuration of modules on Karaf4.

But is the issue with re-configuration already known please ?
I’ve tried to find some project using karaf4-parent and using Blueprint 
configuration of modules, but I haven’t found any.
Is IoTDM project the first project testing it ?

Thanks,
Tomas
From: Tom Pantelis [mailto:tompante...@gmail.com]
Sent: Tuesday, April 18, 2017 4:12 PM
To: Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco)
Cc: controller-dev@lists.opendaylight.org
Subject: Re: [controller-dev] Re-configuration of module using Blueprint on 
Karaf4 distribution

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<mailto: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.<http://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.<http://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(DependentComponentFactoryRecipe.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$restartContainerAndDependentsInternal$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<mailto: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
  • [controller-d... Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco)
    • Re: [con... Tom Pantelis
      • Re: ... Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco)
        • ... Tom Pantelis
          • ... Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco)
            • ... Tom Pantelis
              • ... Tomas Janciga -X (tjanciga - PANTHEON TECHNOLOGIES at Cisco)

Reply via email to