Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdi-dev] GlassFish vs. Weld5: java.lang.VerifyError: Expecting a stackmap frame at branch target 12

Hi, 

Arjan tried to upgrade to the latest Weld 5.0.0.Final (from 5.0.0.CR2), but GlassFish tests failed with the following stacktrace both on JDK11 and JDK17 (reproduced on my machine).
Can someone give us some hint what is wrong? Is it a Weld bug or we have to fix something?
Just 6 tests of 3573 are failing, all related to JMSCDIExtension implemented in GlassFish.

See 
- https://github.com/eclipse-ee4j/glassfish/pull/23925
- https://ci.eclipse.org/glassfish/job/glassfish_build-and-test-using-jenkinsfile/job/PR-23925/

Thanks for help!

David Matějček.

-------------

[2022-05-02T13:35:18.423+0200] [glassfish 7.0] [SEVERE] [AS-EJB-5070] [jakarta.enterprise.ejb.container] [tid: _ThreadID=60 _ThreadName=http-listener-1(4)] [timeMillis: 1651491318423] [levelValue: 1000] [[
Exception creating stateless session bean : [null_injection_SimpleEjb(STATELESS)]]]

[2022-05-02T13:35:18.424+0200] [glassfish 7.0] [WARNING] [AS-EJB-00056] [jakarta.enterprise.ejb.container] [tid: _ThreadID=60 _ThreadName=http-listener-1(4)] [timeMillis: 1651491318424] [levelValue: 900] [[
A system exception occurred during an invocation on EJB SimpleEjb, method: public boolean org.glassfish.tests.jms.injection.SimpleEjb.testTransactionScope()]]

[2022-05-02T13:35:18.425+0200] [glassfish 7.0] [WARNING] [] [jakarta.enterprise.ejb.container] [tid: _ThreadID=60 _ThreadName=http-listener-1(4)] [timeMillis: 1651491318425] [levelValue: 900] [[

jakarta.ejb.EJBException: jakarta.ejb.EJBException: jakarta.ejb.CreateException: Could not create stateless EJB
at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:429)
at com.sun.ejb.containers.BaseContainer.getContext(BaseContainer.java:2288)
at com.sun.ejb.containers.BaseContainer.preInvoke(BaseContainer.java:1753)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:186)
at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:64)
at jdk.proxy66/jdk.proxy66.$Proxy342.testTransactionScope(Unknown Source)
at org.glassfish.tests.jms.injection.__EJB31_Generated__SimpleEjb__Intf____Bean__.testTransactionScope(Unknown Source)
at org.glassfish.tests.jms.injection.TestServlet.processRequest(TestServlet.java:58)
at org.glassfish.tests.jms.injection.TestServlet.doGet(TestServlet.java:75)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
at jdk.internal.reflect.GeneratedMethodAccessor145.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:275)
at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:273)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
at java.base/javax.security.auth.Subject.doAsPrivileged(Subject.java:584)
at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:308)
at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:166)
at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1572)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:119)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:611)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:550)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:75)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:121)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:294)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:187)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:440)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:144)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:174)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:153)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:196)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:88)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:246)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:178)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:118)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:96)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:51)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:510)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:82)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:83)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:101)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:535)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:515)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: jakarta.ejb.EJBException: jakarta.ejb.CreateException: Could not create stateless EJB
at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:693)
at com.sun.ejb.containers.util.pool.NonBlockingPool.getObject(NonBlockingPool.java:222)
at com.sun.ejb.containers.StatelessSessionContainer._getContext(StatelessSessionContainer.java:425)
... 46 more
Caused by: jakarta.ejb.CreateException: Could not create stateless EJB
at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:509)
at com.sun.ejb.containers.StatelessSessionContainer$SessionContextFactory.create(StatelessSessionContainer.java:691)
... 48 more
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 12
Exception Details:
Location:
org/glassfish/jms/injection/RequestedJMSContextManager$Proxy$_$$_WeldClientProxy.toString()Ljava/lang/String; @4: ifne
Reason:
Expected stackmap frame at this location.
Bytecode:
0000000: 2ab4 0018 9a00 082a b700 5bb0 b800 2e4c
0000010: 2ab4 0034 b600 3ac0 001c 59b6 005c 2b59
0000020: c600 0cc0 0030 b600 3da7 0004 57a7 0013
0000030: 2b59 c600 0cc0 0030 b600 3da7 0004 57bf
0000040: 5aa5 0004 b02a c000 28b0
Exception Handler Table:
bci [16, 48] => handler: 48

