Java.lang.VerifyError: Expecting a stackmap frame at branch target

Pre-requisites:

1) JDK 1.7

2) TC server :Tomcat version 7.0.23.A.RELEASE

Error  encountered when restart service as below :

INFO   | jvm 1    | 2013/03/22 15:28:37 | 15:28:37,388 [pool-3-thread-1] ERROR org.springframework.web.context.ContextLoader:225 - Context initialization failed
INFO   | jvm 1    | 2013/03/22 15:28:37 | java.lang.VerifyError: Expecting a stackmap frame at branch target 36 in method com.bcsis.g3.common.service.webservices.G3HttpWebService.getExecutorService()Lcom/bcsis/g3/common/composition/service/G3ExecutorService; at offset 9
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.lang.Class.getDeclaredConstructors0(Native Method)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.lang.Class.privateGetDeclaredConstructors(Class.java:2413)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.lang.Class.getDeclaredConstructors(Class.java:1855)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:227)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:930)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:903)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:580)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:276)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:197)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4766)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5262)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:897)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:873)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:958)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1599)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
INFO   | jvm 1    | 2013/03/22 15:28:37 |     at java.lang.Thread.run(Thread.java:722)
INFO   | jvm 1    | 2013/03/22 15:28:38 | Mar 22, 2013 3:28:38 PM org.apache.catalina.startup.Catalina start
INFO   | jvm 1    | 2013/03/22 15:28:38 | INFO: Server startup in 45104 ms


This seemed the java version and tc server version  not matching.


Google the solution as below:

from http://java.dzone.com/articles/javalangverifyerror-expecting

Right now, when I try to persist an object in Google App Engine, I’m facing the error “Java.lang.VerifyError: Expecting a stackmap frame at branch target“. I’m using JDK 7 and it seems like the problem lies with this JDK.

After googling a bit, I found that there seems to be two solutions to fix this problem.

Solution 1: Change to JDK 6

As simple as is, change your JDK to version 6 and you won’t be bugged by this exception anymore. Well, in my case, Ihave to use JDK 7. So, moving on to the solution 2.

Solution 2: Configure JVM

Go to Windows -> Preferences -> Installed JREs. Select the default JVM and click edit. Then add this parameter as VM argument “-XX:-UseSplitVerifier” as seen below.

This should solve the issue.


However , the above 2 solutions does not work for my case.

At last, I changed back to TC server 6. and problem get solved.

D:\AppServer\tc-server>tcruntime-instance.batcreate ach_svr1-v6.0.35.A.RELEASE



你可能感兴趣的:(Spring,Framework)