JBoss unresponsive due to http connector threads blocked in org.apache.naming.resources.ProxyDirContext.cacheLoad()

Solution Verified - Updated -

Issue

  • When performance deterioriates, a jnlp file (that launches a Swing client on a client machine) cannot be downloaded.
  • Many http connector threads blocked with the following stack trace:
    Thread: http-0.0.0.0-8881-35 : priority:5, demon:true, threadId:164, threadState:BLOCKED, threadLockName:org.apache.nam
    org.apache.naming.resources.ProxyDirContext.cacheLoad(ProxyDirContext.java:1597)
    org.apache.naming.resources.ProxyDirContext.cacheLookup(ProxyDirContext.java:1448)
    org.apache.naming.resources.ProxyDirContext.lookup(ProxyDirContext.java:282)
    org.apache.catalina.core.ApplicationContext.getResource(ApplicationContext.java:498)
    org.apache.catalina.core.ApplicationContextFacade.getResource(ApplicationContextFacade.java:178)
    jnlp.sample.servlet.JnlpResource.(JnlpResource.java:135)
    jnlp.sample.servlet.JnlpResource.(JnlpResource.java:108)
    jnlp.sample.servlet.JnlpResource.(JnlpResource.java:97)
    jnlp.sample.servlet.JnlpDownloadServlet.handleBasicDownload(JnlpDownloadServlet.java:224)
    jnlp.sample.servlet.JnlpDownloadServlet.locateResource(JnlpDownloadServlet.java:211)
    jnlp.sample.servlet.JnlpDownloadServlet.handleRequest(JnlpDownloadServlet.java:139)
    jnlp.sample.servlet.JnlpDownloadServlet.doGet(JnlpDownloadServlet.java:113)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    
  • Thread dumps show the number of http connector threads is at the maximum value, the Connector maxThreads in server.xml.

Environment

  • JBoss AS 4.0.x

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