EAP start up delayed with httpd mod_cluster ping timeout when using http listener

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content