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

Deadlock in JakartaDataEarTestCase

XMLWordPrintable

      https://ci.wildfly.org/viewLog.html?buildId=536684

      MSC service thread 1-3 acquires the AbstractContext's ConcurrentHashMapBeanStore lock and then wants to acquire the ExtensionObserverMethodImpl.containerLifecycleEventDeliveryLock monitor.

      ServerService Thread Pool – 36 acquires the ExtensionObserverMethodImpl.containerLifecycleEventDeliveryLock monitor and then wants to acquire the AbstractContext's ConcurrentHashMapBeanStore lock.

      So, deadlock.

      What the threads are doing:

      ServerService Thread Pool – 3 is executing a 'public void init(@Observes @Initialized(ApplicationScoped.class) Object init) {' method that uses a Hibernate ORM StatelessSession, which in turn results in the need to create a ValidatorFactory bean.

      MSC service thread 1-3 is executing CdiValidatorFactoryService.start which is leading to the creation of a ValidatorFactory bean.

      &amp#27;[0m&amp#27;[33m17:00:55,384 WARN  [org.jboss.as.controller.management-operation] (management-handler-thread - 2) WFLYCTL0497: Deadlock detected!
      *******************************************************************************
      "MSC service thread 1-3" Id=29 BLOCKED on org.jboss.weld.Container@1f1a6fef owned by "ServerService Thread Pool -- 36" Id=3133
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:135)
      	-  blocked on org.jboss.weld.Container@1f1a6fef
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:328)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:298)
      	at jakarta.enterprise.api@4.0.1//jakarta.enterprise.inject.spi.ObserverMethod.notify(ObserverMethod.java:142)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.util.Observers.notify(Observers.java:176)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:307)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:293)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:185)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:179)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:53)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:45)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bootstrap.events.ProcessInjectionPointImpl.fire(ProcessInjectionPointImpl.java:63)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bootstrap.events.ContainerLifecycleEvents.fireProcessInjectionPoint(ContainerLifecycleEvents.java:305)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.InjectionPointFactory.processInjectionPoint(InjectionPointFactory.java:119)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.InjectionPointFactory.createParameterInjectionPoint(InjectionPointFactory.java:157)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.InjectionPointFactory.getParameterInjectionPoints(InjectionPointFactory.java:254)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.AbstractCallableInjectionPoint.<init>(AbstractCallableInjectionPoint.java:53)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.ConstructorInjectionPoint.<init>(ConstructorInjectionPoint.java:65)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.InjectionPointFactory.createConstructorInjectionPoint(InjectionPointFactory.java:173)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.producer.DefaultInstantiator.<init>(DefaultInstantiator.java:46)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.producer.BasicInjectionTarget.initInstantiator(BasicInjectionTarget.java:184)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.producer.BasicInjectionTarget.<init>(BasicInjectionTarget.java:101)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.producer.BasicInjectionTarget.<init>(BasicInjectionTarget.java:84)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.producer.BeanInjectionTarget.<init>(BeanInjectionTarget.java:61)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.producer.BeanInjectionTarget.<init>(BeanInjectionTarget.java:66)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.producer.BeanInjectionTarget.createDefault(BeanInjectionTarget.java:48)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.manager.InjectionTargetFactoryImpl.chooseInjectionTarget(InjectionTargetFactoryImpl.java:145)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:90)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:83)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:72)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.manager.InjectionTargetFactoryImpl.createInjectionTarget(InjectionTargetFactoryImpl.java:52)
      	at org.hibernate.validator.cdi@8.0.3.Final//org.hibernate.validator.cdi.internal.DestructibleBeanInstance.createInjectionTarget(DestructibleBeanInstance.java:44)
      	at org.hibernate.validator.cdi@8.0.3.Final//org.hibernate.validator.cdi.internal.DestructibleBeanInstance.<init>(DestructibleBeanInstance.java:22)
      	at org.hibernate.validator.cdi@8.0.3.Final//org.hibernate.validator.cdi.internal.ValidatorFactoryBean.createInstance(ValidatorFactoryBean.java:305)
      	at org.hibernate.validator.cdi@8.0.3.Final//org.hibernate.validator.cdi.internal.ValidatorFactoryBean.createConstraintValidatorFactory(ValidatorFactoryBean.java:261)
      	at org.hibernate.validator.cdi@8.0.3.Final//org.hibernate.validator.cdi.internal.ValidatorFactoryBean.create(ValidatorFactoryBean.java:129)
      	at org.hibernate.validator.cdi@8.0.3.Final//org.hibernate.validator.cdi.internal.ValidatorFactoryBean.create(ValidatorFactoryBean.java:62)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.contexts.AbstractContext.get(AbstractContext.java:96)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:106)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:101)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:108)
      	at org.hibernate.validator@8.0.3.Final//org.jboss.weld.generated.proxies.validation.ValidatorFactory$HibernateValidatorFactory$AutoCloseable$917720531$Proxy$_$$_WeldClientProxy.getConstraintValidatorFactory(Unknown Source)
      	at org.jboss.as.weld.beanvalidation@39.0.0.Final-SNAPSHOT//org.jboss.as.weld.CdiValidatorFactoryService.start(CdiValidatorFactoryService.java:70)
      	at org.jboss.msc@1.5.6.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1553)
      	at org.jboss.msc@1.5.6.Final//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1516)
      	at org.jboss.msc@1.5.6.Final//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1374)
      	at org.jboss.threads@3.9.2//org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1694)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
      	at java.base/java.lang.Thread.run(Thread.java:1595)
      
      	Number of locked synchronizers = 1
      	- java.util.concurrent.locks.ReentrantLock$NonfairSync@78d51dc2
      
      
      "ServerService Thread Pool -- 36" Id=3133 WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@78d51dc2 owned by "MSC service thread 1-3" Id=29 (in native)
      	at java.base/jdk.internal.misc.Unsafe.park(Native Method)
      	-  waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@78d51dc2
      	at java.base/java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
      	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:754)
      	at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:990)
      	at java.base/java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153)
      	at java.base/java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.contexts.beanstore.LockStore.lock(LockStore.java:56)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.contexts.beanstore.ConcurrentHashMapBeanStore.lock(ConcurrentHashMapBeanStore.java:71)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.contexts.AbstractContext.get(AbstractContext.java:90)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.ContextualInstanceStrategy$DefaultContextualInstanceStrategy.get(ContextualInstanceStrategy.java:106)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.ContextualInstance.get(ContextualInstance.java:50)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:101)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bean.proxy.ProxyMethodHandler.getInstance(ProxyMethodHandler.java:136)
      	at org.hibernate.validator@8.0.3.Final//org.jboss.weld.generated.proxies.validation.ValidatorFactory$HibernateValidatorFactory$AutoCloseable$917720531$Proxy$_$$_WeldClientProxy.usingContext(Unknown Source)
      	at org.wildfly.extension.bean-validation@39.0.0.Final-SNAPSHOT//org.jboss.as.ee.beanvalidation.LazyValidatorFactory.usingContext(LazyValidatorFactory.java:101)
      	at org.hibernate@6.6.37.Final//org.hibernate.boot.beanvalidation.BeanValidationEventListener.validate(BeanValidationEventListener.java:148)
      	at org.hibernate@6.6.37.Final//org.hibernate.boot.beanvalidation.BeanValidationEventListener.onPreInsert(BeanValidationEventListener.java:88)
      	at org.hibernate@6.6.37.Final//org.hibernate.internal.StatelessSessionImpl.firePreInsert(StatelessSessionImpl.java:329)
      	at org.hibernate@6.6.37.Final//org.hibernate.internal.StatelessSessionImpl.insert(StatelessSessionImpl.java:136)
      	at org.hibernate@6.6.37.Final//org.hibernate.internal.StatelessSessionImpl.insert(StatelessSessionImpl.java:118)
      	at org.hibernate.jipijapa-hibernate@39.0.0.Final-SNAPSHOT//org.jboss.as.jpa.hibernate.TransactionScopedStatelessSession.insert(TransactionScopedStatelessSession.java:208)
      	at deployment.JakartaDataEarTestCase.ear//org.jboss.as.test.smoke.jakarta.data.lib.Recruiter_.insert(Recruiter_.java:235)
      	at deployment.JakartaDataEarTestCase.ear//org.jboss.as.test.smoke.jakarta.data.lib.Recruiter_.insert(Recruiter_.java:35)
      	at deployment.JakartaDataEarTestCase.ear//org.jboss.as.test.smoke.jakarta.data.lib.Recruiter.recruit(Recruiter.java:23)
      	at deployment.JakartaDataEarTestCase.ear.libraryBoard.war//org.jboss.as.test.smoke.jakarta.data.library.InitialRecruiter.init(InitialRecruiter.java:29)
      	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
      	at java.base/java.lang.reflect.Method.invoke(Method.java:586)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:99)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.StaticMethodInjectionPoint.invoke(StaticMethodInjectionPoint.java:88)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.injection.MethodInvocationStrategy$SimpleMethodInvocationStrategy.invoke(MethodInvocationStrategy.java:178)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:350)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:328)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:298)
      	at org.jboss.as.weld@39.0.0.Final-SNAPSHOT//org.jboss.as.weld.deployment.processors.EarApplicationScopedObserverMethodProcessor$PortableExtension.lambda$enrichObserverMethod$0(EarApplicationScopedObserverMethodProcessor.java:101)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bootstrap.events.configurator.ObserverMethodConfiguratorImpl$ImmutableObserverMethod.notify(ObserverMethodConfiguratorImpl.java:325)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.util.Observers.notify(Observers.java:176)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverNotifier.notifySyncObservers(ObserverNotifier.java:307)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverNotifier.notify(ObserverNotifier.java:293)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:185)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.bootstrap.BeanDeploymentModule.fireEvent(BeanDeploymentModule.java:100)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.module.web.servlet.HttpContextLifecycle.fireEventForApplicationScope(HttpContextLifecycle.java:175)
      	-  locked org.jboss.weld.Container@1f1a6fef
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.module.web.servlet.HttpContextLifecycle.contextInitialized(HttpContextLifecycle.java:152)
      	at org.jboss.weld.core@5.1.6.Final//org.jboss.weld.module.web.servlet.WeldInitialListener.contextInitialized(WeldInitialListener.java:101)
      	at io.undertow.servlet@2.3.20.Final//io.undertow.servlet.core.ApplicationListeners.contextInitialized(ApplicationListeners.java:187)
      	at io.undertow.servlet@2.3.20.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:219)
      	at io.undertow.servlet@2.3.20.Final//io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:187)
      	at io.undertow.servlet@2.3.20.Final//io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
      	at io.undertow.servlet@2.3.20.Final//io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
      	at org.wildfly.extension.undertow@39.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1433)
      	at org.wildfly.extension.undertow@39.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1433)
      	at org.wildfly.extension.undertow@39.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1433)
      	at org.wildfly.extension.undertow@39.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1433)
      	at org.wildfly.extension.undertow@39.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1433)
      	at io.undertow.servlet@2.3.20.Final//io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:255)
      	at org.wildfly.extension.undertow@39.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:88)
      	at org.wildfly.extension.undertow@39.0.0.Final-SNAPSHOT//org.wildfly.extension.undertow.deployment.UndertowDeploymentService$1.run(UndertowDeploymentService.java:70)
      	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
      	at org.jboss.threads@3.9.2//org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor$Task.doRunWith(EnhancedQueueExecutor.java:2651)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2630)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor.runThreadBody(EnhancedQueueExecutor.java:1622)
      	at org.jboss.threads@3.9.2//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1589)
      	at java.base/java.lang.Thread.run(Thread.java:1595)
      	at org.jboss.threads@3.9.2//org.jboss.threads.JBossThread.run(JBossThread.java:501)
      
      
      ===============================================================================
      End Deadlock
      *******************************************************************************
      

              manovotn Matěj Novotný
              bstansbe@redhat.com Brian Stansberry
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: