Hi Heiko, More questions than answers at this point... Thanks for digging into the existing issues related to these Java Verify Issues.
o Does this occur when running with straight WAS 8.0.0.4 with the OpenJPA 2.1.x deliverable? o Are you, by chance, building and/or executing in a Java 7 environment? As you have seen by the other JIRA Issues, Java 7 automatically verifies all Class files now. Before Java 7, many of these Verify errors were eaten and never output to the user. o How are you doing the enhancement processing? Are you doing enhancement at build time, or dynamically at runtime via the Container hook? Thanks, Kevin On Fri, Sep 28, 2012 at 7:57 AM, <it-media.k...@daimler.com> wrote: > 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.