at java.base/java.lang.Class.getDeclaredFields0(Native Method)
at java.base/java.lang.Class.privateGetDeclaredFields(Class.java:3297)
at java.base/java.lang.Class.getDeclaredFields(Class.java:2371)
at org.jboss.weld.security.GetDeclaredFieldsAction.run(GetDeclaredFieldsAction.java:30)
at org.jboss.weld.security.GetDeclaredFieldsAction.run(GetDeclaredFieldsAction.java:22)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at org.jboss.weld.bean.proxy.SecurityActions.hasDeclaredField(SecurityActions.java:93)
at org.jboss.weld.bean.proxy.ProxyFactory.run(ProxyFactory.java:361)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:352)
at org.jboss.weld.bean.proxy.ClientProxyFactory.create(ClientProxyFactory.java:83)
at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:205)
at org.jboss.weld.bean.proxy.ClientProxyProvider.createClientProxy(ClientProxyProvider.java:195)
at org.jboss.weld.bean.proxy.ClientProxyProvider$CreateClientProxy.apply(ClientProxyProvider.java:52)
at org.jboss.weld.bean.proxy.ClientProxyProvider$CreateClientProxy.apply(ClientProxyProvider.java:48)
at org.jboss.weld.util.cache.ReentrantMapBackedComputingCache.lambda$new$0(ReentrantMapBackedComputingCache.java:55)
at org.jboss.weld.util.LazyValueHolder$1.computeValue(LazyValueHolder.java:32)
at org.jboss.weld.util.LazyValueHolder.get(LazyValueHolder.java:46)
at org.jboss.weld.util.cache.ReentrantMapBackedComputingCache.getValue(ReentrantMapBackedComputingCache.java:72)
at org.jboss.weld.util.cache.ReentrantMapBackedComputingCache.getCastValue(ReentrantMapBackedComputingCache.java:78)
at org.jboss.weld.bean.proxy.ClientProxyProvider.getClientProxy(ClientProxyProvider.java:229)
at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:669)
at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:775)
at org.jboss.weld.injection.ParameterInjectionPointImpl.getValueToInject(ParameterInjectionPointImpl.java:76)
at org.jboss.weld.injection.ConstructorInjectionPoint.getParameterValues(ConstructorInjectionPoint.java:150)
at org.jboss.weld.injection.ConstructorInjectionPoint.newInstance(ConstructorInjectionPoint.java:75)
at org.jboss.weld.injection.producer.AbstractInstantiator.newInstance(AbstractInstantiator.java:28)
at org.jboss.weld.injection.producer.BasicInjectionTarget.produce(BasicInjectionTarget.java:112)
at org.jboss.weld.injection.producer.BeanInjectionTarget.produce(BeanInjectionTarget.java:186)
at org.glassfish.jms.injection.JMSCDIExtension$LocalPassivationCapableBean.create(JMSCDIExtension.java:178)
at org.jboss.weld.contexts.unbound.DependentContextImpl.get(DependentContextImpl.java:64)
at org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:100)
at org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:675)
at org.jboss.weld.manager.BeanManagerImpl.getInjectableReference(BeanManagerImpl.java:775)
at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:92)
at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:345)
at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:356)
at org.jboss.weld.injection.producer.DefaultInjector$1.proceed(DefaultInjector.java:71)
at org.glassfish.weld.services.InjectionServicesImpl.aroundInject(InjectionServicesImpl.java:154)
at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:46)
at org.jboss.weld.injection.producer.DefaultInjector.inject(DefaultInjector.java:73)
at org.jboss.weld.module.ejb.DynamicInjectionPointInjector.inject(DynamicInjectionPointInjector.java:61)
at org.jboss.weld.module.ejb.SessionBeanInjectionTarget.inject(SessionBeanInjectionTarget.java:138)
at org.glassfish.weld.services.JCDIServiceImpl.injectEJBInstance(JCDIServiceImpl.java:299)
at com.sun.ejb.containers.BaseContainer.injectEjbInstance(BaseContainer.java:1574)
at com.sun.ejb.containers.StatelessSessionContainer.createStatelessEJB(StatelessSessionContainer.java:470)
... 49 more
]]
-- 
David Matějček

Back to the top