Uploaded image for project: 'Modular Service Container'
  1. Modular Service Container
  2. MSC-238

Deadlock caused by wrong locks ordering in getImmediateUnavailableDeps method

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Critical Critical
    • 1.4.3.Final
    • 1.4.2.Final
    • runtime
    • None

      Found one Java-level deadlock:
      =============================
      "MSC service thread 11-8":
      waiting to lock monitor 0xa221b37c (object 0xe561fa38, a org.jboss.msc.service.ServiceControllerImpl),
      which is held by "Controller Boot Thread"
      "Controller Boot Thread":
      waiting to lock monitor 0xa20b3f64 (object 0xe5718bf0, a org.jboss.msc.service.ServiceRegistrationImpl),
      which is held by "main"
      "main":
      waiting to lock monitor 0xa221b37c (object 0xe561fa38, a org.jboss.msc.service.ServiceControllerImpl),
      which is held by "Controller Boot Thread"

      Java stack information for the threads listed above:
      ===================================================
      "MSC service thread 11-8":
      at org.jboss.msc.service.ServiceControllerImpl.dependencyAvailable(ServiceControllerImpl.java:850)

      • waiting to lock <0xe561fa38> (a org.jboss.msc.service.ServiceControllerImpl)
        at org.jboss.msc.service.ServiceControllerImpl$DependencyAvailableTask.inform(ServiceControllerImpl.java:1665)
        at org.jboss.msc.service.ServiceControllerImpl$DependentsControllerTask.execute(ServiceControllerImpl.java:1612)
        at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1556)
        at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
        at java.lang.Thread.run(Thread.java:748)
        "Controller Boot Thread":
        at org.jboss.msc.service.ServiceControllerImpl.getImmediateUnavailableDependencies(ServiceControllerImpl.java:1287)
      • waiting to lock <0xe5718bf0> (a org.jboss.msc.service.ServiceRegistrationImpl)
      • locked <0xe561fa38> (a org.jboss.msc.service.ServiceControllerImpl)
        at org.jboss.msc.service.ServiceControllerImpl.getUnavailableDependencies(ServiceControllerImpl.java:1279)
        at org.jboss.as.controller.ServiceVerificationHelper.execute(ServiceVerificationHelper.java:93)
      • locked <0xe575c008> (a org.jboss.as.controller.ServiceVerificationHelper)
        at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:999)
        at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:743)
        at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:467)
        at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1411)
        at org.jboss.as.controller.ModelControllerImpl.boot(ModelControllerImpl.java:495)
        at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:470)
        at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:432)
        at org.jboss.as.model.test.ModelTestModelControllerService.boot(ModelTestModelControllerService.java:276)
        at org.jboss.as.controller.AbstractControllerService.boot(AbstractControllerService.java:419)
        at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:372)
        at java.lang.Thread.run(Thread.java:748)
        "main":
        at org.jboss.msc.service.ServiceControllerImpl.getState(ServiceControllerImpl.java:1101)
      • waiting to lock <0xe561fa38> (a org.jboss.msc.service.ServiceControllerImpl)
        at org.jboss.msc.service.ServiceContainerImpl.detectCircularity(ServiceContainerImpl.java:806)
        at org.jboss.msc.service.ServiceContainerImpl.detectCircularity(ServiceContainerImpl.java:784)
      • locked <0xe5718bf0> (a org.jboss.msc.service.ServiceRegistrationImpl)
        at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:761)
        at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:260)
        at org.jboss.msc.service.ObsoleteServiceBuilderImpl.install(ObsoleteServiceBuilderImpl.java:293)
        at org.wildfly.extension.undertow.AbstractUndertowSubsystemTestCase$RuntimeInitialization.addExtraServices(AbstractUndertowSubsystemTestCase.java:240)
        at org.jboss.as.subsystem.test.AbstractKernelServicesImpl.create(AbstractKernelServicesImpl.java:127)
        at org.jboss.as.subsystem.test.SubsystemTestDelegate$KernelServicesBuilderImpl.build(SubsystemTestDelegate.java:568)
        at org.wildfly.extension.undertow.UndertowSubsystem11TestCase.testRuntime(UndertowSubsystem11TestCase.java:72)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at

              ropalka Richard Opalka
              ropalka Richard Opalka
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: