gongxuxuxuxux 2012-02-01 12:01
浏览 206
已采纳

servlet容器僵死

使用工具对resion容器进行大量并发访问 resion容器不久后出现僵死.

执行 kill -3 后 获得大量如下信息 (所有线程都是.)
"resin-tcp-connection-192.168.253.72:61318-593" daemon prio=1 tid=0x00002aaaae1f0b10 nid=0x5051 in Object.wait() [0x000000005c717000..0x000000005c717c20]
at java.lang.Object.wait(Native Method)
- waiting on (a java.util.ArrayList)
at java.lang.Object.wait(Object.java:474)
at com.caucho.server.log.AccessLogWriter.write(AccessLogWriter.java:132)
- locked (a java.util.ArrayList)
at com.caucho.server.log.AccessLog.flush(AccessLog.java:604)
- locked (a java.lang.Object)
at com.caucho.server.log.AccessLog.log(AccessLog.java:317)
- locked (a java.lang.Object)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:191)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:259)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:363)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:595)

"resin-tcp-connection-192.168.253.72:61318-595" daemon prio=1 tid=0x00002aaaae1f0220 nid=0x5050 waiting for monitor entry [0x000000005c616000..0x000000005c616ca0]
at com.caucho.server.log.AccessLog.log(AccessLog.java:315)
- waiting to lock (a java.lang.Object)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:191)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:208)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:259)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:363)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:595)

  1. 请问 waiting for monitor entry 具体是什么含义.
  2. 还有这样的问题 要如何解决呢
  • 写回答

3条回答 默认 最新

  • qiemengdao 2012-02-01 14:24
    关注

    resin自身应该不会有这种bug,应该是使用不当造成的。
    给几个建议:
    1,是否有自定义的filter里面对某些对象进行了同步,尤其查看一下和日志相关的代码;
    2,如果有resin源码,可以搜索一下代码,看看那个ArrayList在哪里被notify了,到底同步的是什么资源,是不是日志文件等等;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划