-
Bug
-
Resolution: Done
-
Minor
-
2.4.x, 5.1.2.Final, 6.0.0.Beta1
-
None
There is a scenario in which I imagine that a jboss WELD API (jar) is having strangely strange behavior.
Example Scenario:
EJB-jar:
public abstract class ClassePai2 { protected abstract void teste(); } public abstract class ClassePai extends ClassePai2{ public final void teste() { // TODO Auto-generated method stub } } public class BicicletaBean extends ClassePai { ... }
The WELD library tries to create the class proxy and identifies that the test() method is final,
but it is final in an abstract class.
Lab log:
[2/13/24 22:44:11:140 UTC] 000000ee SystemErr R Caused by: java.lang.VerifyError: JVMVRFY007 final method overridden; class=org/jboss/weld/proxies/939339642$Proxy$_$$_Weld$EnterpriseProxy$, method=teste()V, pc=0 [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at java.lang.ClassLoader.defineClassImpl(Native Method) [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at java.lang.ClassLoader.defineClassInternal(ClassLoader.java:397) [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at java.lang.ClassLoader.defineClass(ClassLoader.java:358) [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at sun.reflect.GeneratedMethodAccessor151.invoke(Unknown Source) [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55) [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at java.lang.reflect.Method.invoke(Method.java:508) [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at org.jboss.weld.util.bytecode.ClassFileUtils.toClass2(ClassFileUtils.java:108) [2/13/24 22:44:11:140 UTC] 000000ee SystemErr R at org.jboss.weld.util.bytecode.ClassFileUtils.toClass(ClassFileUtils.java:97)