Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-877

too many classes on classpath break RAR deployments without deployment descriptor

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • None
    • JCA
    • None

      An EAR containing a RAR and a large number of classes cannot be deployed, the exception depends on jboss version. For example, the latest 7.1 snapshot produces the following:

      14:37:57,354 INFO [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "test-ear.ear"
      14:37:57,499 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "test-rar-2.0.0-SNAPSHOT.rar"
      14:37:57,499 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "test-ejb-2.0.0-SNAPSHOT.jar"
      14:37:57,807 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service jboss.deployment.subunit."test-ear.ear"."test-rar-2.0.0-SNAPSHOT.rar".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.subunit."test-ear.ear"."test-rar-2.0.0-SNAPSHOT.rar".INSTALL: JBAS018733: Failed to process phase INSTALL of subdeployment "test-rar-2.0.0-SNAPSHOT.rar" of deployment "test-ear.ear"
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:123) [jboss-as-server-7.1.4.Final-SNAPSHOT.jar:7.1.4.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.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_13]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_13]
      at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_13]
      Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.NullPointerException
      at org.jboss.as.connector.deployers.ra.processors.ParsedRaDeploymentProcessor.deploy(ParsedRaDeploymentProcessor.java:185)
      at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:116) [jboss-as-server-7.1.4.Final-SNAPSHOT.jar:7.1.4.Final-SNAPSHOT]
      ... 5 more
      Caused by: java.lang.NullPointerException
      at org.jboss.jca.common.metadata.ra.common.ResourceAdapter1516Impl.validate(ResourceAdapter1516Impl.java:351)
      at org.jboss.jca.common.metadata.ra.common.ConnectorAbstractmpl.validate(ConnectorAbstractmpl.java:332)
      at org.jboss.as.connector.deployers.ra.processors.ParsedRaDeploymentProcessor.deploy(ParsedRaDeploymentProcessor.java:142)
      ... 6 more

      14:37:58,104 INFO [org.jboss.as.server] (DeploymentScanner-threads - 2) JBAS015870: Deploy of deployment "test-ear.ear" was rolled back with failure message {"JBAS014671: Failed services" =>

      {"jboss.deployment.subunit.\"test-ear.ear\".\"test-rar-2.0.0-SNAPSHOT.rar\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"test-ear.ear\".\"test-rar-2.0.0-SNAPSHOT.rar\".INSTALL: JBAS018733: Failed to process phase INSTALL of subdeployment \"test-rar-2.0.0-SNAPSHOT.rar\" of deployment \"test-ear.ear\" Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.NullPointerException Caused by: java.lang.NullPointerException"}

      ,"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".moduleDeploymentRuntimeInformation Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.unit.\"test-ear.ear\".CLEANUP Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.CREATE Missingjboss.ra.\"test-ear.ear#test-rar-2.0.0-SNAPSHOT\"","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".CLEANUP Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.START Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.TimedObjectInvoker Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.ejb3.timerService Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.VIEW.\"test.TestEventListener\".MESSAGE_ENDPOINT Missing[JBAS014861: <one or more transitive dependencies>]"]}
      14:37:58,141 INFO [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015877: Stopped deployment test-ejb-2.0.0-SNAPSHOT.jar in 38ms
      14:37:58,142 INFO [org.jboss.as.server.deployment] (MSC service thread 1-5) JBAS015877: Stopped deployment test-rar-2.0.0-SNAPSHOT.rar in 39ms
      14:37:58,149 INFO [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015877: Stopped deployment test-ear.ear in 46ms
      14:37:58,152 ERROR [org.jboss.as.server.deployment.scanner] (DeploymentScanner-threads - 1) {"JBAS014653: Composite operation failed and was rolled back. Steps that failed:" => {"Operation step-2" => {"JBAS014671: Failed services" =>

      {"jboss.deployment.subunit.\"test-ear.ear\".\"test-rar-2.0.0-SNAPSHOT.rar\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.subunit.\"test-ear.ear\".\"test-rar-2.0.0-SNAPSHOT.rar\".INSTALL: JBAS018733: Failed to process phase INSTALL of subdeployment \"test-rar-2.0.0-SNAPSHOT.rar\" of deployment \"test-ear.ear\" Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.NullPointerException Caused by: java.lang.NullPointerException"}

      ,"JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".moduleDeploymentRuntimeInformation Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.unit.\"test-ear.ear\".CLEANUP Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.CREATE Missingjboss.ra.\"test-ear.ear#test-rar-2.0.0-SNAPSHOT\"","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".CLEANUP Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.START Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.TimedObjectInvoker Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.ejb3.timerService Missing[JBAS014861: <one or more transitive dependencies>]","jboss.deployment.subunit.\"test-ear.ear\".\"test-ejb-2.0.0-SNAPSHOT.jar\".component.InboundMDB.VIEW.\"test.TestEventListener\".MESSAGE_ENDPOINT Missing[JBAS014861: <one or more transitive dependencies>]"]}}}

      However, the same event (with slightly more readable exception) occurs in 7.2 snapshot too. An EAR that exhibits this is attached. If you comment out maven dependencies, you will be able to deploy the same EAR. If you put different dependencies, you will get the same error again. The problem seems to depend only on the classpath size, more classes causes the problem to occur more likely.

      The problem is that when JCA container builds ra.xml from JCA 1.6 annotations, for some reason the content of <resourceadapter-class> tag is null (the string "null"). As a workaround for resource adapters with large classpath, one can supply a deployment descriptor with just <resourceadapter-class> tag containing the correct value.

            Unassigned Unassigned
            sebek64 Marcel Šebek (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: