[ 
https://issues.apache.org/jira/browse/ARIES-951?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13597942#comment-13597942
 ] 

Rudi Wijaya commented on ARIES-951:
-----------------------------------

Maybe a very rapid test will help to isolate this problem.

In my case it happens many times because Eclipse IDE compiles my Maven project. 
The project output is in target/classes. This folder is symlinked in 
karaf/deploy/ folder. So anytime I make a change in Eclipse project, the 
classes are recompiled, and Karaf updates the bundle. Sometimes this doesn't 
work smooth, but happens quite often.
                
> NullPointerException at 
> felix.framework.BundleWiringImpl.findClassOrResourceByDelegation
> ----------------------------------------------------------------------------------------
>
>                 Key: ARIES-951
>                 URL: https://issues.apache.org/jira/browse/ARIES-951
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>    Affects Versions: blueprint-core-1.0.1
>         Environment: Karaf
>   Karaf version               2.3.0
>   Karaf home                  /home/rudi/git/bippo-commerce5/karaf
>   Karaf base                  /home/rudi/git/bippo-commerce5/karaf
>   OSGi Framework              org.apache.felix.framework - 4.0.3
> JVM
>   Java Virtual Machine        OpenJDK 64-Bit Server VM version 23.2-b09
>   Version                     1.7.0_09
>   Vendor                      Oracle Corporation
>   Uptime                      1 hour 19 minutes
>   Total compile time          52.961 seconds
> Threads
>   Live threads                111
>   Daemon threads              96
>   Peak                        138
>   Total started               855
> Memory
>   Current heap size           67,790 kbytes
>   Maximum heap size           466,048 kbytes
>   Committed heap size         150,592 kbytes
>   Pending objects             0
>   Garbage collector           Name = 'PS Scavenge', Collections = 521, Time = 
> 3.474 seconds
>   Garbage collector           Name = 'PS MarkSweep', Collections = 5, Time = 
> 1.233 seconds
> Classes
>   Current classes loaded      11,648
>   Total classes loaded        13,225
>   Total classes unloaded      1,577
> Operating system
>   Name                        Linux version 3.2.0-32-generic
>   Architecture                amd64
>   Processors                  4
>            Reporter: Rudi Wijaya
>
> Note: This happens on blueprint 1.0.0, but for some reason I can't find it in 
> the Versions list, so I picked blueprint-core-1.0.1.
> I'm not yet sure what causes this Exception, but it is the error message 
> given by Aries Blueprint isn't very helpful at this point:
> Unable to start blueprint container for bundle id.co.bippo.person.rs
> org.osgi.service.blueprint.container.ComponentDefinitionException: 
> java.lang.NullPointerException
>         at 
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:116)
> {code}
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>     xmlns:ext="http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.1.0";
>     xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>       http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.1.0 
> http://aries.apache.org/blueprint/xmlns/blueprint-ext/v1.1.0";>
>               
>       <reference id="ldapPool" interface="org.apache.commons.pool.ObjectPool"
>               
> filter="(&amp;(tenantId=berbatik)(tenantEnv=dev)(namespace=ldap))"/>
>       <reference id="appSessionUtils" 
> interface="tmp.org.soluvas.app.AppSessionUtils"
>               filter="(&amp;(tenantId=berbatik)(tenantEnv=dev))"/>
>       <reference id="facebookUtils" 
> interface="org.soluvas.facebook.FacebookUtils" ext:proxy-method="classes"/>
>       
>       <reference id="personRawRepo" 
> interface="id.co.bippo.person.BippoPersonRepository"
>               
> filter="(&amp;(tenantId=berbatik)(tenantEnv=dev)(namespace=)(repositoryMode=raw))"/>
>       
>       <bean id="personRsSys" 
> class="id.co.bippo.person.rs.hand.PersonResourceSys">
> <!--          <argument ref="personRawRepo"/> -->
>               <argument><null/></argument>
>       </bean>
>       <bean id="personRs" class="id.co.bippo.person.rs.hand.PersonResource">
>               <argument ref="ldapPool"/>
>               <argument ref="appSessionUtils"/>
>               <argument ref="facebookUtils"/>
>       </bean>
>       
>       
>       <service auto-export="interfaces">
>               <service-properties>
>                       <entry key="clientId" value="berbatik"/>
>                       <entry key="tenantId" value="berbatik"/>
>                       <entry key="tenantEnv" value="dev"/>
>                       <entry key="type" value="jaxrs"/>
>                       <entry key="address" value="api"/>
>               </service-properties>
>               <bean class="java.util.ArrayList">
>                       <argument>
>                               <list>
>                                       <ref component-id="personRs"/>
>                                       <ref component-id="personRsSys"/>
>                               </list>
>                       </argument>
>               </bean>
>       </service>
>       
> </blueprint>
> {code}
> Log & stacktrace from the time the bundle is detected:
> {code}
> 2012-10-29 15:45:42,631 | DEBUG | lixDispatchQueue | rs                       
>         | ?                                   ? | 1485 - 
> id.co.bippo.person.rs - 5.0.0.SNAPSHOT | BundleEvent STOPPED - 
> id.co.bippo.person.rs
> 2012-10-29 15:45:42,648 | DEBUG | lixDispatchQueue | rs                       
>         | ?                                   ? | 1485 - 
> id.co.bippo.person.rs - 5.0.0.SNAPSHOT | BundleEvent UNRESOLVED - 
> id.co.bippo.person.rs
> 2012-10-29 15:45:42,648 | INFO  | ce5/karaf/deploy | fileinstall              
>         | ?                                   ? | 6 - 
> org.apache.felix.fileinstall - 3.2.6 | Updated 
> /home/rudi/git/bippo-commerce5/karaf/deploy/id.co.bippo.person.rs
> 2012-10-29 15:45:42,649 | DEBUG | lixDispatchQueue | rs                       
>         | ?                                   ? | 1485 - 
> id.co.bippo.person.rs - 5.0.0.SNAPSHOT | BundleEvent UPDATED - 
> id.co.bippo.person.rs
> 2012-10-29 15:45:42,685 | INFO  | ce5/karaf/deploy | fileinstall              
>         | ?                                   ? | 6 - 
> org.apache.felix.fileinstall - 3.2.6 | Started bundle: 
> jardir:/home/rudi/git/bippo-commerce5/karaf/deploy/id.co.bippo.person.rs
> 2012-10-29 15:45:42,685 | DEBUG | lixDispatchQueue | rs                       
>         | ?                                   ? | 1485 - 
> id.co.bippo.person.rs - 5.0.0.SNAPSHOT | BundleEvent RESOLVED - 
> id.co.bippo.person.rs
> 2012-10-29 15:45:42,686 | DEBUG | lixDispatchQueue | rs                       
>         | ?                                   ? | 1485 - 
> id.co.bippo.person.rs - 5.0.0.SNAPSHOT | BundleEvent STARTED - 
> id.co.bippo.person.rs
> 2012-10-29 15:45:42,693 | DEBUG | rint Extender: 3 | rs                       
>         | ?                                   ? | 1485 - 
> id.co.bippo.person.rs - 5.0.0.SNAPSHOT | ServiceEvent REGISTERED - 
> [java.util.List, java.lang.Iterable, java.io.Serializable, 
> java.util.RandomAccess, java.lang.Cloneable, java.util.Collection] - 
> id.co.bippo.person.rs
> 2012-10-29 15:45:42,694 | INFO  | rint Extender: 3 | DynamicJaxrsManager      
>         | .soluvas.cxf.DynamicJaxrsManager  105 | 1429 - com.soluvas.cxf - 
> 1.0.0.SNAPSHOT | Adding 2 new JAX-RS resources: 
> [id.co.bippo.person.rs.hand.PersonResource@35674ac2, 
> id.co.bippo.person.rs.hand.PersonResourceSys@105d21f2]
> 2012-10-29 15:45:42,695 | INFO  | rint Extender: 3 | DynamicJaxrsManager      
>         | .soluvas.cxf.DynamicJaxrsManager   68 | 1429 - com.soluvas.cxf - 
> 1.0.0.SNAPSHOT | Starting JAX-RS server with 19 resources: 
> [id.co.bippo.product.rs.hand.ProductResourceSys@6b6f787d, 
> id.co.bippo.product.rs.hand.ProductResourceShop@634f8da5, 
> id.co.bippo.product.rs.hand.ProductResourceMall@7bdc7e92, 
> id.co.bippo.product.rs.hand.ProductResourcePub@48f9e2c5, 
> org.soluvas.web.site.rs.SiteResource@3e90dfa2, 
> id.co.bippo.wink.rs.hand.ProductWinkResource@4b253c8f, 
> org.soluvas.web.backbone.RequireResource@763480e3, 
> org.soluvas.image.rs.ImageResource@36d1c1fe, 
> id.co.bippo.salesorder.rs.hand.SalesOrderResource@582a0ed8, 
> id.co.bippo.salesorder.rs.hand.PersonResource@3134b420, 
> id.co.bippo.story.rs.hand.ProductStoryResource@28e70a67, 
> id.co.bippo.story.rs.hand.PersonStoryResource@585c052b, 
> id.co.bippo.story.rs.hand.ShopStoryResource@157775f, 
> id.co.bippo.like.rs.hand.ProductLikeResource@1d3e98d8, 
> id.co.bippo.comment.rs.hand.ShopCommentResource@5da354e7, 
> id.co.bippo.comment.rs.hand.ProductCommentResource@1d16095c, 
> id.co.bippo.comment.rs.hand.PersonCommentResource@222b72db, 
> id.co.bippo.person.rs.hand.PersonResource@35674ac2, 
> id.co.bippo.person.rs.hand.PersonResourceSys@105d21f2]
> 2012-10-29 15:45:42,705 | INFO  | rint Extender: 3 | ServerImpl               
>         | g.apache.cxf.endpoint.ServerImpl   94 | 205 - 
> org.apache.cxf.cxf-api - 2.6.3 | Setting the server's publish address to be 
> /api/berbatik_dev
> 2012-10-29 15:45:42,706 | INFO  | rint Extender: 3 | 
> InstrumentationManagerImpl       | t.jmx.InstrumentationManagerImpl  329 | 
> 207 - org.apache.cxf.cxf-rt-management - 2.6.3 | registering MBean 
> org.apache.cxf:bus.id=id.co.bippo.app-cxf1001197797,type=Bus.Service.Endpoint,service="{http://hand.rs.product.bippo.co.id/}ProductResourceSys",port="ProductResourceSys",instance.id=213731888:
>  org.apache.cxf.endpoint.ManagedEndpoint@5f519bd8
> 2012-10-29 15:45:42,707 | INFO  | rint Extender: 3 | 
> InstrumentationManagerImpl       | t.jmx.InstrumentationManagerImpl  329 | 
> 207 - org.apache.cxf.cxf-rt-management - 2.6.3 | registering MBean 
> org.apache.cxf:bus.id=id.co.bippo.app-cxf1001197797,type=Bus.Service.Endpoint,service="{http://hand.rs.product.bippo.co.id/}ProductResourceSys",port="ProductResourceSys",instance.id=213731888:
>  javax.management.modelmbean.RequiredModelMBean@66ceb2cb
> 2012-10-29 15:45:42,709 | DEBUG | rint Extender: 3 | rs                       
>         | ?                                   ? | 1485 - 
> id.co.bippo.person.rs - 5.0.0.SNAPSHOT | ServiceEvent UNREGISTERING - 
> [java.util.List, java.lang.Iterable, java.io.Serializable, 
> java.util.RandomAccess, java.lang.Cloneable, java.util.Collection] - 
> id.co.bippo.person.rs
> 2012-10-29 15:45:42,710 | INFO  | rint Extender: 3 | DynamicJaxrsManager      
>         | .soluvas.cxf.DynamicJaxrsManager  127 | 1429 - com.soluvas.cxf - 
> 1.0.0.SNAPSHOT | Removing 2 JAX-RS resources: 
> [id.co.bippo.person.rs.hand.PersonResource@35674ac2, 
> id.co.bippo.person.rs.hand.PersonResourceSys@105d21f2]
> 2012-10-29 15:45:42,710 | INFO  | rint Extender: 3 | DynamicJaxrsManager      
>         | .soluvas.cxf.DynamicJaxrsManager   68 | 1429 - com.soluvas.cxf - 
> 1.0.0.SNAPSHOT | Starting JAX-RS server with 17 resources: 
> [id.co.bippo.product.rs.hand.ProductResourceSys@6b6f787d, 
> id.co.bippo.product.rs.hand.ProductResourceShop@634f8da5, 
> id.co.bippo.product.rs.hand.ProductResourceMall@7bdc7e92, 
> id.co.bippo.product.rs.hand.ProductResourcePub@48f9e2c5, 
> org.soluvas.web.site.rs.SiteResource@3e90dfa2, 
> id.co.bippo.wink.rs.hand.ProductWinkResource@4b253c8f, 
> org.soluvas.web.backbone.RequireResource@763480e3, 
> org.soluvas.image.rs.ImageResource@36d1c1fe, 
> id.co.bippo.salesorder.rs.hand.SalesOrderResource@582a0ed8, 
> id.co.bippo.salesorder.rs.hand.PersonResource@3134b420, 
> id.co.bippo.story.rs.hand.ProductStoryResource@28e70a67, 
> id.co.bippo.story.rs.hand.PersonStoryResource@585c052b, 
> id.co.bippo.story.rs.hand.ShopStoryResource@157775f, 
> id.co.bippo.like.rs.hand.ProductLikeResource@1d3e98d8, 
> id.co.bippo.comment.rs.hand.ShopCommentResource@5da354e7, 
> id.co.bippo.comment.rs.hand.ProductCommentResource@1d16095c, 
> id.co.bippo.comment.rs.hand.PersonCommentResource@222b72db]
> 2012-10-29 15:45:42,719 | INFO  | rint Extender: 3 | ServerImpl               
>         | g.apache.cxf.endpoint.ServerImpl   94 | 205 - 
> org.apache.cxf.cxf-api - 2.6.3 | Setting the server's publish address to be 
> /api/berbatik_dev
> 2012-10-29 15:45:42,720 | INFO  | rint Extender: 3 | 
> InstrumentationManagerImpl       | t.jmx.InstrumentationManagerImpl  329 | 
> 207 - org.apache.cxf.cxf-rt-management - 2.6.3 | registering MBean 
> org.apache.cxf:bus.id=id.co.bippo.app-cxf1001197797,type=Bus.Service.Endpoint,service="{http://hand.rs.product.bippo.co.id/}ProductResourceSys",port="ProductResourceSys",instance.id=2138402040:
>  org.apache.cxf.endpoint.ManagedEndpoint@76454f27
> 2012-10-29 15:45:42,720 | INFO  | rint Extender: 3 | 
> InstrumentationManagerImpl       | t.jmx.InstrumentationManagerImpl  329 | 
> 207 - org.apache.cxf.cxf-rt-management - 2.6.3 | registering MBean 
> org.apache.cxf:bus.id=id.co.bippo.app-cxf1001197797,type=Bus.Service.Endpoint,service="{http://hand.rs.product.bippo.co.id/}ProductResourceSys",port="ProductResourceSys",instance.id=2138402040:
>  javax.management.modelmbean.RequiredModelMBean@404fc61a
> 2012-10-29 15:45:42,722 | ERROR | rint Extender: 3 | BlueprintContainerImpl   
>         | container.BlueprintContainerImpl  375 | 7 - 
> org.apache.aries.blueprint.core - 1.0.1 | Unable to start blueprint container 
> for bundle id.co.bippo.person.rs
> org.osgi.service.blueprint.container.ComponentDefinitionException: 
> java.lang.NullPointerException
>         at 
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:116)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.java:79)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_09]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_09]
>         at 
> org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.java:88)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.container.BlueprintRepository.createInstances(BlueprintRepository.java:245)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.container.BlueprintRepository.createAll(BlueprintRepository.java:183)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.instantiateEagerComponents(BlueprintContainerImpl.java:646)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(BlueprintContainerImpl.java:353)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.container.BlueprintContainerImpl.run(BlueprintContainerImpl.java:252)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.run(DiscardableRunnable.java:48)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_09]
>         at 
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_09]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_09]
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)[:1.7.0_09]
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)[:1.7.0_09]
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[:1.7.0_09]
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)[:1.7.0_09]
>         at java.lang.Thread.run(Thread.java:722)[:1.7.0_09]
> Caused by: java.lang.NullPointerException
>         at 
> org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1432)
>         at 
> org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:72)
>         at 
> org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1843)
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:410)[:1.7.0_09]
>         at java.lang.ClassLoader.loadClass(ClassLoader.java:356)[:1.7.0_09]
>         at java.lang.Class.forName0(Native Method)[:1.7.0_09]
>         at java.lang.Class.forName(Class.java:264)[:1.7.0_09]
>         at 
> org.apache.aries.proxy.impl.interfaces.ProxyClassLoader.isInvalid(ProxyClassLoader.java:109)[12:org.apache.aries.proxy.impl:1.0.0]
>         at 
> org.apache.aries.proxy.impl.interfaces.InterfaceProxyGenerator.getProxyInstance(InterfaceProxyGenerator.java:84)[12:org.apache.aries.proxy.impl:1.0.0]
>         at 
> org.apache.aries.proxy.impl.AsmProxyManager.createNewProxy(AsmProxyManager.java:72)[12:org.apache.aries.proxy.impl:1.0.0]
>         at 
> org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingInterceptingProxy(AbstractProxyManager.java:75)[12:org.apache.aries.proxy.impl:1.0.0]
>         at 
> org.apache.aries.proxy.impl.AbstractProxyManager.createDelegatingProxy(AbstractProxyManager.java:40)[12:org.apache.aries.proxy.impl:1.0.0]
>         at 
> org.apache.aries.blueprint.container.AbstractServiceReferenceRecipe.createProxy(AbstractServiceReferenceRecipe.java:299)[7:org.apache.aries.blueprint.core:1.0.1]
>         at 
> org.apache.aries.blueprint.container.ReferenceRecipe.internalCreate(ReferenceRecipe.java:100)[7:org.apache.aries.blueprint.core:1.0.1]
>         ... 18 more
> {code}
> The resource implementation :
> {code}
> package id.co.bippo.person.rs.hand;
> import id.co.bippo.person.BippoPersonRepository;
> import javax.ws.rs.Consumes;
> import javax.ws.rs.DELETE;
> import javax.ws.rs.Path;
> import javax.ws.rs.PathParam;
> import javax.ws.rs.Produces;
> import javax.ws.rs.core.MediaType;
> import org.slf4j.Logger;
> import org.slf4j.LoggerFactory;
> import tmp.org.soluvas.person.rs.Status;
> /**
>  * @author rudi
>  *
>  */
> @Path("/person_sys")
> @Consumes(MediaType.APPLICATION_JSON)
> @Produces(MediaType.APPLICATION_JSON)
> public class PersonResourceSys {
>       
>       private transient Logger log = LoggerFactory
>                       .getLogger(PersonResourceSys.class);
>       private transient BippoPersonRepository personRawRepo;
>       
>       public PersonResourceSys(BippoPersonRepository personRawRepo) {
>               super();
>               this.personRawRepo = personRawRepo;
>       }
>       @DELETE
>       @Path("{id}")
>       public Status deleteById(@PathParam("id") String id) {
>               try {
>                       log.info("Deleting person by ID {}", id);
>                       personRawRepo.deleteById(id);
>                       
>                       return new Status("success", "", "Person with ID " + id 
> + " was deleted.");
>               } catch (Exception e) {
>                       log.error("Can't delete person by ID {}" + id, e);
>                       throw new RuntimeException("Can't delete person by ID 
> {}" + id, e);
>               }
>       }
>       
> }
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to