[ 
https://issues.apache.org/jira/browse/OPENJPA-2635?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Richard Zowalla resolved OPENJPA-2635.
--------------------------------------
    Resolution: Won't Fix

Closing as obsolete during backlog cleanup: ClassRedefiner still exists, but it 
now uses redefineClasses and catches the VerifyError to fall back to subclass 
enhancement (ClassRedefiner.java:73-86). The serp bytecode is gone (ASM-only 
enhancer), and TomEE 7 milestones are long dead. Please reopen if this still 
happens with OpenJPA 4.x.

> EntityManagerFactory#createEntityManager leads to VerifyError in 
> ClassRedefiner
> -------------------------------------------------------------------------------
>
>                 Key: OPENJPA-2635
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2635
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 2.4.1
>         Environment: java 7 and 8
>            Reporter: Gerhard Petracek
>            Priority: Major
>
> using
> {code}
> @ApplicationScoped
> public class EntityManagerProducer {
>     @PersistenceUnit(unitName = "...")
>     private EntityManagerFactory entityManagerFactory;
>     @Produces
>     @Default
>     @TransactionScoped
>     protected EntityManager exposeEntityManagerProxy() {
>         return entityManagerFactory.createEntityManager();
>     }
>     protected void onTransactionEnd(@Disposes @Default EntityManager 
> entityManager) {
>         if (entityManager.isOpen()) {
>             entityManager.close();
>         }
>     }
> }
> {code}
> works with tomee 1.7.x but fails with tomee 7m3 with:
> java.lang.VerifyError
>       sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
>       
> sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
>       sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       java.lang.reflect.Method.invoke(Method.java:497)
>       
> org.apache.openjpa.enhance.ClassRedefiner.redefineClasses(ClassRedefiner.java:85)
>       
> org.apache.openjpa.enhance.ManagedClassSubclasser.prepareUnenhancedClasses(ManagedClassSubclasser.java:176)
>       
> org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes(AbstractBrokerFactory.java:311)
>       
> org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker(AbstractBrokerFactory.java:235)
>       
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:211)
>       
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:154)
>       
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:226)
>       
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:153)
>       
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:59)
>       
> org.apache.openejb.assembler.classic.ReloadableEntityManagerFactory.createEntityManager(ReloadableEntityManagerFactory.java:148)



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to