[
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)