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

Luc Dew commented on FELIX-3568:
--------------------------------

Hi, it is really quite a blocker for Java7 adoption for us.
Using the XX:-UseSplitVerifier JVM option fixes the issue but we have to set it 
for Maven surefire plugin (so that Junit test pass) and in the startup 
parameters of our OSGi based servers.
Also since the UseSplitVerifier use a fallback mechanism testing first with the 
Java7 verifier and rolling back to Java6 verifier, it has an impact on class 
loading time.
                
> java.lang.VerifyError from bundles compiled with maven-scr-plugin  (java 7)
> ---------------------------------------------------------------------------
>
>                 Key: FELIX-3568
>                 URL: https://issues.apache.org/jira/browse/FELIX-3568
>             Project: Felix
>          Issue Type: Bug
>          Components: Maven SCR Plugin, SCR Annotations
>    Affects Versions: maven-scr-plugin-1.7.4
>         Environment: maven-scr-plugin 1.7.4
> Java(TM) SE Runtime Environment (build 1.7.0_04-b21) (oracle/mac os)
> org.apache.felix.scr-1.6.0.jar
> Apache Karaf (2.2.7)
>            Reporter: John Hawksley
>
> A bundle compiled by javac 1.7.0, using maven-scr-plugin 1.7.4, seems to 
> raise a VerifyError when SCR attempts to reflect out the generated 
> constructors.
> java.lang.VerifyError: Expecting a stackmap frame at branch target 13 in 
> method 
> com.intergral.storm.pqs.internal.PersistentQueueComponent.unbindBus(Lorg/osgi/service/event/EventAdmin;)V
>  at offset 5
>       at java.lang.Class.getDeclaredConstructors0(Native Method)[:1.7.0_04]
>       at 
> java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)[:1.7.0_04]
>       at java.lang.Class.getConstructor0(Class.java:2714)[:1.7.0_04]
>       at java.lang.Class.newInstance0(Class.java:343)[:1.7.0_04]
>       at java.lang.Class.newInstance(Class.java:325)[:1.7.0_04]
>       at 
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:183)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:997)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:256)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:285)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:203)[55:org.apache.felix.scr:1.6.0]
>       at 
> org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:807)[org.apache.felix.framework-3.0.9.jar:]
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:729)[org.apache.felix.framework-3.0.9.jar:]
>       at 
> org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:610)[org.apache.felix.framework-3.0.9.jar:]
>       at 
> org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:3761)[org.apache.felix.framework-3.0.9.jar:]
>       at 
> org.apache.felix.framework.Felix.startBundle(Felix.java:1787)[org.apache.felix.framework-3.0.9.jar:]
>       at 
> org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1163)[org.apache.felix.framework-3.0.9.jar:]
>       at 
> org.apache.felix.framework.StartLevelImpl.run(StartLevelImpl.java:264)[org.apache.felix.framework-3.0.9.jar:]
>       at java.lang.Thread.run(Thread.java:722)[:1.7.0_04]
> Workaround: applying the XX:-UseSplitVerifier option to the VM seems to stop 
> this occurring.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to