Uploaded image for project: 'Felix'
  1. Felix
  2. FELIX-3003

NPE in ResolverImpl.permutateIfNeeded

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • framework-3.0.9
    • framework-4.0.3
    • Framework
    • None
    • karaf 2.2.1, activemq 5.5.0

    Description

      After upgrade to Karaf 2.2.1, I noticed the following NPE in the Felix framework code:

      14:31:54,306 | WARN | tenerContainer-1 | AbstractMessageListenerContainer 694 | b120 | Execution of JMS message listener failed, and no ErrorHandler has been set.
      java.lang.NullPointerException
      at org.apache.felix.framework.resolver.ResolverImpl.permutateIfNeeded(ResolverImpl.java:1156)
      at org.apache.felix.framework.resolver.ResolverImpl.checkPackageSpaceConsistency(ResolverImpl.java:1085)
      at org.apache.felix.framework.resolver.ResolverImpl.resolve(ResolverImpl.java:171)
      at org.apache.felix.framework.Felix$FelixResolver.resolve(Felix.java:4103)
      at org.apache.felix.framework.ModuleImpl.searchDynamicImports(ModuleImpl.java:1412)
      at org.apache.felix.framework.ModuleImpl.findClassOrResourceByDelegation(ModuleImpl.java:734)
      at org.apache.felix.framework.ModuleImpl.access$400(ModuleImpl.java:71)
      at org.apache.felix.framework.ModuleImpl$ModuleClassLoader.loadClass(ModuleImpl.java:1768)
      at java.lang.ClassLoader.loadClass(ClassLoader.java:248)[:1.6.0_20]
      at java.lang.Class.forName0(Native Method)[:1.6.0_20]
      at java.lang.Class.forName(Class.java:247)[:1.6.0_20]
      at org.apache.activemq.util.ClassLoadingAwareObjectInputStream.load(ClassLoadingAwareObjectInputStream.java:63)
      at org.apache.activemq.util.ClassLoadingAwareObjectInputStream.resolveClass(ClassLoadingAwareObjectInputStream.java:37)
      at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)[:1.6.0_20]
      at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)[:1.6.0_20]
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732)[:1.6.0_20]
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)[:1.6.0_20]
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)[:1.6.0_20]
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)[:1.6.0_20]
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)[:1.6.0_20]
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)[:1.6.0_20]
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)[:1.6.0_20]
      at java.util.ArrayList.readObject(ArrayList.java:593)[:1.6.0_20]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.6.0_20]
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)[:1.6.0_20]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_20]
      at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_20]
      at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974)[:1.6.0_20]
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849)[:1.6.0_20]
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)[:1.6.0_20]
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)[:1.6.0_20]
      at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1947)[:1.6.0_20]
      at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)[:1.6.0_20]
      at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)[:1.6.0_20]
      at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)[:1.6.0_20]
      at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)[:1.6.0_20]
      at org.apache.activemq.command.ActiveMQObjectMessage.getObject(ActiveMQObjectMessage.java:184)[103:org.apache.activemq.activemq-core:5.5.0]
      at org.springframework.jms.support.converter.SimpleMessageConverter.extractSerializableFromMessage(SimpleMessageConverter.java:215)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.support.converter.SimpleMessageConverter.fromMessage(SimpleMessageConverter.java:103)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.adapter.MessageListenerAdapter.extractMessage(MessageListenerAdapter.java:407)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.adapter.MessageListenerAdapter.onMessage(MessageListenerAdapter.java:345)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:535)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:495)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[120:org.springframework.jms:3.0.5.RELEASE]
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[120:org.springframework.jms:3.0.5.RELEASE]
      at java.lang.Thread.run(Thread.java:619)[:1.6.0_20]

      I guess there is nothing I can do except downgrading to karaf 2.2.0? Any other ideas?

      Attachments

        1. felix-3003-resolverimpl-sysout-NPE.txt
          6 kB
          Torsten
        2. felix-3003-bundle123-headers.txt
          144 kB
          Torsten
        3. felix-3003-bundle103-headers.txt
          28 kB
          Torsten

        Activity

          People

            rickhall Richard S. Hall
            thegis Torsten
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: