Hello everyone, I'm running into a severe problem when trying to use a WAR project under WAS 8.0.0.4 that contains enhanced classes by the OpenJPA version 2.3.0-SNAPSHOT, the corresponding openjpa-maven-plugin (version 2.3.0-SNAPSHOT). I get the following exception when trying to execute the first query:
java.lang.VerifyError: JVMVRFY012 Stackform inkonsistent; Klasse=frontend/model/database/DbApproval, Methode=pcClearFields()V, PC=22 at java.lang.J9VMInternals.verifyImpl(Native Method) at java.lang.J9VMInternals.verify(J9VMInternals.java:85) at java.lang.J9VMInternals.initialize(J9VMInternals.java:162) at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:136) at frontend.model.database.DbDocument.class$(DbDocument.java) at frontend.model.database.DbDocument.<clinit>(DbDocument.java) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:228) at java.lang.Class.forNameImpl(Native Method) at java.lang.Class.forName(Class.java:170) at org.apache.openjpa.meta.MetaDataRepository.classForName( MetaDataRepository.java:1552) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypesInternal( MetaDataRepository.java:1528) at org.apache.openjpa.meta.MetaDataRepository.loadPersistentTypes( MetaDataRepository.java:1506) at org.apache.openjpa.kernel.AbstractBrokerFactory.loadPersistentTypes( AbstractBrokerFactory.java:283) at org.apache.openjpa.kernel.AbstractBrokerFactory.initializeBroker( AbstractBrokerFactory.java:239) at org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker( AbstractBrokerFactory.java:213) at org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker( DelegatingBrokerFactory.java:156) at org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager( EntityManagerFactoryImpl.java:227) at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager( EntityManagerFactoryImpl.java:71) at com.ibm.ws.persistence.EntityManagerFactoryImpl.createEntityManager( EntityManagerFactoryImpl.java:35) at com.ibm.ws.jpa.management.JPAEMPool.getEntityManager( JPAEMPool.java:140) at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo( JPATxEntityManager.java:242) at com.ibm.ws.jpa.management.JPATxEntityManager.getEMInvocationInfo( JPATxEntityManager.java:174) at com.ibm.ws.jpa.management.JPAEntityManager.createNativeQuery( JPAEntityManager.java:339) at frontend.boundary.DatabaseAccessGateway.getDatabaseNameAndUser( DatabaseAccessGateway.java:35) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.ibm.ejs.container.EJSContainer.invokeProceed( EJSContainer.java:6158) at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed( InvocationContextImpl.java:568) at org.apache.webbeans.ejb.common.interceptor.OpenWebBeansEjbInterceptor.callInterceptorsAndDecorators( OpenWebBeansEjbInterceptor.java:521) at org.apache.webbeans.ejb.common.interceptor.OpenWebBeansEjbInterceptor.callToOwbInterceptors( OpenWebBeansEjbInterceptor.java:199) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor( InterceptorProxy.java:227) at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed( InvocationContextImpl.java:548) at org.apache.webbeans.ejb.WSEJBInterceptor.callToOwbInterceptors( WSEJBInterceptor.java:136) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.ibm.ejs.container.interceptors.InterceptorProxy.invokeInterceptor( InterceptorProxy.java:227) at com.ibm.ejs.container.interceptors.InvocationContextImpl.proceed( InvocationContextImpl.java:548) at com.ibm.ejs.container.interceptors.InvocationContextImpl.doAroundInvoke( InvocationContextImpl.java:229) at com.ibm.ejs.container.EJSContainer.invoke( EJSContainer.java:6049) at frontend.boundary.EJSLocalNSFDatabaseAccessGateway_541396be.getDatabaseNameAndUser(EJSLocalNSFDatabaseAccessGateway_541396be.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.apache.webbeans.ejb.common.proxy.EjbBeanProxyHandler.invoke( EjbBeanProxyHandler.java:204) at frontend.boundary.DatabaseAccessGateway_$$_javassist_35.getDatabaseNameAndUser(DatabaseAccessGateway_$$_javassist_35.java) at frontend.boundary.DataAccessService.getDatabaseNameAndUser( DataAccessService.java:31) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.apache.webbeans.intercept.InterceptorHandler.invoke( InterceptorHandler.java:287) at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke( NormalScopedBeanInterceptorHandler.java:98) at frontend.boundary.DataAccessService_$$_javassist_34.getDatabaseNameAndUser(DataAccessService_$$_javassist_34.java) at frontend.system.Configuration.retrieveDatabaseInfo( Configuration.java:119) at frontend.system.Configuration.getDatabaseName( Configuration.java:99) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.apache.webbeans.intercept.InterceptorHandler.invoke( InterceptorHandler.java:287) at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke( NormalScopedBeanInterceptorHandler.java:98) at frontend.system.Configuration_$$_javassist_33.getDatabaseName(Configuration_$$_javassist_33.java) at frontend.view.model.System.getDatabaseName(System.java:34) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at org.apache.webbeans.intercept.InterceptorHandler.invoke( InterceptorHandler.java:287) at org.apache.webbeans.intercept.NormalScopedBeanInterceptorHandler.invoke( NormalScopedBeanInterceptorHandler.java:98) at frontend.view.model.System_$$_javassist_32.getDatabaseName(System_$$_javassist_32.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke( NativeMethodAccessorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at javax.el.BeanELResolver.getValue(BeanELResolver.java:91) at javax.el.CompositeELResolver.getValue( CompositeELResolver.java:55) at org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue( FacesCompositeELResolver.java:142) at org.apache.el.parser.AstValue.getValue(AstValue.java:173) at org.apache.el.ValueExpressionImpl.getValue( ValueExpressionImpl.java:283) at org.apache.webbeans.el.WrappedValueExpression.getValue( WrappedValueExpression.java:68) at org.apache.myfaces.view.facelets.el.ELText$ELTextVariable.writeText( ELText.java:213) at org.apache.myfaces.view.facelets.el.ELText$ELTextComposite.writeText( ELText.java:125) at org.apache.myfaces.view.facelets.compiler.TextInstruction.write( TextInstruction.java:48) at org.apache.myfaces.view.facelets.compiler.UIInstructions.encodeBegin( UIInstructions.java:46) at org.apache.myfaces.view.facelets.compiler.UILeaf.encodeAll( UILeaf.java:214) at javax.faces.component.UIComponent.encodeAll( UIComponent.java:622) at javax.faces.component.UIComponent.encodeAll( UIComponent.java:622) at org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView( FaceletViewDeclarationLanguage.java:1320) at org.apache.myfaces.application.ViewHandlerImpl.renderView( ViewHandlerImpl.java:263) at javax.faces.application.ViewHandlerWrapper.renderView( ViewHandlerWrapper.java:59) at javax.faces.application.ViewHandlerWrapper.renderView( ViewHandlerWrapper.java:59) at org.apache.myfaces.lifecycle.RenderResponseExecutor.execute( RenderResponseExecutor.java:85) at org.apache.myfaces.lifecycle.LifecycleImpl.render( LifecycleImpl.java:239) at org.apache.myfaces.extensions.validator.core.startup.ExtValLifecycleWrapper.render( ExtValLifecycleWrapper.java:79) at org.apache.myfaces.extensions.cdi.jsf2.impl.listener.phase.CodiLifecycleWrapper.render( CodiLifecycleWrapper.java:126) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:191) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service( ServletWrapper.java:1224) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest( ServletWrapper.java:774) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest( ServletWrapper.java:456) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest( ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters( WebAppFilterManager.java:1032) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest( CacheServletWrapper.java:87) at com.ibm.ws.webcontainer.WebContainer.handleRequest( WebContainer.java:895) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest( WSWebContainer.java:1662) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready( WCChannelLink.java:195) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination( HttpInboundLink.java:452) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest( HttpInboundLink.java:511) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest( HttpInboundLink.java:305) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete( HttpICLReadCallback.java:83) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted( AioReadCompletionListener.java:165) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback( AbstractAsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions( AsyncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop( ResultHandler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1659) I've read about OPENJPA issues regarding this problem and updated the openJPA maven plugin to version 2.3.0-SNAPSHOT. I cannot easily update openjpa itself within WAS 8, as it tightly integrated. Is this a new bug regarding the inconsistent stack form or should this be solved by the existing JIRAs and therefore withing 2.3.0-SNAPSHOT. I checked, it uses serp-1.14.1 instead of the older version. The problem even occurs, when WAS 8 does the enhancement itself. The class itself is defined as follows: @Entity @Table(name = "GENEHMIGUNG") public class DbApproval implements Serializable { /** ID necessary for serialization */ private static final long serialVersionUID = 7890436335290264198L; @Id @Column(name = "GEN_ID") private long id; @Column(name = "GEN_TEXT") private String text; @Column(name = "GEN_STATUS") private int state; @Column(name = "GEN_SCO_ID") private long scoringId; @Column(name = "GEN_AUTO_GENEHMIGUNG_KZ") @ExternalValues({ "true=Y", "false=N" }) @Type(String.class) private boolean noAutomaticApprovalPermitted; @Column(name = "GEN_EL_EURO") private BigDecimal expectedLoss; @Column(name = "GEN_EL_PROZENT") private BigDecimal expectedLossInPercent; @Column(name = "GEN_SCOREKLASSE") private String scoreClass; @Column(name = "GEN_SCORING_DATUM") private Date scoringDate; @Column(name = "GEN_ENTSCHEIDUNG") @Type(String.class) private int decision; @Column(name = "GEN_AENDERUNGSTYP") @Enumerated(EnumType.ORDINAL) private ApprovalModificationType modificationType; @Column(name = "GEN_AENDERUNGSENTSCHEIDUNG") private int modificationDecision; @Column(name = "GEN_KOMM_VERHINDERN_KZ") private boolean noCommunicationAllowed; @Column(name = "GEN_INSERT_DATUM") private Date insertDate; @Column(name = "GEN_INSERT_USER_ID") private String insertUserId; @Column(name = "GEN_UPDATE_DATUM") private Date updateDate; @Column(name = "GEN_UPDATE_USER_ID") private String updateUserId; @Version @Column(name = "GEN_VERSION") private long version; @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.REFRESH) @JoinColumn(name = "GEN_VTR_ID", referencedColumnName = "VTR_ID") private DbContract contract; @OneToMany(mappedBy = "approval", fetch = FetchType.LAZY, cascade = CascadeType.REFRESH) @OrderBy("number ASC") private List<DbCollateral> collaterals; @Column(name = "GEN_KL_STATUS_KZ") @ExternalValues({ "true=J", "false=N", "false=null" }) @Type(String.class) private boolean klStateSet; @Column(name = "GEN_KAUTIONSOLL") private BigDecimal securityDeposit; @Column(name = "GEN_RISIKOBUDGET") private BigDecimal riskBudget; @Column(name = "GEN_BANKBUERGSCHAFT") private BigDecimal bankGuaranty; @Column(name = "GEN_SONSTBESICHERUNG") @ExternalValues({"true=J", "false=N", "false=null"}) @Type(String.class) private boolean additionalCollateralPresent; @Column(name = "GEN_REGELN_PRUEFBAR") private boolean expertRulesTestable; @Column(name = "GEN_REGELN_GEPRUEFT") private boolean expertRulesTested; @OneToMany(mappedBy = "approval", fetch = FetchType.LAZY, cascade = CascadeType.REFRESH) private List<DbTask> tasks; @OneToOne(mappedBy = "approval", fetch = FetchType.LAZY, cascade = CascadeType.REFRESH) private DbDocument document; ... } Hopefully, somebody can help me out here! Best regards, Heiko -- Heiko Kopp If you are not the intended addressee, please inform us immediately that you have received this e-mail in error, and delete it. We thank you for your cooperation.