But I do not make locks on the SimpleDateFormat objects? Tomcat does it while finishing the response.
Here is one of the threads that waits to lock: "http-8080-84" daemon prio=10 tid=0x00007ff9a4340800 nid=0xf5d waiting for monitor entry [0x00007ff9990cf000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.tomcat.util.http.FastHttpDateFormat.getCurrentDate(FastHttpDateFormat.java:114) - waiting to lock <0x00000006fbd04ee8> (a java.text.SimpleDateFormat) at org.apache.coyote.http11.Http11Processor.prepareResponse(Http11Processor.java:1606) at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:956) at org.apache.coyote.Response.action(Response.java:183) at org.apache.coyote.Response.sendHeaders(Response.java:379) at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:305) at org.apache.catalina.connector.OutputBuffer.close(OutputBuffer.java:273) at org.apache.catalina.connector.Response.finishResponse(Response.java:493) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:322) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) 2011/12/22 David kerber <dcker...@verizon.net> > On 12/22/2011 4:05 AM, Violeta Georgieva wrote: > >> Hi, >> >> I am using Tomcat 6.0.29 and SUN JVM. >> I experience high memory consumption caused by BLOCKED Threads. >> >> I would appreciate any help or suggestion how to solve the problem. >> > > Fix your app so that it releases the locks (probably synchronized > sections) on the SimpleDateFormat objects. > > > > >> I can see the following in the thread dump: >> >> >> "http-8080-73" daemon prio=10 tid=0x00007ff9a4586000 nid=0x7d3 waiting for >> monitor entry [0x00007ff9996d4000] >> >> java.lang.Thread.State: BLOCKED (on object monitor) >> >> at >> sun.util.resources.**TimeZoneNames.getContents(**TimeZoneNames.java:185) >> >> at >> sun.util.resources.**OpenListResourceBundle.**loadLookup(** >> OpenListResourceBundle.java:**109) >> >> - locked<0x00000006f95a49b8> (a >> sun.util.resources.**TimeZoneNames) >> >> at >> sun.util.resources.**OpenListResourceBundle.** >> loadLookupTablesIfNecessary(**OpenListResourceBundle.java:**97) >> >> at >> sun.util.resources.**OpenListResourceBundle.**handleGetObject(** >> OpenListResourceBundle.java:**58) >> >> at >> sun.util.resources.**TimeZoneNamesBundle.**handleGetObject(** >> TimeZoneNamesBundle.java:59) >> >> at >> java.util.ResourceBundle.**getObject(ResourceBundle.java:**368) >> >> at >> java.util.ResourceBundle.**getObject(ResourceBundle.java:**371) >> >> at >> java.util.ResourceBundle.**getStringArray(ResourceBundle.**java:351) >> >> at >> sun.util.TimeZoneNameUtility.**retrieveDisplayNames(** >> TimeZoneNameUtility.java:100) >> >> at >> sun.util.TimeZoneNameUtility.**retrieveDisplayNames(** >> TimeZoneNameUtility.java:81) >> >> at java.util.TimeZone.**getDisplayNames(TimeZone.java:** >> 399) >> >> at java.util.TimeZone.**getDisplayName(TimeZone.java:** >> 350) >> >> at >> java.text.SimpleDateFormat.**subFormat(SimpleDateFormat.**java:1110) >> >> at >> java.text.SimpleDateFormat.**format(SimpleDateFormat.java:**899) >> >> at >> java.text.SimpleDateFormat.**format(SimpleDateFormat.java:**869) >> >> at java.text.DateFormat.format(**DateFormat.java:316) >> >> at >> org.apache.tomcat.util.http.**FastHttpDateFormat.**getCurrentDate(** >> FastHttpDateFormat.java:115) >> >> - locked<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> at >> org.apache.coyote.http11.**Http11Processor.**prepareResponse(** >> Http11Processor.java:1606) >> >> at >> org.apache.coyote.http11.**Http11Processor.action(** >> Http11Processor.java:956) >> >> at org.apache.coyote.Response.**action(Response.java:183) >> >> at org.apache.coyote.Response.** >> sendHeaders(Response.java:379) >> >> at >> org.apache.catalina.connector.**OutputBuffer.doFlush(** >> OutputBuffer.java:305) >> >> at >> org.apache.catalina.connector.**OutputBuffer.close(** >> OutputBuffer.java:273) >> >> at >> org.apache.catalina.connector.**Response.finishResponse(** >> Response.java:493) >> >> at >> org.apache.catalina.connector.**CoyoteAdapter.service(** >> CoyoteAdapter.java:322) >> >> at >> org.apache.coyote.http11.**Http11Processor.process(** >> Http11Processor.java:859) >> >> at >> org.apache.coyote.http11.**Http11Protocol$**Http11ConnectionHandler.** >> process(Http11Protocol.java:**588) >> >> at >> org.apache.tomcat.util.net.**JIoEndpoint$Worker.run(** >> JIoEndpoint.java:489) >> >> at java.lang.Thread.run(Thread.**java:662) >> >> >> >> Line 2485 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2536 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2625 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2660 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2703 : - locked<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2741 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2758 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2775 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2792 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2848 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2865 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2891 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2908 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2925 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2942 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2959 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2976 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 2993 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3010 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3027 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3044 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3061 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3094 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3111 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3128 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3145 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3180 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3197 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3214 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3231 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3248 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3265 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3282 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3299 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3316 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3333 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3350 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3367 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3384 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3401 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3418 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3435 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3452 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3487 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3513 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3530 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3547 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3564 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3608 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3756 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3860 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3877 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 3894 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> Line 4324 : - waiting to lock<0x00000006fbd04ee8> (a >> java.text.SimpleDateFormat) >> >> >> >> Thanks in advance >> >> Violeta >> >> > > ------------------------------**------------------------------**--------- > To unsubscribe, e-mail: > users-unsubscribe@tomcat.**apache.org<users-unsubscr...@tomcat.apache.org> > For additional commands, e-mail: users-h...@tomcat.apache.org > >