java - Tomcat Deadlock in Thread -


i using tomcat 7.0.42 application uses websockets. if application under heavy load deadlock in of threads use websockets.

is there workaround problem, since not find fix?

i use atmpshere 2.0rc3 runtime-native.

here relevant part of thread dump. used samurai detected deadlocked threads.

     "atmosphere-shared-asyncop-267"   daemon prio=10 tid=0x00007efed8118000 nid=0x2eb5 waiting monitor entry [0x00007efe798ca000]      java.lang.thread.state: blocked (on object monitor)      @ org.apache.catalina.websocket.wsoutbound.writetextmessage(wsoutbound.java:165)      - waiting lock <0x00000005ef4c6988> (a org.apache.catalina.websocket.wsoutbound)       @ org.atmosphere.container.version.tomcatwebsocket.write(tomcatwebsocket.java:49)       @ org.atmosphere.websocket.websocket.write(websocket.java:199)       @ org.atmosphere.websocket.websocket.write(websocket.java:168)       @ org.atmosphere.websocket.websocket.write(websocket.java:40)       @ org.atmosphere.cpr.atmosphereresponse$2.write(atmosphereresponse.java:574)       @ org.atmosphere.handler.abstractreflectoratmospherehandler.onstatechange(abstractreflectoratmospherehandler.java:169)       @ org.atmosphere.cpr.defaultbroadcaster.invokeonstatechange(defaultbroadcaster.java:1027)       @ org.atmosphere.cpr.defaultbroadcaster.prepareinvokeonstatechange(defaultbroadcaster.java:1047)       @ org.atmosphere.cpr.defaultbroadcaster.executeasyncwrite(defaultbroadcaster.java:921)       @ org.atmosphere.cpr.defaultbroadcaster$3.run(defaultbroadcaster.java:580)      - locked <     0x00000005ef4b77f8> (a org.atmosphere.cpr.atmosphereresourceimpl)       @ java.util.concurrent.executors$runnableadapter.call(executors.java:471)       @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:334)       @ java.util.concurrent.futuretask.run(futuretask.java:166)       @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)       @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)       @ java.lang.thread.run(thread.java:724)         "atmosphere-scheduler-2"   daemon prio=10 tid=0x00007efee9c77800 nid=0x257d waiting monitor entry [0x00007efe831ef000]      java.lang.thread.state: blocked (on object monitor)       @ org.atmosphere.cpr.asynchronousprocessor.completelifecycle(asynchronousprocessor.java:476)      - waiting lock <0x00000005ef4b77f8> (a org.atmosphere.cpr.atmosphereresourceimpl)       @ org.atmosphere.cpr.asynchronousprocessor.timedout(asynchronousprocessor.java:437)       @ org.atmosphere.cpr.asynchronousprocessor$asynchronousprocessorhook.timedout(asynchronousprocessor.java:633)       @ org.atmosphere.websocket.defaultwebsocketprocessor.close(defaultwebsocketprocessor.java:483)       @ org.atmosphere.container.tomcatwebsockethandler.onclose(tomcatwebsockethandler.java:80)       @ org.apache.catalina.websocket.streaminbound.doonclose(streaminbound.java:222)       @ org.apache.catalina.websocket.wsoutbound.dowritebytes(wsoutbound.java:423)       @ org.apache.catalina.websocket.wsoutbound.dowritetext(wsoutbound.java:442)       @ org.apache.catalina.websocket.wsoutbound.writetextmessage(wsoutbound.java:174)      - locked <     0x00000005ef4c6988> (a org.apache.catalina.websocket.wsoutbound)       @ org.atmosphere.container.version.tomcatwebsocket.write(tomcatwebsocket.java:49)       @ org.atmosphere.websocket.websocket.write(websocket.java:199)       @ org.atmosphere.websocket.websocket.write(websocket.java:168)       @ org.atmosphere.websocket.websocket.write(websocket.java:40)       @ org.atmosphere.cpr.atmosphereresponse$2.write(atmosphereresponse.java:574)       @ org.atmosphere.cpr.atmosphereresponse.write(atmosphereresponse.java:992)       @ org.atmosphere.interceptor.heartbeatinterceptor$1$1.call(heartbeatinterceptor.java:104)      @ java.util.concurrent.futuretask$sync.innerrun(futuretask.java:334)       @ java.util.concurrent.futuretask.run(futuretask.java:166)       @ java.util.concurrent.scheduledthreadpoolexecutor$scheduledfuturetask.access$201(scheduledthreadpoolexecutor.java:178)       @ java.util.concurrent.scheduledthreadpoolexecutor$scheduledfuturetask.run(scheduledthreadpoolexecutor.java:292)       @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1145)       @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:615)       @ java.lang.thread.run(thread.java:724) 


Comments

Popular posts from this blog

How to remove text and logo OR add Overflow on Android ActionBar using AppCompat on API 8? -

html - How to style widget with post count different than without post count -

url rewriting - How to redirect a http POST with urlrewritefilter -