Details

    • Type: Enhancement Enhancement
    • Status: Resolved Resolved (View Workflow)
    • Priority: Major Major
    • Resolution: Done
    • Affects Version/s: 7.1.0.CR1b
    • Fix Version/s: 7.1.2.Final (EAP)
    • Component/s: VFS
    • Labels:
      None
    • Environment:
      Windows 7, JDK 6, Eclipse Indigo
    • Similar Issues:
      Show 10 results 

      Description

      I'm migrating an app from JBoss 5.0.1 to JBoss 7.1 and getting an error when starting deployment of the EAR. It is almost impossible for me to troubleshoot as the error message is too vague. Please add the virtual file name and any other information that would make this error useful, thank you.

      [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.deployment.subunit."xxx-ear.ear"."xxx.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."xxx-ear.ear"."xxx.war".PARSE: Failed to process phase PARSE of subdeployment "oflows.war" of deployment "xxx-ear.ear"
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
      at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
      at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_24]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_24]
      at java.lang.Thread.run(Thread.java:662) [:1.6.0_24]
      Caused by: java.lang.IllegalArgumentException: Given parent is not an ancestor of this virtual file
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:116)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
      at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:110)
      at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.processTlds(TldParsingDeploymentProcessor.java:105)
      at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.deploy(TldParsingDeploymentProcessor.java:81)
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
      ... 5 more

        Activity

        Hide
        David Wery
        added a comment -

        Same problem on our side (see stacktrace)! Can someone help us ?

        10:54:05,428 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.deployment.unit."XXX.war".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."XXX.war".STRUCTURE: Failed to process phase STRUCTURE of deployment "XXX.war"
        	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
        	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
        	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA]
        	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_29]
        	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_29]
        	at java.lang.Thread.run(Thread.java:680) [:1.6.0_29]
        Caused by: java.lang.IllegalArgumentException: Given parent is not an ancestor of this virtual file
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:116)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:110)
        	at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.createAdditionalModule(ManifestClassPathProcessor.java:193) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
        	at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.handlingExistingClassPathEntry(ManifestClassPathProcessor.java:185) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
        	at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.deploy(ManifestClassPathProcessor.java:162) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
        	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b]
        	... 5 more
        
        Show
        David Wery
        added a comment - Same problem on our side (see stacktrace)! Can someone help us ? 10:54:05,428 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-3) MSC00001: Failed to start service jboss.deployment.unit. "XXX.war" .STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit. "XXX.war" .STRUCTURE: Failed to process phase STRUCTURE of deployment "XXX.war" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:121) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_29] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_29] at java.lang. Thread .run( Thread .java:680) [:1.6.0_29] Caused by: java.lang.IllegalArgumentException: Given parent is not an ancestor of this virtual file at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:116) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:110) at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.createAdditionalModule(ManifestClassPathProcessor.java:193) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b] at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.handlingExistingClassPathEntry(ManifestClassPathProcessor.java:185) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b] at org.jboss.as.server.deployment.module.ManifestClassPathProcessor.deploy(ManifestClassPathProcessor.java:162) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b] at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:115) [jboss-as-server-7.1.0.CR1b.jar:7.1.0.CR1b] ... 5 more
        Hide
        Michael Bannister
        added a comment -

        I get same thing as original reporter - so I grabbed master codebase, added an extra try/catch in TldParsingDeploymentProcessor to capture a bit more info and found this - note the first Caused by line:

        
        01:28:02,515 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.subunit."myapp.ear"."mywebapp.war".PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit."myapp.ear"."mywebapp.war".PARSE: Failed to process phase PARSE of subdeployment "mywebapp.war" of deployment "myapp.ear"
        	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.2.Final-SNAPSHOT.jar:7.1.2.Final-SNAPSHOT]
        	at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        	at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
        	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_29]
        	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_29]
        	at java.lang.Thread.run(Thread.java:680) [classes.jar:1.6.0_29]
        Caused by: java.lang.IllegalArgumentException: file was /content/myapp.ear/spring-webmvc-3.0.5.RELEASE.jar/META-INF/spring.tld and root was /content/myapp.ear/mywebapp.war
        	at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.processTlds(TldParsingDeploymentProcessor.java:114)
        	at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.deploy(TldParsingDeploymentProcessor.java:83)
        	at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.2.Final-SNAPSHOT.jar:7.1.2.Final-SNAPSHOT]
        	... 5 more
        Caused by: java.lang.IllegalArgumentException: Given parent is not an ancestor of this virtual file
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:116)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122)
        	at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:110)
        	at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.processTlds(TldParsingDeploymentProcessor.java:108)
        	... 7 more
        

        My EAR contains two 'skinny' WARs (but with taglib-containing jars included) and lots of other JARs at the root of the EAR, referenced by the Class-Path in the manifest of the WARs which depend on them.

        myapp.ear
          mywebapp.war
            META-INF/MANIFEST.MF
              Class-Path: spring-core-3.0.5.RELEASE.jar spring-webmvc-3.0.5.RELEASE.jar ...
            WEB-INF/lib
              spring-security-taglibs-3.0.5.RELEASE.jar
              spring-webmvc-3.0.5.RELEASE.jar
          
          myotherwebapp.war
            ...
          
          spring-core-3.0.5.RELEASE.jar
          spring-security-taglibs-3.0.5.RELEASE.jar
          spring-webmvc-3.0.5.RELEASE.jar
          ...
        

        So, it seems that the error above is grumbling because it's found a TLD referenced in the webapp which is not packaged inside it. I don't understand the context in which the TldParsingDeploymentProcessor is run, so I'm not sure whether it's right to throw an error. That said, the error could certainly be improved by catching the IllegalArgumentException - if I get time I'll find out how to file a patch or whatever the procedure is for JBoss contribs...

        Show
        Michael Bannister
        added a comment - I get same thing as original reporter - so I grabbed master codebase, added an extra try/catch in TldParsingDeploymentProcessor to capture a bit more info and found this - note the first Caused by line: 01:28:02,515 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.subunit. "myapp.ear" . "mywebapp.war" .PARSE: org.jboss.msc.service.StartException in service jboss.deployment.subunit. "myapp.ear" . "mywebapp.war" .PARSE: Failed to process phase PARSE of subdeployment "mywebapp.war" of deployment "myapp.ear" at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:119) [jboss-as-server-7.1.2.Final-SNAPSHOT.jar:7.1.2.Final-SNAPSHOT] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [classes.jar:1.6.0_29] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [classes.jar:1.6.0_29] at java.lang. Thread .run( Thread .java:680) [classes.jar:1.6.0_29] Caused by: java.lang.IllegalArgumentException: file was /content/myapp.ear/spring-webmvc-3.0.5.RELEASE.jar/META-INF/spring.tld and root was /content/myapp.ear/mywebapp.war at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.processTlds(TldParsingDeploymentProcessor.java:114) at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.deploy(TldParsingDeploymentProcessor.java:83) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.2.Final-SNAPSHOT.jar:7.1.2.Final-SNAPSHOT] ... 5 more Caused by: java.lang.IllegalArgumentException: Given parent is not an ancestor of this virtual file at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:116) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:122) at org.jboss.vfs.VirtualFile.getPathNameRelativeTo(VirtualFile.java:110) at org.jboss.as.web.deployment.TldParsingDeploymentProcessor.processTlds(TldParsingDeploymentProcessor.java:108) ... 7 more My EAR contains two 'skinny' WARs (but with taglib-containing jars included) and lots of other JARs at the root of the EAR, referenced by the Class-Path in the manifest of the WARs which depend on them. myapp.ear mywebapp.war META-INF/MANIFEST.MF Class -Path: spring-core-3.0.5.RELEASE.jar spring-webmvc-3.0.5.RELEASE.jar ... WEB-INF/lib spring-security-taglibs-3.0.5.RELEASE.jar spring-webmvc-3.0.5.RELEASE.jar myotherwebapp.war ... spring-core-3.0.5.RELEASE.jar spring-security-taglibs-3.0.5.RELEASE.jar spring-webmvc-3.0.5.RELEASE.jar ... So, it seems that the error above is grumbling because it's found a TLD referenced in the webapp which is not packaged inside it. I don't understand the context in which the TldParsingDeploymentProcessor is run, so I'm not sure whether it's right to throw an error. That said, the error could certainly be improved by catching the IllegalArgumentException - if I get time I'll find out how to file a patch or whatever the procedure is for JBoss contribs...
        Hide
        jaikiran pai
        added a comment -

        if I get time I'll find out how to file a patch or whatever the procedure is for JBoss contribs...

        Michael, you are welcome to contribute the patch. See http://community.jboss.org/wiki/HackingonAS7 for getting started.

        Show
        jaikiran pai
        added a comment - if I get time I'll find out how to file a patch or whatever the procedure is for JBoss contribs... Michael, you are welcome to contribute the patch. See http://community.jboss.org/wiki/HackingonAS7 for getting started.
        Hide
        Michael Bannister
        added a comment -

        Thanks - I'll take a look.

        Ben, I think I've managed to fix the original problem by including all my JAR dependencies in <ear root>/lib rather than at the root… maybe that will work for you.

        Show
        Michael Bannister
        added a comment - Thanks - I'll take a look. Ben, I think I've managed to fix the original problem by including all my JAR dependencies in <ear root>/lib rather than at the root… maybe that will work for you.
        Hide
        narve2
        added a comment -

        Michael, that patch would be welcome - I've just spent some time finding out what that exception means. In my case, it was an ear-file with lots of jar-files in the lib directory. Apparently JBoss7 didn't like one particular jar-file, and failed with the above exception because of that. Don't know why yet, but probably because of strange class-path-entries in the manifest.mf-file of that jar-file.

        I tried to do the same changes you did, but unfortunately JBoss didn't compile from sources at my computer (despite it being based on maven!!), and I don't have time to figure out why

        Show
        narve2
        added a comment - Michael, that patch would be welcome - I've just spent some time finding out what that exception means. In my case, it was an ear-file with lots of jar-files in the lib directory. Apparently JBoss7 didn't like one particular jar-file, and failed with the above exception because of that. Don't know why yet, but probably because of strange class-path-entries in the manifest.mf-file of that jar-file. I tried to do the same changes you did, but unfortunately JBoss didn't compile from sources at my computer (despite it being based on maven!!), and I don't have time to figure out why
        Hide
        Michael Bannister
        added a comment - - edited

        Pull request submitted: https://github.com/jbossas/jboss-as/pull/1976
        (edit: just found the workflow action above & have linked it)

        Show
        Michael Bannister
        added a comment - - edited Pull request submitted: https://github.com/jbossas/jboss-as/pull/1976 (edit: just found the workflow action above & have linked it)

          People

          • Assignee:
            Stuart Douglas
            Reporter:
            Ben Software Engineer
          • Votes:
            5 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: