I'd guess that the problem is some spec class getting loaded in several different classloaders, but without some research I certainly couldn't guess which one.

I'd start by removing all the spec jars (especially tx and persistence) from your dependencies since these are all supplied by geronimo.  (maybe not ejb3....). If that didn't help I'd try to debug hibernate to try to figure out exactly what the problem is.

Hope this helps
david jencks

On Jan 29, 2007, at 2:24 PM, Michele La Porta wrote:

I'm try to deploy to Geronimo-1.2-beta a spring web application with jpa-hibernate support.
Test case works fine but when I try to create an hibernate entityManagerFactory from a jsp a VerifyError occurs.

22:49:25,156 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.VerifyError: (class: org/hibernate/ejb/AbstractEntityManagerImpl, method: throwPersistenceException signature: (Lorg/hibernate/HibernateException;)V) Incompatible argument to function

Here the geronimo-web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web:web-app
    xmlns:deployment=" http://geronimo.apache.org/xml/ns/deployment-1.1"
    xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1 "
    xmlns:security="http://geronimo.apache.org/xml/ns/security-1.1"
    xmlns:web=" http://geronimo.apache.org/xml/ns/j2ee/web-1.1"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=" http://geronimo.apache.org/xml/ns/j2ee/web-1.1 http://geronimo.apache.org/schemas-1.1/geronimo-web-1.1.xsd http://geronimo.apache.org/xml/ns/naming-1.1 http://geronimo.apache.org/schemas-1.1/geronimo-naming-1.1.xsd http://geronimo.apache.org/xml/ns/security-1.1 http://geronimo.apache.org/schemas-1.1/geronimo-security-1.1.xsd http://geronimo.apache.org/xml/ns/deployment-1.1 http://geronimo.apache.org/schemas-1.1/geronimo-module-1.1.xsd ">
   
    <deployment:environment>
        <deployment:moduleId>
            <deployment:artifactId>jpa-hibernate</deployment:artifactId>
        </deployment:moduleId>
        <deployment:dependencies>
            <deployment:dependency>
                <deployment:groupId>com.urmet</deployment:groupId>
                <deployment:artifactId>g200PoolDerby</deployment:artifactId>
            </deployment:dependency>
        </deployment:dependencies>
        <deployment:hidden-classes>
            <deployment:filter>org.springframework</deployment:filter>
            <deployment:filter>org.hibernate </deployment:filter>
            <deployment:filter>org.apache.commons.dbcp</deployment:filter>
        </deployment:hidden-classes>
           
    </deployment:environment>
   
      <web:context-root>/g200</web:context-root>
 
      <naming:resource-ref>
          <naming:ref-name>jdbc/G200DS</naming:ref-name>
          <naming:resource-link>g200PoolDerby</naming:resource-link>
      </naming:resource-ref>
</web:web-app>

Here web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns=" http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=" http://java.sun.com/xml/ns/j2ee
     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>

    <listener id="Listener_1">
        <listener-class>com.urmet.rd.g200.web.WebContextListener</listener-class>
    </listener>
   
    <!--
    <servlet>
        <servlet-name>SpringContextServlet</servlet-name>
        <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
     -->
   
    <resource-ref>
        <res-ref-name>jdbc/G200DS</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
        <res-sharing-scope>Shareable</res-sharing-scope>
    </resource-ref>

    <welcome-file-list>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

</web-app>

Here persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<jpa:persistence version="1.0"
    xmlns:jpa="http://java.sun.com/xml/ns/persistence "
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation=" http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd ">

    <jpa:persistence-unit name="pdc2jpa" transaction-type="RESOURCE_LOCAL">
                
        <jpa:description>persistence-unit</jpa:description>
        <jpa:provider>org.hibernate.ejb.HibernatePersistence</jpa:provider>
        <jpa:non-jta-data-source>java:comp/env/jdbc/G200DS</jpa:non-jta-data-source>
        <jpa:class>com.urmet.domain.Pdc</jpa:class>
        <!--
            Prevent annotation scanning. In this app we are purely driven by orm.xml.
        <jpa:exclude-unlisted-classes>false</jpa:exclude-unlisted-classes>
        -->
       
        <jpa:properties>
            <jpa:property name="hibernate.dialect" value="org.hibernate.dialect.DerbyDialect"/>
            <jpa:property name=" hibernate.connection.driver_class" value="org.apache.derby.jdbc.ClientDriver"/>
            <jpa:property name="hibernate.connection.url" value="jdbc:derby://localhost:1527/Guardian200DB"/>
            <jpa:property name="hibernate.connection.username" value="APP"/>
            <jpa:property name="hibernate.connection.password" value="APP"/>
            <jpa:property name=" hibernate.hbm2ddl.auto" value="drop-create"/>

            <!-- Only scan and detect annotated entities or hbm -->
               <jpa:property name="hibernate.archive.autodetection " value="class"/>
            <!-- Only scan and detect hbm.xml files
            <jpa:property name="hibernate.archive.autodetection" value="hbm"/>
            -->
   
            <!-- SQL stdout logging -->
            <jpa:property name="hibernate.show_sql" value="false"/>
            <jpa:property name="hibernate.format_sql" value="true"/>
            <jpa:property name="use_sql_comments" value="true"/>
        </jpa:properties>
    </jpa:persistence-unit>
       
</jpa:persistence>

Here my spring applicationContext.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans "
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:tx="http://www.springframework.org/schema/tx "
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
                           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

    <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
        <property name="jndiName" value="java:comp/env/jdbc/G200DS"/>
    </bean>

    <bean id="persistenceUnitManager" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager">
        <property name="persistenceXmlLocations">
            <list>
                <value>classpath:/META-INF/persistence.xml</value>
            </list>
        </property>
        <property name="defaultDataSource" ref="dataSource" />
    </bean>

    <!-- EntityManagerFactory -->
    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
        <property name="persistenceUnitManager" ref="persistenceUnitManager" />
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
                <property name="showSql" value="true" />
                <property name="generateDdl" value="false" />
                <property name="databasePlatform" value="org.hibernate.dialect.DerbyDialect"/>
            </bean>
        </property>
    </bean>
<!--
    <bean id="entityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean">
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>
 -->   
    <!-- Needed so the @PersistenceUnit annotation is recognized -->
    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor" />

    <!-- Transaction manager for a single EntityManagerFactory (alternative to JTA) -->
    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
        <!--  <property name="dataSource" ref="dataSource"/>-->
    </bean>

    <bean id="pdcService" class="com.urmet.dao.PdcDAO" ><!-- scope="prototype" -->
        <property name="entityManagerFactory" ref="entityManagerFactory"/>
    </bean>


    <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
        <property name="transactionManager" ref="transactionManager"/>
        <property name="transactionAttributes">
            <props>
                <prop key="save*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="delete*">PROPAGATION_REQUIRED</prop>
            </props>
        </property>
    </bean>
       
    <tx:annotation-driven transaction-manager="transactionManager"/>
 </beans>

Here the index.jsp relevant code:

            ApplicationContext applicationContext = WebApplicationContextUtils.getWebApplicationContext(application);  
            System.out.println ("entityManagerFactory = " + applicationContext.getBean("entityManagerFactory"));
           
            PdcService pdcService = (PdcService) applicationContext.getBean("pdcService");
            System.out.println("entityManagerFactory from service = " + pdcService.getEntityManagerFactory());
            System.out.println("entityManagerFactory from service is open = " + pdcService.getEntityManagerFactory ().isOpen());
            System.out.println("entityManagerFactory from service em = " + pdcService.getEntityManagerFactory().createEntityManager());


Here my dependencies:

acegi-security-1.0.3.jar
acegi-security-tiger-1.0.3.jar
antlr-2.7.6.jar
aopalliance-1.0.jar
asm-attrs-1.5.3.jar
avalon-framework-4.1.3.jar
backport-util-concurrent-2.1.jar
cglib-nodep-2.1_3.jar
commons-codec-1.3.jar
commons-collections-2.1.1.jar
commons-dbcp-1.2.1.jar
commons-lang-2.2.jar
commons-logging-1.1.jar
commons-pool-1.2.jar
derbyclient-10.1.3.1.jar
dom4j-1.6.1.jar
ehcache-1.2.3.jar
freemarker-2.3.4.jar
geronimo-ejb_3.0_spec-1.0.jar
geronimo-jsp_2.1_spec-1.0-20061213.201610-2.jar
geronimo-jta_1.0.1B_spec-1.1.jar
geronimo-servlet_2.5_spec-1.1-20061213.201610-3.jar
hibernate-3.2.1.ga.jar
hibernate-annotations-3.2.1.ga.jar
hibernate-entitymanager-3.2.1.ga.jar
hibernate-tools-3.2.0.beta8.jar
hsqldb-1.8.0.7.jar
javassist-3.3.ga.jar
jboss-archive-browsing-5.0.0alpha-200607201-119.jar
jstl-1.1.2.jar
jta-1.0.1B.jar
jtds-1.2.jar
jtidy-r8-21122004.jar
log.txt
log4j-1.2.13.jar
logkit-1.0.1.jar
mysql-connector-java-5.0.3.jar
ognl-2.6.9.jar
oro-2.0.8.jar
persistence-api-1.0.jar
servlet-api-2.3.jar
spring-2.0.2.jar
spring-beans-2.0.2.jar
spring-binding-1.0.jar
spring-context-2.0.2.jar
spring-core-2.0.2.jar
spring-dao-2.0.2.jar
spring-jdbc-2.0.2.jar
spring-jpa-2.0.2.jar
spring-web-2.0.jar
spring-webflow-1.0.jar
standard-1.1.2.jar
xbean-naming-2.7.jar
xercesImpl-2.6.2.jar
xml-apis-1.0.b2.jar
xmlParserAPIs-2.2.1.jar

 here the geronimo stacktrace:



22:42:17,625 INFO  [root] ----------------------------------------------
22:42:17,625 INFO  [root] Started Logging Service
22:42:17,640 INFO  [root] Runtime Information:
22:42:17,640 INFO  [root]   Install Directory = D:\dev\geronimo1.2
22:42:17,640 INFO  [root]   JVM in use = Sun Microsystems Inc. Java 1.5.0_10
22:42:17,640 INFO  [root] Java Information:
22:42:17,640 INFO  [root]   System property [java.runtime.name]  = Java(TM) 2 Runtime Environment, Standard Edition
22:42:17,640 INFO  [root]   System property [java.runtime.version]  = 1.5.0_10-b03
22:42:17,640 INFO  [root]   System property [os.name]             = Windows XP
22:42:17,640 INFO  [root]   System property [os.version]          = 5.1
22:42:17,640 INFO  [root]   System property [sun.os.patch.level]  = Service Pack 2
22:42:17,640 INFO  [root]   System property [os.arch]             = x86
22:42:17,640 INFO  [root]   System property [java.class.version]  = 49.0
22:42:17,640 INFO  [root]   System property [locale]              = it_IT
22:42:17,640 INFO  [root]   System property [unicode.encoding]    = UnicodeLittle
22:42:17,640 INFO  [root]   System property [file.encoding]       = Cp1252
22:42:17,640 INFO  [root]   System property [java.vm.name]        = Java HotSpot(TM) Client VM
22:42:17,640 INFO  [root]   System property [java.vm.vendor]      = Sun Microsystems Inc.
22:42:17,640 INFO  [root]   System property [java.vm.version]     = 1.5.0_10-b03
22:42:17,640 INFO  [root]   System property [java.vm.info]        = mixed mode, sharing
22:42:17,640 INFO  [root]   System property [java.home]           = C:\Programmi\Java\jre1.5.0_10
22:42:17,640 INFO  [root]   System property [java.classpath]      = null
22:42:17,640 INFO  [root]   System property [java.library.path]   = C:\WINDOWS\system32;.;C:\WINDOWS\system32;C:\WINDOWS;C:\Programmi\Far;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\jdk1.5.0_10\bin;D:\bin\maven\maven-2.0.4\bin;D:\bin\apache-ant-1.6.5\bin;D:\.m2\repository;d:\bin;C:\Programmi\Subversion\bin;.;C:\PROGRA~1\IBM\SQLLIB\java\db2java.zip;C:\PROGRA~1\IBM\SQLLIB\java\db2jcc.jar;C:\PROGRA~1\IBM\SQLLIB\java\sqlj.zip;C:\PROGRA~1\IBM\SQLLIB\java\db2jcc_license_cu.jar;C:\PROGRA~1\IBM\SQLLIB\bin;C:\PROGRA~1\IBM\SQLLIB\java\common.jar;C:\Programmi\Java\jre1.5.0_06\lib\ext\QTJava.zip;C:\PROGRA~1\SecureFX;C:\Programmi\Subversion\bin;C:\Programmi\IDM Computer Solutions\UltraEdit-32;C:\Programmi\Microsoft SQL Server\80\Tools\Binn\;C:\Programmi\VoiceAge\Common;C:\PROGRA~1\IBM\SQLLIB\BIN;C:\PROGRA~1\IBM\SQLLIB\FUNCTION;C:\PROGRA~1\IBM\SQLLIB\SAMPLES\REPL;C:\Programmi\File comuni\Teleca Shared;c:\PROGRA~1\INTUWA~1\Shared\MROUTE~1;C:\Programmi\QuickTime\QTSystem\
22:42:17,640 INFO  [root]   System property [java.endorsed.dirs]  = C:\Programmi\Java\jre1.5.0_10\lib\endorsed
22:42:17,640 INFO  [root]   System property [java.ext.dirs]       = C:\Programmi\Java\jre1.5.0_10\lib\ext
22:42:17,640 INFO  [root]   System property [sun.boot.class.path] = C:\Programmi\Java\jre1.5.0_10\lib\rt.jar;C:\Programmi\Java\jre1.5.0_10\lib\i18n.jar;C:\Programmi\Java\jre1.5.0_10\lib\sunrsasign.jar;C:\Programmi\Java\jre1.5.0_10\lib\jsse.jar;C:\Programmi\Java\jre1.5.0_10\lib\jce.jar;C:\Programmi\Java\jre1.5.0_10\lib\charsets.jar;C:\Programmi\Java\jre1.5.0_10\classes
22:42:17,640 INFO  [root] ----------------------------------------------
22:43:31,062 INFO  [ContextLoader] Root WebApplicationContext: initialization started
22:43:31,234 INFO  [CollectionFactory] JDK 1.4+ collections available
22:43:31,234 INFO  [CollectionFactory] Commons Collections 3.x available
22:43:31,312 INFO  [XmlBeanDefinitionReader] Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext.xml]
22:43:31,640 INFO  [XmlWebApplicationContext] Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [dataSource,persistenceUnitManager,entityManagerFactory,org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor,transactionManager,pdcService,baseTransactionProxy,org.springframework.aop.config.internalAutoProxyCreator ,org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor]; root of BeanFactory hierarchy
22:43:31,671 INFO  [XmlWebApplicationContext] 9 beans defined in application context [Root WebApplicationContext]
22:43:31,812 INFO  [XmlWebApplicationContext] Bean 'org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
22:43:31,812 INFO  [DefaultAopProxyFactory] CGLIB2 available: proxyTargetClass feature enabled
22:43:31,859 INFO  [XmlWebApplicationContext] Bean 'org.springframework.aop.config.internalAutoProxyCreator' is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
22:43:31,859 INFO  [XmlWebApplicationContext] Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@b14efc]
22:43:31,875 INFO  [XmlWebApplicationContext] Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@122cbaf]
22:43:31,875 INFO  [UiApplicationContextUtils] Unable to locate ThemeSource with name 'themeSource': using default [org.springframework.ui.context.support.ResourceBundleThemeSource@1df7713]
22:43:31,875 INFO  [DefaultListableBeanFactory] Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [dataSource,persistenceUnitManager,entityManagerFactory,org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor,transactionManager,pdcService,baseTransactionProxy,org.springframework.aop.config.internalAutoProxyCreator ,org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor]; root of BeanFactory hierarchy]
22:43:32,609 INFO  [Version] Hibernate EntityManager 3.2.1.GA
22:43:32,640 INFO  [Version] Hibernate Annotations 3.2.1.GA
22:43:32,656 INFO  [Environment] Hibernate 3.2.1
22:43:32,671 INFO  [Environment] hibernate.properties not found
22:43:32,671 INFO  [Environment] Bytecode provider name : cglib
22:43:32,687 INFO  [Environment] using JDK 1.4 java.sql.Timestamp handling
22:43:33,406 INFO  [Ejb3Configuration] found EJB3 Entity bean: com.urmet.domain.Pdc
22:43:33,421 INFO  [Ejb3Configuration] found EJB3 @Embeddable: org.appfuse.model.Address
22:43:33,421 INFO  [Ejb3Configuration] found EJB3 Entity bean: org.appfuse.model.Role
22:43:33,437 INFO  [Ejb3Configuration] found EJB3 Entity bean: org.appfuse.model.User
22:43:33,562 INFO  [Configuration] Reading mappings from resource : META-INF/orm.xml
22:43:33,562 INFO  [Ejb3Configuration] [PersistenceUnit: pdc2jpa] no META-INF/orm.xml found
22:43:33,718 INFO  [AnnotationBinder] Binding entity from annotated class: com.urmet.domain.Pdc
22:43:33,828 INFO  [EntityBinder] Bind entity com.urmet.domain.Pdc on table PDC
22:43:33,953 INFO  [AnnotationBinder] Binding entity from annotated class: org.appfuse.model.Role
22:43:33,968 INFO  [EntityBinder] Bind entity org.appfuse.model.Role on table role
22:43:33,968 INFO  [AnnotationBinder] Binding entity from annotated class: org.appfuse.model.User
22:43:33,968 INFO  [EntityBinder] Bind entity org.appfuse.model.User on table app_user
22:43:35,171 INFO  [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
22:43:35,187 INFO  [InjectedDataSourceConnectionProvider] Using provided datasource
22:43:35,875 INFO  [SettingsFactory] RDBMS: Apache Derby, version: 10.1.3.1
22:43:35,875 INFO  [SettingsFactory] JDBC driver: Apache Derby Network Client JDBC Driver, version: 10.1.3.1
22:43:36,171 INFO  [Dialect] Using dialect: org.hibernate.dialect.DerbyDialect
22:43:36,187 INFO  [TransactionFactoryFactory] Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory
22:43:36,187 INFO  [TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
22:43:36,187 INFO  [SettingsFactory] Automatic flush during beforeCompletion(): disabled
22:43:36,203 INFO  [SettingsFactory] Automatic session close at end of transaction: disabled
22:43:36,203 INFO  [SettingsFactory] Scrollable result sets: enabled
22:43:36,203 INFO  [SettingsFactory] JDBC3 getGeneratedKeys(): disabled
22:43:36,203 INFO  [SettingsFactory] Connection release mode: auto
22:43:36,203 INFO  [SettingsFactory] Default batch fetch size: 1
22:43:36,203 INFO  [SettingsFactory] Generate SQL with comments: disabled
22:43:36,203 INFO  [SettingsFactory] Order SQL updates by primary key: disabled
22:43:36,203 INFO  [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
22:43:36,203 INFO  [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
22:43:36,203 INFO  [SettingsFactory] Query language substitutions: {}
22:43:36,203 INFO  [SettingsFactory] JPA-QL strict compliance: enabled
22:43:36,203 INFO  [SettingsFactory] Second-level cache: enabled
22:43:36,203 INFO  [SettingsFactory] Query cache: disabled
22:43:36,203 INFO  [SettingsFactory] Cache provider: org.hibernate.cache.NoCacheProvider
22:43:36,203 INFO  [SettingsFactory] Optimize cache for minimal puts: disabled
22:43:36,203 INFO  [SettingsFactory] Structured second-level cache entries: disabled
22:43:36,218 INFO  [SettingsFactory] Echoing all SQL to stdout
22:43:36,218 INFO  [SettingsFactory] Statistics: disabled
22:43:36,218 INFO  [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
22:43:36,218 INFO  [SettingsFactory] Default entity-mode: pojo
22:43:36,312 INFO  [SessionFactoryImpl] building session factory
22:43:36,937 INFO  [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured
22:43:37,031 INFO  [ContextLoader] Using context class [org.springframework.web.context.support.XmlWebApplicationContext] for root WebApplicationContext
22:43:37,031 INFO  [ContextLoader] Root WebApplicationContext: initialization completed in 5969 ms
22:43:37,031 INFO  [WebContextListener] WebContextListener Initialized org.springframework.web.context.support.XmlWebApplicationContext: display name [Root WebApplicationContext]; startup date [Mon Jan 29 22:43:31 CET 2007]; root of context hierarchy; config locations [/WEB-INF/applicationContext.xml]

22:49:25,156 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.VerifyError: (class: org/hibernate/ejb/AbstractEntityManagerImpl, method: throwPersistenceException signature: (Lorg/hibernate/HibernateException;)V) Incompatible argument to function
    at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:37)
    at org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:32)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean$ManagedEntityManagerFactoryInvocationHandler.invoke(AbstractEntityManagerFactoryBean.java:367)
    at $Proxy15.createEntityManager(Unknown Source)
    at org.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:87)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke(DefaultSubjectValve.java:56)
    at org.apache.geronimo.tomcat.GeronimoStandardContext$SystemMethodValve.invoke(GeronimoStandardContext.java:326)
    at org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke(GeronimoBeforeAfterValve.java:47)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Unknown Source)

Is it a problem/issues with classloading ?
Is it a problem with classpath?
What's wrong?