Mantis - Resin
Viewing Issue Advanced Details
3509 major sometimes 05-13-09 01:51 05-27-09 09:55
darkelf9  
ferg  
normal  
closed 3.1.9  
fixed  
none    
none 4.0.0  
0003509: deadlock when writing access log
Most thread Hang at com.caucho.server.log.AccessLog.log(AccessLog.java:345)
"http--8080-2045$10419955" daemon prio=10 tid=0x8772e800 nid=0x537a waiting for monitor entry [0x74cf5000..0x74cf6120]
   java.lang.Thread.State: BLOCKED (on object monitor)
    at com.caucho.server.log.AccessLog.log(AccessLog.java:345)
    - waiting to lock <0xb599bf88> (a java.lang.Object)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:223)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
    - locked <0xc18c0b10> (a java.lang.Object)
    at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662)
    at java.lang.Thread.run(Thread.java:619)

Only one thread special
"http--8080-2021$21694097" daemon prio=10 tid=0x7f382000 nid=0x4f98 in Object.wait() [0x87efa000..0x87efb0a0]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0xb5575bc8> (a java.lang.Object)
    at com.caucho.util.ThreadPool.schedule(ThreadPool.java:529)
    - locked <0xb5575bc8> (a java.lang.Object)
    at com.caucho.util.ThreadPool.startPriority(ThreadPool.java:418)
    at com.caucho.server.log.AccessLogWriter.write(AccessLogWriter.java:162)
    - locked <0xb599bfa0> (a java.util.ArrayList)
    at com.caucho.server.log.AccessLogWriter.flush(AccessLogWriter.java:201)
    - locked <0xb599bf88> (a java.lang.Object)
    at com.caucho.server.log.AccessLogWriter.getBuffer(AccessLogWriter.java:104)
    at com.caucho.server.log.AccessLog.log(AccessLog.java:346)
    - locked <0xb599bf88> (a java.lang.Object)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:223)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:265)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:273)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:682)
    - locked <0xc1026da8> (a java.lang.Object)
    at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:743)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:662)
    at java.lang.Thread.run(Thread.java:619)

I have read the source, I think this may be a bug of sharedbuffer



Enviroment:
Linux/Sun JDK 1.6.13/Resin 3.1.9 Open source
Max Thread count: 256
about 10M visit one day
2cpu 4G memory
 2009.05.13-resin deadlock-sharedbuffer.TXT [^] (230,673 bytes) 05-13-09 01:51

There are no notes attached to this issue.