[jboss-jira] [JBoss JIRA] (WFLY-2692) infinite wait in BasicComponent#waitForComponentStart() causes server hang
David Lloyd (JIRA)
issues at jboss.org
Thu May 21 12:20:20 EDT 2015
[ https://issues.jboss.org/browse/WFLY-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13070119#comment-13070119 ]
David Lloyd commented on WFLY-2692:
-----------------------------------
This either needs a timeout (which I don't like because theoretically these cases are detectable, and if we ever fix it properly, the timeout will become vestigial configuration), or a way to cancel if/when the instigating management operation times out.
Needs a volunteer to figure this out.
> infinite wait in BasicComponent#waitForComponentStart() causes server hang
> --------------------------------------------------------------------------
>
> Key: WFLY-2692
> URL: https://issues.jboss.org/browse/WFLY-2692
> Project: WildFly
> Issue Type: Bug
> Components: EE
> Affects Versions: 8.0.0.CR1
> Reporter: Thomas Frühbeck
> Labels: EE, MSC, hangs
> Attachments: WFLY-2692_infiniteHang_stacktrace.log
>
>
> some error in deployment may cause infinite wait on BasicComponent#waitForComponentStart():
> protected void waitForComponentStart() {
> if (!gate) {
> // Block until successful start
> synchronized (this) {
> while (!gate) {
> // TODO: check for failure condition
> try {
> wait();
>
> The server life cycle management is completely blocked, no normal redeployment/shutdown will work!
> Please provide some remedy (e.g. timed wait and fail?), IMHO this is really _very_ distressing for a production ready system.
>
> Sample stack trace:
> "MSC service thread 1-7" prio=10 tid=0x00007f6c60001800 nid=0x7af0 in Object.wait() [0x00007f6cbd785000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000e20a0a20> (a org.jboss.as.ejb3.component.singleton.SingletonComponent)
> at java.lang.Object.wait(Object.java:503)
> at org.jboss.as.ee.component.BasicComponent.waitForComponentStart(BasicComponent.java:115)
> - locked <0x00000000e20a0a20> (a org.jboss.as.ejb3.component.singleton.SingletonComponent)
> at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:145)
> at org.jboss.as.ee.component.BasicComponent.constructComponentInstance(BasicComponent.java:133)
> at org.jboss.as.ee.component.BasicComponent.createInstance(BasicComponent.java:89)
> at org.jboss.as.ejb3.component.singleton.SingletonComponent.getComponentInstance(SingletonComponent.java:123)
> - locked <0x00000000e20bfa10> (a java.lang.Object)
> at org.jboss.as.ejb3.component.singleton.SingletonComponentInstanceAssociationInterceptor.processInvocation(SingletonComponentInstanceAssociationInterce
> ptor.java:47)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:95)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:325)
> at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:437)
> at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:325)
> at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185)
> at org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:182)
> at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
> at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> at org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:73)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
More information about the jboss-jira
mailing list