4 Replies Latest reply on Feb 3, 2008 6:30 PM by alesj

    Truncated class file exception with NoCopy VFS

    alesj

      I get the following exceptions while deploying Seam Booking example app and using NoCopyNestedJar VFS usage (-Djboss.vfs.forceNoCopy=true):

      2008-01-27 14:21:55,406 DEBUG [org.ajax4jsf.resource.ResourceBuilderImpl] Process resources configuration file vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear/jboss-seam-booking.war/WEB-INF/lib/jboss-seam-ui.jar/META-INF/resources-config.xml
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} loadClass org.apache.commons.digester.Digester resolve=false
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} aquireLockFairly Thread[main,5,jboss]
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} aquiredLock Thread[main,5,jboss] holding=1
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} load from domain org.apache.commons.digester.Digester domain=ClassLoaderDomain@798797{seam.jboss.org:loader=seam-booking}
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] ClassLoaderDomain@798797{seam.jboss.org:loader=seam-booking} findLoader org/apache/commons/digester/Digester.class classLoader=BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} allExports=false
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoaderDomain] ClassLoaderDomain@798797{seam.jboss.org:loader=seam-booking} trying to load org/apache/commons/digester/Digester.class from all exports of package org.apache.commons.digester [VFSClassLoaderPolicy@1ae306c{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear}]
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} get resource locally org/apache/commons/digester/Digester.class
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} got resource locally org/apache/commons/digester/Digester.class
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} load class locally org.apache.commons.digester.Digester
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} getPackage org.apache.commons.digester
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} already loaded package org.apache.commons.digester org.apache.commons.digester
      2008-01-27 14:21:55,546 WARN [org.jboss.detailed.classloader.ClassLoaderManager] Unexpected error during load of:org.apache.commons.digester.Digester
      java.lang.ClassFormatError: Truncated class file
       at java.lang.ClassLoader.defineClass1(Native Method)
       at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
       at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:58)
       at org.jboss.classloader.spi.base.BaseClassLoader$1.run(BaseClassLoader.java:362)
       at org.jboss.classloader.spi.base.BaseClassLoader$1.run(BaseClassLoader.java:321)
       at java.security.AccessController.doPrivileged(Native Method)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:320)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:293)
       at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:75)
       at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:91)
       at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:449)
       at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:251)
       at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:145)
       at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:193)
       at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1006)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:584)
       at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:234)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
       at java.net.FactoryURLClassLoader.loadClass(URLClassLoader.java:579)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
       at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1352)
       at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1209)
       at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
       at org.ajax4jsf.resource.ResourceBuilderImpl.registerConfig(ResourceBuilderImpl.java:159)
       at org.ajax4jsf.resource.ResourceBuilderImpl.registerResources(ResourceBuilderImpl.java:143)
       at org.ajax4jsf.resource.ResourceBuilderImpl.init(ResourceBuilderImpl.java:214)
       at org.ajax4jsf.renderkit.ChameleonRenderKitFactory.<init>(ChameleonRenderKitFactory.java:62)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
       at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
       at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:549)
       at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:448)
       at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:249)
       at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:1036)
       at com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:493)
       at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:381)
       at org.jboss.web.jsf.integration.config.JBossJSFConfigureListener.contextInitialized(JBossJSFConfigureListener.java:69)
       at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3860)
       at org.apache.catalina.core.StandardContext.start(StandardContext.java:4363)
       at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
       at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
       at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
       at org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
       at org.apache.catalina.core.StandardContext.init(StandardContext.java:5357)
       at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeployInternal(TomcatDeployment.java:345)
       at org.jboss.web.tomcat.service.deployers.TomcatDeployment.performDeploy(TomcatDeployment.java:141)
       at org.jboss.web.deployers.AbstractWarDeployment.start(AbstractWarDeployment.java:344)
       at org.jboss.web.deployers.WebModule.startModule(WebModule.java:89)
       at org.jboss.web.deployers.WebModule.start(WebModule.java:67)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:585)
       at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:157)
       at org.jboss.mx.server.Invocation.dispatch(Invocation.java:96)
       at org.jboss.mx.server.Invocation.invoke(Invocation.java:88)
       at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
       at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
       at org.jboss.system.microcontainer.ServiceProxy.invoke(ServiceProxy.java:184)
       at $Proxy5.start(Unknown Source)
       at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:42)
       at org.jboss.system.microcontainer.StartStopLifecycleAction.installAction(StartStopLifecycleAction.java:37)
       at org.jboss.dependency.plugins.action.SimpleControllerContextAction.simpleInstallAction(SimpleControllerContextAction.java:62)
       at org.jboss.dependency.plugins.action.AccessControllerContextAction.install(AccessControllerContextAction.java:71)
       at org.jboss.dependency.plugins.AbstractControllerContextActions.install(AbstractControllerContextActions.java:51)
       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
       at org.jboss.system.microcontainer.ServiceControllerContext.install(ServiceControllerContext.java:255)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
       at org.jboss.system.ServiceController.doChange(ServiceController.java:659)
       at org.jboss.system.ServiceController.start(ServiceController.java:431)
       at org.jboss.system.deployers.ServiceDeployer.start(ServiceDeployer.java:149)
       at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:107)
       at org.jboss.system.deployers.ServiceDeployer.deploy(ServiceDeployer.java:46)
       at org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer.internalDeploy(AbstractSimpleRealDeployer.java:65)
       at org.jboss.deployers.spi.deployer.helpers.AbstractRealDeployer.deploy(AbstractRealDeployer.java:50)
       at org.jboss.deployers.plugins.deployers.DeployerWrapper.deploy(DeployerWrapper.java:169)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:853)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:874)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.doInstallParentFirst(DeployersImpl.java:906)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.install(DeployersImpl.java:794)
       at org.jboss.dependency.plugins.AbstractControllerContext.install(AbstractControllerContext.java:327)
       at org.jboss.dependency.plugins.AbstractController.install(AbstractController.java:1309)
       at org.jboss.dependency.plugins.AbstractController.incrementState(AbstractController.java:734)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:862)
       at org.jboss.dependency.plugins.AbstractController.resolveContexts(AbstractController.java:784)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:622)
       at org.jboss.dependency.plugins.AbstractController.change(AbstractController.java:411)
       at org.jboss.deployers.plugins.deployers.DeployersImpl.process(DeployersImpl.java:498)
       at org.jboss.deployers.plugins.main.MainDeployerImpl.process(MainDeployerImpl.java:506)
       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.loadProfile(ProfileServiceBootstrap.java:246)
       at org.jboss.system.server.profileservice.ProfileServiceBootstrap.start(ProfileServiceBootstrap.java:131)
       at org.jboss.bootstrap.AbstractServerImpl.start(AbstractServerImpl.java:408)
       at org.jboss.Main.boot(Main.java:208)
       at org.jboss.Main$1.run(Main.java:534)
       at java.lang.Thread.run(Thread.java:595)
      2008-01-27 14:21:55,546 TRACE [org.jboss.classloader.spi.base.BaseClassLoader] BaseClassLoader@b4cbc5{vfsfile:/C:/projects/jboss5/trunk/build/output/jboss-5.0.0.Beta4/server/default/deploy/jboss-seam-booking.ear} unlock Thread[main,5,jboss] holding=1
      


      There is no such exception with direct VFS usage.
      Can't find the difference ... :-(

      This exception causes the Seam app. not to deploy properly.