Search code examples
jsfprimefaceswebspherejsf-2.2websphere-8

java.lang.VerifyError: JVMVRFY027 receiver is incompatible with declaring class; class=org/primefaces/component/gmap/GMap, method=queueEvent


I'm facing a problem, when I try to run my application on WebSphere 8.5.

FFDC Exception:com.ibm.ws.webcontainer.exception.WebAppNotLoadedException SourceId:com.ibm.ws.webcontainer.WebContainer ProbeId:736 Reporter:com.ibm.ws.webcontainer.WSWebContainer@e152ede7
com.ibm.ws.webcontainer.exception.WebAppNotLoadedException: Failed to load webapp: JVMVRFY027 receiver is incompatible with declaring class&#59; class=org/primefaces/component/gmap/GMap, method=queueEvent(Ljavax/faces/event/FacesEvent
&#59;)V, pc=676
        at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:176)
        at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
        at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
        at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1177)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
        at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
        at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:776)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplicationDynamically(ApplicationMgrImpl.java:1379)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2189)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:389)
        at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:332)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:119)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$1.run(CompositionUnitMgrImpl.java:607)
        at com.ibm.ws.security.auth.ContextManagerImpl.runAs(ContextManagerImpl.java:5474)
        at com.ibm.ws.security.auth.ContextManagerImpl.runAsSystem(ContextManagerImpl.java:5600)
        at com.ibm.ws.security.core.SecurityContext.runAsSystem(SecurityContext.java:255)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:621)
        at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.startCompositionUnit(CompositionUnitMgrImpl.java:565)
        at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:1269)
        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 sun.reflect.misc.Trampoline.invoke(MethodUtil.java:69)
        at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
        at java.lang.reflect.Method.invoke(Method.java:611)
        at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:272)
        at javax.management.modelmbean.RequiredModelMBean$4.run(RequiredModelMBean.java:1152)
        at java.security.AccessController.doPrivileged(AccessController.java:298)
        at com.ibm.oti.security.CheckedAccessControlContext.securityCheck(CheckedAccessControlContext.java:30)
        at sun.misc.JavaSecurityAccessWrapper.doIntersectionPrivilege(JavaSecurityAccessWrapper.java:41)
        at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1146)
        at javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:999)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:847)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:783)
        at com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1335)
        at com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118)
        at com.ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1228)
        at com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181)
        at com.ibm.ws.management.connector.ipc.CallRouter.route(CallRouter.java:247)
        at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink.doWork(IPCConnectorInboundLink.java:360)
        at com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:602)
        at com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback.complete(SSLReadServiceContext.java:1818)
        at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
        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:1864)
Caused by: java.lang.VerifyError: JVMVRFY027 receiver is incompatible with declaring class; class=org/primefaces/component/gmap/GMap, method=queueEvent(Ljavax/faces/event/FacesEvent;)V, pc=676
        at java.lang.J9VMInternals.verifyImpl(Native Method)
        at java.lang.J9VMInternals.verify(J9VMInternals.java:94)
        at java.lang.J9VMInternals.initialize(J9VMInternals.java:171)

The problem seems to be the version of PrimeFaces or javax faces but I do not even use GMAP object in my project.

On tomcat 7, everything is right and works fine but when I try to load my app in WebSphere this blows up.

I am using PrimeFaces 5 and javax.faces.2.2.0

UPDATE

before Gas answer, i changed with eclipse the project facet. i changed the web-module (3.0),jst.jsf(2.2) and java version (1.6).

it all works fine, as ever, on tomcat but in WS it does show me the same error.

this is so frustrating.

UPDATE

after 7 days i just cannot figure it out. it seems that WAS 8.5.5 won't work. now it gives continously:

Failed to load webapp: javax.servlet.ServletContainerInitializer: Provider       com.sun.faces.config.FacesInitializer not a subtype

I followed this links to try to solve the problem:

IBM using jsf 2.0 (I'm using shared library- parent last already and i changed "jsp and JSF options" in every way it is possible)

I had also search for all the libs and dependencies on maven rep.

i am using:

javax.el-api-2.2.1.jar

javax.faces-2.2.0.jar

javax.servlet.jsp-api-2.2.1.jar

javax.servlet-api-3.0.1.jar

what am I doing wrong?

I have to say that all this works on IBM Liberty 8.5 and Apache tomcat 7

UPDATE yes, according to this link: Ibm websphere problem

I tried to do as listed:Under WAS:

1) Under RAD produce a Ear File
2) Start the admin console
3) Panel: Environment (at right)
4) Sub-menu: Shared libraries
5) Button New and select the required fields. Read with attention the                             tooltip on each field
 6) Check the box Class Loading - Use an isolated class loader for this shared library 
 7) Panel: Applications > Application Types > WebSphere enterprise applications
 8) Button: Install, select your ear and Next
 9) Select the radio button: Detailed - Show all installation options and parameters.
 10) Follow the steps - moslty default value are ok
 10.1) Step 4 Map shared libraries
 10.2) Select your ear
 10.3) Button: References Shared Libraries
 10.4) Select your library previously created and OK button
 10.5) Follow the next steps and start your ear file

 10.a) If it does not work, then try to create a class loader Panel: Servers > Server Types > WebSphere application servers > Your server (server1)
 10.b) Panel: Server Infrastructure > Java and Process Management > Class loader
 10.c) Button New: > Class loader order > Classes loaded with local class loader first (Parent Last)
 10.d) Apply Button
 10.e) Then at the same panel: Shared library references link
 10.f) Button Add and select your shared library, OK and Save
 10.g) Restart your server and your application

Solution

  • I've succeeded to fix this issue by cleaning manually websphere caches and installations and rebuilding from the start. Used /bin/clearClassCache script and deleted files manually from c:\users\User\AppData\Local\javasharedresources\. Rebuilt and redeployed the application - and it worked.