IPOJO manipulation (ant task) results in invalid classes throwing
java.lang.VerifyError at runtime in InstanceManager (line 584)
--------------------------------------------------------------------------------------------------------------------------------
Key: FELIX-2430
URL: https://issues.apache.org/jira/browse/FELIX-2430
Project: Felix
Issue Type: Bug
Components: iPOJO
Affects Versions: iPOJO-1.6.0, iPOJO-1.4.0
Reporter: Frederic Desmons
Logs:
[ERROR] ipojo.SecurityErrorRaisingIPOJOService :
[ipojo.SecurityErrorRaisingIPOJOService-0] createInstance -> The POJO
constructor invocation failed : (class: ipojo/SecurityErrorRaisingIPOJOService,
method: <init> signature: (Lorg/apache/felix/ipojo/InstanceManager;)V)
Expecting to find object/array on stack
java.lang.VerifyError: (class: ipojo/SecurityErrorRaisingIPOJOService, method:
<init> signature: (Lorg/apache/felix/ipojo/InstanceManager;)V) Expecting to
find object/array on stack caught here:
java.lang.Class.getDeclaredConstructors0(Native Method)
java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
java.lang.Class.getConstructor0(Unknown Source)
java.lang.Class.getDeclaredConstructor(Unknown Source)
org.apache.felix.ipojo.InstanceManager.createObject(InstanceManager.java:584)
org.apache.felix.ipojo.InstanceManager.getPojoObject(InstanceManager.java:777)
org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.__stateChanged(LifecycleCallbackHandler.java:156)
org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.stateChanged(LifecycleCallbackHandler.java)
org.apache.felix.ipojo.InstanceManager.setState(InstanceManager.java:441)
org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:322)
org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:155)
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
org.apache.felix.ipojo.InstanceCreator$ManagedInstance.create(InstanceCreator.java:343)
org.apache.felix.ipojo.InstanceCreator.addInstance(InstanceCreator.java:89)
org.apache.felix.ipojo.Extender.parse(Extender.java:269)
org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:208)
org.apache.felix.ipojo.Extender.access$600(Extender.java:52)
org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:682)
java.lang.Thread.run(Unknown Source)
[ERROR] ipojo.SecurityErrorRaisingIPOJOService : Cannot create a POJO instance,
the POJO constructor invocation has thrown an exception : (class:
ipojo/SecurityErrorRaisingIPOJOService, method: <init> signature:
(Lorg/apache/felix/ipojo/InstanceManager;)V) Expecting to find object/array on
stack
java.lang.RuntimeException: Cannot create a POJO instance, the POJO constructor
invocation has thrown an exception : (class:
ipojo/SecurityErrorRaisingIPOJOService, method: <init> signature:
(Lorg/apache/felix/ipojo/InstanceManager;)V) Expecting to find object/array on
stack caught here:
org.apache.felix.ipojo.InstanceManager.createObject(InstanceManager.java:640)
org.apache.felix.ipojo.InstanceManager.getPojoObject(InstanceManager.java:777)
org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.__stateChanged(LifecycleCallbackHandler.java:156)
org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.stateChanged(LifecycleCallbackHandler.java)
org.apache.felix.ipojo.InstanceManager.setState(InstanceManager.java:441)
org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:322)
org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:155)
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
org.apache.felix.ipojo.InstanceCreator$ManagedInstance.create(InstanceCreator.java:343)
org.apache.felix.ipojo.InstanceCreator.addInstance(InstanceCreator.java:89)
org.apache.felix.ipojo.Extender.parse(Extender.java:269)
org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:208)
org.apache.felix.ipojo.Extender.access$600(Extender.java:52)
org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:682)
java.lang.Thread.run(Unknown Source)
[ERROR] ipojo.SecurityErrorRaisingIPOJOService : Cannot create a POJO instance,
the POJO constructor invocation has thrown an exception : (class:
ipojo/SecurityErrorRaisingIPOJOService, method: <init> signature:
(Lorg/apache/felix/ipojo/InstanceManager;)V) Expecting to find object/array on
stack
[ERROR] iPOJO Instance Creator : A matching factory was found for
{component=ipojo.SecurityErrorRaisingIPOJOService,
instance.name=ipojo.SecurityErrorRaisingIPOJOService-0}, but the instantiation
failed : The configuration is not correct for the type
ipojo.SecurityErrorRaisingIPOJOService : Cannot create a POJO instance, the
POJO constructor invocation has thrown an exception : (class:
ipojo/SecurityErrorRaisingIPOJOService, method: <init> signature:
(Lorg/apache/felix/ipojo/InstanceManager;)V) Expecting to find object/array on
stack
Samples used for reproducing the error:
package ipojo;
public class AbstractSecurityErrorRaisingIPOJOService
{
protected HelloWorldObject helloWorldObject;
protected AbstractSecurityErrorRaisingIPOJOService(HelloWorldObject
helloWorldObject)
{
this.helloWorldObject = helloWorldObject;
}
}
package ipojo;
public class HelloWorldObject
{
public HelloWorldObject()
{
}
}
package ipojo;
import org.apache.felix.ipojo.annotations.Component;
import org.apache.felix.ipojo.annotations.Provides;
import com.ullink.oms.extensions.actionprocessor.interfaces.ActionProcessor;
@Component(immediate = true)
@Provides(specifications = ActionProcessor.class)
public class SecurityErrorRaisingIPOJOService extends
AbstractSecurityErrorRaisingIPOJOService
{
public SecurityErrorRaisingIPOJOService()
{
super(new HelloWorldObject());
}
}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.