Uploaded image for project: 'WildFly Arquillian'
  1. WildFly Arquillian
  2. WFARQ-212

The Embedded Container fails with breaking JBoss Threads/Model Controller Client changes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.1.0.Final
    • None
    • None

      The org.wildfly.arquillian:wildfly-arquillian-container-embedded container fails with WildFly 37 Beta1. This is due to WFCORE-7273 and WFCORE-7045. When initially tested this did not seem like an issue, however I must have missed matrix to get the failure.

      Error:  Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.662 s <<< FAILURE! -- in org.jboss.as.arquillian.container.embedded.DeploymentTestCase
      Error:  org.jboss.as.arquillian.container.embedded.DeploymentTestCase -- Time elapsed: 0.662 s <<< ERROR!
      org.jboss.arquillian.container.spi.client.container.LifecycleException: Could not invoke start on: org.wildfly.core.embedded.EmbeddedManagedProcessImpl@77128dab
          at org.jboss.as.arquillian.container.embedded.EmbeddedDeployableContainer.startInternal(EmbeddedDeployableContainer.java:55)
          at org.jboss.as.arquillian.container.CommonDeployableContainer.start(CommonDeployableContainer.java:142)
          at org.jboss.arquillian.container.impl.ContainerImpl.start(ContainerImpl.java:184)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:136)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$8.perform(ContainerLifecycleController.java:132)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forContainer(ContainerLifecycleController.java:207)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startContainer(ContainerLifecycleController.java:132)
          at java.base/java.lang.reflect.Method.invoke(Method.java:569)
          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:102)
          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:89)
          at org.jboss.arquillian.container.impl.client.ContainerDeploymentContextHandler.createContainerContext(ContainerDeploymentContextHandler.java:53)
          at java.base/java.lang.reflect.Method.invoke(Method.java:569)
          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:94)
          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
          at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:61)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:69)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController$2.perform(ContainerLifecycleController.java:63)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.forEachSuiteContainer(ContainerLifecycleController.java:180)
          at org.jboss.arquillian.container.impl.client.container.ContainerLifecycleController.startSuiteContainers(ContainerLifecycleController.java:63)
          at java.base/java.lang.reflect.Method.invoke(Method.java:569)
          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:102)
          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:89)
          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
          at org.jboss.arquillian.core.impl.EventImpl.fire(EventImpl.java:61)
          at org.jboss.arquillian.container.test.impl.client.ContainerEventController.execute(ContainerEventController.java:82)
          at java.base/java.lang.reflect.Method.invoke(Method.java:569)
          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
          at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:102)
          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:89)
          at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:68)
          at java.base/java.lang.reflect.Method.invoke(Method.java:569)
          at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:85)
          at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:94)
          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:133)
          at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:105)
          at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.beforeSuite(EventTestRunnerAdaptor.java:70)
          at org.jboss.arquillian.junit5.JUnitJupiterTestClassLifecycleManager.initializeAdaptor(JUnitJupiterTestClassLifecycleManager.java:58)
          at org.jboss.arquillian.junit5.JUnitJupiterTestClassLifecycleManager.getManager(JUnitJupiterTestClassLifecycleManager.java:43)
          at org.jboss.arquillian.junit5.ArquillianExtension.beforeAll(ArquillianExtension.java:44)
          at java.base/java.util.ArrayList.forEach(ArrayList.java:1511)
          Suppressed: java.lang.RuntimeException: Arquillian initialization has already been attempted, but failed. See previous exceptions for cause
              at org.jboss.arquillian.junit5.JUnitJupiterTestClassLifecycleManager.handleSuiteLevelFailure(JUnitJupiterTestClassLifecycleManager.java:80)
              at org.jboss.arquillian.junit5.JUnitJupiterTestClassLifecycleManager.getManager(JUnitJupiterTestClassLifecycleManager.java:48)
              at org.jboss.arquillian.junit5.ArquillianExtension.afterAll(ArquillianExtension.java:57)
              ... 1 more
          Caused by: [CIRCULAR REFERENCE: org.jboss.arquillian.container.spi.client.container.LifecycleException: Could not invoke start on: org.wildfly.core.embedded.EmbeddedManagedProcessImpl@77128dab]
      Caused by: java.lang.IllegalStateException: WFLYEMB0022: Cannot invoke 'start' on embedded process
          at org.wildfly.core.embedded.EmbeddedManagedProcessImpl.invokeOnServer(EmbeddedManagedProcessImpl.java:108)
          at org.wildfly.core.embedded.EmbeddedManagedProcessImpl.start(EmbeddedManagedProcessImpl.java:53)
          at org.jboss.as.arquillian.container.embedded.EmbeddedDeployableContainer.startInternal(EmbeddedDeployableContainer.java:53)
          ... 44 more
      Caused by: java.lang.NoSuchMethodError: 'java.util.concurrent.Executor org.jboss.threads.JBossExecutors.directExecutor()'
          at org.jboss.as.server@29.0.0.Beta6//org.jboss.as.server.BootstrapImpl$FutureServiceContainer.<init>(BootstrapImpl.java:182)
          at org.jboss.as.server@29.0.0.Beta6//org.jboss.as.server.BootstrapImpl.internalBootstrap(BootstrapImpl.java:95)
          at org.jboss.as.server@29.0.0.Beta6//org.jboss.as.server.BootstrapImpl.bootstrap(BootstrapImpl.java:61)
          at org.jboss.as.server@29.0.0.Beta6//org.jboss.as.server.BootstrapImpl.startup(BootstrapImpl.java:165)
          at org.jboss.as.server@29.0.0.Beta6//org.jboss.as.server.embedded.StandaloneEmbeddedProcessBootstrap.bootstrapEmbeddedProcess(StandaloneEmbeddedProcessBootstrap.java:54)
          at org.jboss.as.server@29.0.0.Beta6//org.jboss.as.server.embedded.AbstractEmbeddedProcessBootstrap.startup(AbstractEmbeddedProcessBootstrap.java:61)
          at org.wildfly.embedded@29.0.0.Beta6//org.wildfly.core.embedded.AbstractEmbeddedManagedProcess.start(AbstractEmbeddedManagedProcess.java:66)
          at java.base/java.lang.reflect.Method.invoke(Method.java:569)
          at org.wildfly.core.embedded.EmbeddedManagedProcessImpl.invokeOnServer(EmbeddedManagedProcessImpl.java:96)
          ... 46 more
      

      There may be a few options to fix this. One might be to simply upgrade WildFly Core as we don't directly use any of the JBoss Threads API's.

      Another might to load the types with a module class loader or have a class loader which prefers the module class loaders over the class path class loader.

      Yet another option might be to use reflective calls and load the class path based on the WildFly directory.

              jperkins-rhn James Perkins
              jperkins-rhn James Perkins
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: