[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