Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-769

Intercepting a method in a bean where another method is final causes a VerifyError

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.1.0.CR1
    • 1.1.0.Beta2
    • Proxies
    • None

    Description

      Used to work fine until AS6 CR1 (tested in M2 and M4).

      Stack trace:

      org.jboss.arquillian.impl.event.FiredEventException: java.lang.RuntimeException: Could not inject members
      at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:68)
      at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
      at org.jboss.arquillian.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:97)
      at org.jboss.arquillian.testng.Arquillian.arquillianBeforeTest(Arquillian.java:89)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.testng.internal.MethodHelper.invokeMethod(MethodHelper.java:644)
      at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:443)
      at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:160)
      at org.testng.internal.Invoker.invokeMethod(Invoker.java:494)
      at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:700)
      at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1002)
      at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:137)
      at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:121)
      at org.testng.TestRunner.runWorkers(TestRunner.java:908)
      at org.testng.TestRunner.privateRun(TestRunner.java:617)
      at org.testng.TestRunner.run(TestRunner.java:498)
      at org.testng.SuiteRunner.runTest(SuiteRunner.java:329)
      at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:324)
      at org.testng.SuiteRunner.privateRun(SuiteRunner.java:296)
      at org.testng.SuiteRunner.run(SuiteRunner.java:201)
      at org.testng.TestNG.createAndRunSuiteRunners(TestNG.java:915)
      at org.testng.TestNG.runSuitesLocally(TestNG.java:879)
      at org.testng.TestNG.run(TestNG.java:787)
      at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:75)
      at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:92)
      Caused by: java.lang.RuntimeException: Could not inject members
      at org.jboss.arquillian.testenricher.cdi.CDIInjectionEnricher.injectClass(CDIInjectionEnricher.java:103)
      at org.jboss.arquillian.testenricher.cdi.CDIInjectionEnricher.enrich(CDIInjectionEnricher.java:52)
      at org.jboss.arquillian.impl.handler.TestCaseEnricher.callback(TestCaseEnricher.java:42)
      at org.jboss.arquillian.impl.handler.TestCaseEnricher.callback(TestCaseEnricher.java:32)
      at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
      ... 27 more
      Caused by: org.jboss.weld.exceptions.DeploymentException: by java.lang.VerifyError: class pl.softwaremill.weldbugs.bug2.org$jboss$weld$bean-1ed4ae51-6ceb-40b2-899a-ed6d1f90409e$jar-ManagedBean-class_pl$softwaremill$weldbugs$bug2$TestBean2_$$_WeldProxy overrides final method someMethod.()V
      at org.jboss.weld.bean.ManagedBean.applyInterceptors(ManagedBean.java:569)
      at org.jboss.weld.bean.ManagedBean$ManagedBeanInjectionTarget.produce(ManagedBean.java:250)
      at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:332)
      at org.jboss.weld.context.unbound.DependentContextImpl.get(DependentContextImpl.java:59)
      at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:669)
      at org.jboss.weld.manager.BeanManagerImpl.getReference(BeanManagerImpl.java:743)
      at org.jboss.weld.injection.FieldInjectionPoint.inject(FieldInjectionPoint.java:137)
      at org.jboss.weld.util.Beans.injectBoundFields(Beans.java:869)
      at org.jboss.weld.util.Beans.injectFieldsAndInitializers(Beans.java:881)
      at org.jboss.weld.manager.SimpleInjectionTarget$1.proceed(SimpleInjectionTarget.java:122)
      at org.jboss.weld.injection.InjectionContextImpl.run(InjectionContextImpl.java:54)
      at org.jboss.weld.manager.SimpleInjectionTarget.inject(SimpleInjectionTarget.java:116)
      at org.jboss.arquillian.testenricher.cdi.CDIInjectionEnricher.injectNonContextualInstance(CDIInjectionEnricher.java:113)
      at org.jboss.arquillian.testenricher.cdi.CDIInjectionEnricher.injectClass(CDIInjectionEnricher.java:93)
      ... 31 more
      Caused by: org.jboss.weld.exceptions.WeldException: by java.lang.VerifyError: class pl.softwaremill.weldbugs.bug2.org$jboss$weld$bean-1ed4ae51-6ceb-40b2-899a-ed6d1f90409e$jar-ManagedBean-class_pl$softwaremill$weldbugs$bug2$TestBean2_$$_WeldProxy overrides final method someMethod.()V
      at org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:268)
      at org.jboss.weld.bean.proxy.ProxyFactory.create(ProxyFactory.java:198)
      at org.jboss.weld.bean.ManagedBean.applyInterceptors(ManagedBean.java:564)
      ... 44 more
      Caused by: javassist.CannotCompileException: by java.lang.VerifyError: class pl.softwaremill.weldbugs.bug2.org$jboss$weld$bean-1ed4ae51-6ceb-40b2-899a-ed6d1f90409e$jar-ManagedBean-class_pl$softwaremill$weldbugs$bug2$TestBean2_$$_WeldProxy overrides final method someMethod.()V
      at org.jboss.weld.util.bytecode.ClassFileUtils.toClass(ClassFileUtils.java:117)
      at org.jboss.weld.bean.proxy.ProxyFactory.createProxyClass(ProxyFactory.java:376)
      at org.jboss.weld.bean.proxy.ProxyFactory.getProxyClass(ProxyFactory.java:264)
      ... 46 more
      Caused by: java.lang.VerifyError: class pl.softwaremill.weldbugs.bug2.org$jboss$weld$bean-1ed4ae51-6ceb-40b2-899a-ed6d1f90409e$jar-ManagedBean-class_pl$softwaremill$weldbugs$bug2$TestBean2_$$_WeldProxy overrides final method someMethod.()V
      at java.lang.ClassLoader.defineClass1(Native Method)
      at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
      at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.jboss.weld.util.bytecode.ClassFileUtils.toClass2(ClassFileUtils.java:143)
      at org.jboss.weld.util.bytecode.ClassFileUtils.toClass(ClassFileUtils.java:109)
      ... 48 more

      Attachments

        Issue Links

          Activity

            People

              sdouglas1@redhat.com Stuart Douglas
              adamw_jira Adam Warski (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: