EAP start up delayed with httpd mod_cluster ping timeout when using http listener
Issue
- While JBoss is starting, we can see mod_cluster ping timeouts like below:
[Wed Sep 25 15:23:00.715842 2024] [:debug] [pid 2668271:tid 2668430] mod_proxy_cluster.c(1163): proxy_cluster_try_pingpong: cping_cpong failed
- JBoss start up is also slightly delayed while that ping is pending with thread dumps showing:
"UndertowEventHandlerAdapterService - 1" #140 prio=5 os_prio=0 tid=0x00005617638ee000 nid=0x8f1a7 runnable [0x00007f279befd000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
at java.net.SocketInputStream.read(SocketInputStream.java:171)
at java.net.SocketInputStream.read(SocketInputStream.java:141)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178)
- locked <0x00000004c5600218> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:161)
at java.io.BufferedReader.readLine(BufferedReader.java:324)
- locked <0x00000004c5600218> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(BufferedReader.java:389)
at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:468)
at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:552)
- locked <0x00000004c56002b8> (a org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler$Proxy)
at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:373)
at org.jboss.modcluster.ModClusterService.status(ModClusterService.java:422)
at org.wildfly.mod_cluster.undertow.UndertowEventHandlerAdapterService.run(UndertowEventHandlerAdapterService.java:182)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.jboss.as.clustering.context.ContextReferenceExecutor.execute(ContextReferenceExecutor.java:49)
at org.jboss.as.clustering.context.ContextualExecutor$1.run(ContextualExecutor.java:70)
at java.lang.Thread.run(Thread.java:750)
at org.jboss.threads.JBossThread.run(JBossThread.java:513)
"MSC service thread 1-3" #15 prio=5 os_prio=0 tid=0x000056175fd18800 nid=0x8f12b waiting for monitor entry [0x00007f27a6cfd000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:541)
- waiting to lock <0x00000004c56002b8> (a org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler$Proxy)
at org.jboss.modcluster.mcmp.impl.DefaultMCMPHandler.sendRequest(DefaultMCMPHandler.java:373)
at org.jboss.modcluster.ModClusterService.disable(ModClusterService.java:339)
at org.jboss.modcluster.ModClusterService.stop(ModClusterService.java:360)
at org.jboss.modcluster.ModClusterService.add(ModClusterService.java:308)
at org.wildfly.mod_cluster.undertow.UndertowEventHandlerAdapterService.onStart(UndertowEventHandlerAdapterService.java:125)
- locked <0x00000004c5600508> (a org.wildfly.mod_cluster.undertow.UndertowEventHandlerAdapterService)
at org.wildfly.mod_cluster.undertow.UndertowEventHandlerAdapterService.onDeploymentStart(UndertowEventHandlerAdapterService.java:163)
at org.wildfly.extension.undertow.Host.lambda$registerLocation$2(Host.java:313)
at org.wildfly.extension.undertow.Host$$Lambda$710/402748945.invoke(Unknown Source)
at org.wildfly.extension.undertow.UndertowService.fireEvent(UndertowService.java:292)
- locked <0x00000004c73cf6e0> (a java.util.Collections$SynchronizedList)
at org.wildfly.extension.undertow.Host.registerLocation(Host.java:313)
at org.wildfly.extension.undertow.HttpInvokerHostService.start(HttpInvokerHostService.java:79)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1739)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1701)
at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
at java.lang.Thread.run(Thread.java:750)
Environment
- JBoss Enterprise Application Platform (EAP)
- 7.x
- 8.x
- JBoss Core Services (JBCS) Apache httpd 2.4.x
- mod_cluster
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.