Re: All worker threads of my tomcat have been occupied!
gotcha! I moved tomcat home directory to another partition by using 'cp -r' at that time. That's why tomcat start to reload. Thank you! the whole stack trace is post here http://pastebin.com/KB9cWMFw On Fri, Jan 3, 2014 at 1:32 PM, Caldarale, Charles R < chuck.caldar...@unisys.com> wrote: > > From: Benimaur Gao [mailto:benim...@gmail.com] > > Subject: Re: All worker threads of my tomcat have been occupied! > > Don't top post - it makes the conversation very difficult to follow. > > > that's very strange. I failed to find any thread stack relevant to > > tomcat reloading. > > Perhaps you could post the stack trace somewhere we could look at it > (e.g., pastebin). > > > All settings in my server.xml are just using the default value, except > one > > modification to block to set the real deployment path. > > ?? Please elaborate on that (be specific). > > > what's the condition to trigger tomcat redeployment, and how to avoid it? > > The redeployment triggers are specified by elements > nested inside elements. By default, WEB-INF/web.xml is the only > monitored file, specified in the global conf/context.xml. Any chance > someone did a touch on your webapp's web.xml? > > > Does it leave me no choice but upgrading my tomcat? > > Always good to stay up to date, but it's not likely to be relevant here. > > - Chuck > > > THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY > MATERIAL and is thus for use only by the intended recipient. If you > received this in error, please contact the sender and delete the e-mail and > its attachments from all computers. > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
Re: All worker threads of my tomcat have been occupied!
@ Chuck that's very strange. I failed to find any thread stack relevant to tomcat reloading. @ Chris No, I do not use the manager app. All settings in my server.xml are just using the default value, except one modification to block to set the real deployment path. My question is: what's the condition to trigger tomcat redeployment, and how to avoid it? after all, I don't think it's a proper setting for online server. Does it leave me no choice but upgrading my tomcat? On Fri, Jan 3, 2014 at 2:16 AM, Caldarale, Charles R < chuck.caldar...@unisys.com> wrote: > > From: Benimaur Gao [mailto:benim...@gmail.com] > > Subject: All worker threads of my tomcat have been occupied! > > > I tried jstack to get some info, and then I found a lot of thread call > > stack like: > > > "http-8082-154" daemon prio=10 tid=0x7f711c21f800 nid=0x5b0a waiting > on > > condition [0x7f70dc887000] > >java.lang.Thread.State: TIMED_WAITING (sleeping) > > at java.lang.Thread.sleep(Native Method) > > at > > > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:132) > > > It seems all of the 200 JIoEndpoint$Worker threads had been occupied. > > > It seems context had been set to reload state at some time, but I can't > > figure out under what circumstance would put tomcat into such state. > > Try looking at the threads _not_ doing the wait from StandardContextValve; > one of those should be involved in reloading the webapp and perhaps you can > find out what it's waiting for. > > - Chuck > > > THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY > MATERIAL and is thus for use only by the intended recipient. If you > received this in error, please contact the sender and delete the e-mail and > its attachments from all computers. > > > - > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > >
All worker threads of my tomcat have been occupied!
hi, all I found my tomcat refusing to work this morning. I tried jstack to get some info, and then I found a lot of thread call stack like: "http-8082-154" daemon prio=10 tid=0x7f711c21f800 nid=0x5b0a waiting on > condition [0x7f70dc887000] >java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:132) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Thread.java:662) > Actually, when I used grep to get more clue # grep -B5 -A7 org.apache.catalina.valves.ErrorReportValve.invoke 14446.dump I got: Dump File: 14446.dump.1388636053 > execute external commands: ^[[01;31mgrep -B5 -A7 > org.apache.catalina.valves.ErrorReportValve.invoke^[[00m > "http-8082-200" daemon prio=10 tid=0x7f711c14b000 nid=0x6a52 waiting > on condition [0x7f70d9a59000] >java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:132) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Thread.java:662) > > "http-8082-199" daemon prio=10 tid=0x7f711c148800 nid=0x69f3 waiting > on condition [0x7f70d9b5a000] >java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:132) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Thread.java:662) > > "http-8082-198" daemon prio=10 tid=0x7f711c146000 nid=0x6992 waiting > on condition [0x7f70d9c5b000] >java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:132) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) > at java.lang.Thread.run(Thread.java:662) > ... ... > > "http-8082-2" daemon prio=10 tid=0x7f711c002800 nid=0x38a4 waiting on > condition [0x7f7124b7a000] >java.lang.Thread.State: TIMED_WAITING (sleeping) > at java.lang.Thread.sleep(Native Method) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:132) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > at > org.apache.catalina.con