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

Subclassing intercepted component implementing interface with default method fails

    XMLWordPrintable

Details

    • Hide

      Cherry pick this commit and run org.jboss.weld.tests.unit.ejb.subclass.SubclassedComponentDescriptorTest

      Show
      Cherry pick this commit and run org.jboss.weld.tests.unit.ejb.subclass.SubclassedComponentDescriptorTest

    Description

      Seems like the creation of an enhanced proxy from a class implementing an interface with a default method leads to a broken class.

      Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 22
      Exception Details:
        Location:
          org/jboss/weld/tests/unit/ejb/subclass/Qux$Proxy$_$$_WeldSubclass._()V @13: if_icmpeq
        Reason:
          Expected stackmap frame at this location.
        Bytecode:
          0x0000000: 2ab4 0017 59b8 001f 5ab6 0025 039f 0009
          0x0000010: 582a b700 6eb1 2ab2 0074 b200 7a03 bd00
          0x0000020: 46b9 004e 0600 b1                      
      
      	at java.lang.Class.getDeclaredConstructors0(Native Method)
      	at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)
      	at java.lang.Class.getDeclaredConstructors(Class.java:2020)
      	at org.jboss.weld.annotated.slim.backed.SecurityActions.getDeclaredConstructors(SecurityActions.java:57)
      	at org.jboss.weld.annotated.slim.backed.BackedAnnotatedType$BackedAnnotatedConstructors.computeValue(BackedAnnotatedType.java:166)
      	at org.jboss.weld.annotated.slim.backed.BackedAnnotatedType$BackedAnnotatedConstructors.computeValue(BackedAnnotatedType.java:163)
      	at org.jboss.weld.util.LazyValueHolder.get(LazyValueHolder.java:46)
      	at org.jboss.weld.annotated.slim.backed.BackedAnnotatedType$EagerlyInitializedLazyValueHolder.<init>(BackedAnnotatedType.java:159)
      	at org.jboss.weld.annotated.slim.backed.BackedAnnotatedType$BackedAnnotatedConstructors.<init>(BackedAnnotatedType.java:163)
      	at org.jboss.weld.annotated.slim.backed.BackedAnnotatedType$BackedAnnotatedConstructors.<init>(BackedAnnotatedType.java:163)
      	at org.jboss.weld.annotated.slim.backed.BackedAnnotatedType.<init>(BackedAnnotatedType.java:64)
      	at org.jboss.weld.annotated.slim.backed.BackedAnnotatedType.of(BackedAnnotatedType.java:47)
      	at org.jboss.weld.resources.ClassTransformer$TransformClassToBackedAnnotatedType.apply(ClassTransformer.java:81)
      	at org.jboss.weld.resources.ClassTransformer$TransformClassToBackedAnnotatedType.apply(ClassTransformer.java:76)
      	at org.jboss.weld.util.cache.ReentrantMapBackedComputingCache.lambda$null$0(ReentrantMapBackedComputingCache.java:55)
      	at org.jboss.weld.util.WeakLazyValueHolder$1.computeValue(WeakLazyValueHolder.java:35)
      	at org.jboss.weld.util.WeakLazyValueHolder.get(WeakLazyValueHolder.java:53)
      	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.resources.ClassTransformer.getBackedAnnotatedType(ClassTransformer.java:174)
      	... 36 more
      

      Attachments

        Issue Links

          Activity

            People

              mkouba@redhat.com Martin Kouba
              hypnoce Francois JACQUES (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: