[jboss-jira] [JBoss JIRA] (WFCORE-700) jboss deployment structure error when two deployments share the same dependency
Enrique González Martínez (JIRA)
issues at jboss.org
Wed May 20 03:15:23 EDT 2015
[ https://issues.jboss.org/browse/WFCORE-700?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13069451#comment-13069451 ]
Enrique González Martínez commented on WFCORE-700:
--------------------------------------------------
yes. you can reproduce the problem.
I'm digging a bit and you can get these two stack traces (depending when the race condition happen)
{code}
09:12:58,005 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."ShareLibTest.ear".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."ShareLibTest.ear".STRUCTURE: WFLYSRV0153: Failed to process phase STRUCTURE of deployment "ShareLibTest.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYSRV0168: Error loading jboss-deployment-structure.xml from /home/egonzalez/redhat/github/wildfly/build/target/wildfly-10.0.0.Alpha2-SNAPSHOT/standalone/deployments/ShareLibTest.ear/META-INF/jboss-deployment-structure.xml
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.parse(DeploymentStructureDescriptorParser.java:321)
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.parse(DeploymentStructureDescriptorParser.java:293)
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.deploy(DeploymentStructureDescriptorParser.java:157)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
... 5 more
Caused by: javax.xml.stream.XMLStreamException: java.io.IOException: VFS000017: Filesystem already mounted at mount point ""/home/egonzalez/redhat/github/wildfly/build/target/wildfly-10.0.0.Alpha2-SNAPSHOT/standalone/mylib.jar""
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseResourceRoot(JBossDeploymentStructureParser12.java:771)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseResources(JBossDeploymentStructureParser12.java:701)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseModuleStructureSpec(JBossDeploymentStructureParser12.java:347)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseDeployment(JBossDeploymentStructureParser12.java:263)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.readElement(JBossDeploymentStructureParser12.java:240)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.readElement(JBossDeploymentStructureParser12.java:69)
at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)
at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.parse(DeploymentStructureDescriptorParser.java:315)
... 8 more
Caused by: java.io.IOException: VFS000017: Filesystem already mounted at mount point ""/home/egonzalez/redhat/github/wildfly/build/target/wildfly-10.0.0.Alpha2-SNAPSHOT/standalone/mylib.jar""
at org.jboss.vfs.VFS.mount(VFS.java:123)
at org.jboss.vfs.VFS.doMount(VFS.java:336)
at org.jboss.vfs.VFS.mountZip(VFS.java:386)
at org.jboss.vfs.VFS.mountZip(VFS.java:410)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseResourceRoot(JBossDeploymentStructureParser12.java:761)
... 16 more
{code}
And the second stack trace:
{code}
09:01:55,297 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001: Failed to start service jboss.deployment.unit."ShareLibTest2.ear".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."ShareLibTest2.ear".STRUCTURE: WFLYSRV0153: Failed to process phase STRUCTURE of deployment "ShareLibTest2.ear"
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: WFLYSRV0168: Error loading jboss-deployment-structure.xml from /home/egonzalez/redhat/github/wildfly/build/target/wildfly-10.0.0.Alpha2-SNAPSHOT/standalone/deployments/ShareLibTest2.ear/META-INF/jboss-deployment-structure.xml
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.parse(DeploymentStructureDescriptorParser.java:321)
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.parse(DeploymentStructureDescriptorParser.java:293)
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.deploy(DeploymentStructureDescriptorParser.java:157)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
... 5 more
Caused by: javax.xml.stream.XMLStreamException: java.util.zip.ZipException: zip file is empty
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseResourceRoot(JBossDeploymentStructureParser12.java:771)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseResources(JBossDeploymentStructureParser12.java:701)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseModuleStructureSpec(JBossDeploymentStructureParser12.java:347)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseDeployment(JBossDeploymentStructureParser12.java:263)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.readElement(JBossDeploymentStructureParser12.java:240)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.readElement(JBossDeploymentStructureParser12.java:69)
at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110)
at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69)
at org.jboss.as.server.deployment.module.descriptor.DeploymentStructureDescriptorParser.parse(DeploymentStructureDescriptorParser.java:315)
... 8 more
Caused by: java.util.zip.ZipException: zip file is empty
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.<init>(ZipFile.java:220)
at java.util.zip.ZipFile.<init>(ZipFile.java:150)
at java.util.jar.JarFile.<init>(JarFile.java:166)
at java.util.jar.JarFile.<init>(JarFile.java:130)
at org.jboss.vfs.spi.JavaZipFileSystem.<init>(JavaZipFileSystem.java:90)
at org.jboss.vfs.spi.JavaZipFileSystem.<init>(JavaZipFileSystem.java:77)
at org.jboss.vfs.VFS.mountZip(VFS.java:386)
at org.jboss.vfs.VFS.mountZip(VFS.java:410)
at org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12.parseResourceRoot(JBossDeploymentStructureParser12.java:761)
... 16 more
{code}
> jboss deployment structure error when two deployments share the same dependency
> -------------------------------------------------------------------------------
>
> Key: WFCORE-700
> URL: https://issues.jboss.org/browse/WFCORE-700
> Project: WildFly Core
> Issue Type: Bug
> Affects Versions: 2.0.0.Alpha2
> Reporter: Enrique González Martínez
> Assignee: Enrique González Martínez
>
> When two deployments depend on the same library it could throw and IOException.
> The problem is located in {code} org.jboss.as.server.deployment.module.descriptor.JBossDeploymentStructureParser12 {code}
> * When it is executed in sequence
> *# The first time is called with the argument "path", VFS is using RootFileSystem and it is considered a file.
> *# Once it is called the second time, VFS is using JavaZipFileSystem (is mounted during the first call) and this time is not considered a file.
> * When is executed in parallel
> *# both of them are using RootFileSystem. The second time VirtualFile.isFile is called throws an exception (Caused by: java.io.IOException: VFS000017: Filesystem already mounted at mount point)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list