Re: High memory consumption caused by BLOCKED Threads

2011-12-27 Thread Violeta Georgieva
Thanks to all of you!

I'm profiling the application now.

Happy New Year
Violeta

2011/12/23 Christopher Schultz ch...@christopherschultz.net

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Rainer,

 On 12/22/11 2:00 PM, Rainer Jung wrote:
  Hmmm, actually I had a short look at the code of
 
  sun.util.resources.TimeZoneNames.getContents(TimeZoneNames.java:185)
 
   and i don't unerstand why it is waiting for a monitor entry. The
  method should quickly return an array of objects which is
  explicitely defined in the class and that's it. No idea what's
  happening here.
 
  @Violeta: is anything wrong with your system, e.g. did you get an
  OutOfMemoryError somewhere? It looks your JVM is in a strange
  state. Are you doing frequent redeployments without stopping
  Tomcat?

 +1

 Looks like something horrible has happened in the JVM.

 - -chris
 -BEGIN PGP SIGNATURE-
 Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
 Comment: GPGTools - http://gpgtools.org
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

 iEYEARECAAYFAk7zskQACgkQ9CaO5/Lv0PDv2gCfUtQObYXhqNKH8LxEMT3rBuU5
 O0wAoKoCNwYv6a50LMTmv6y+cGRu+fAc
 =M07c
 -END PGP SIGNATURE-

 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org




Re: High memory consumption caused by BLOCKED Threads

2011-12-27 Thread Antonio Vidal Ferrer

Violeta:

We had issues once with date objects (same behavior you describe), and 
was caused because one of the objects is working as serialized. If your 
app has a lot of requests, then all of them will have to wait 
serialization, generating a lot of memory and resources consumption. May 
be this is not your case, but I recommend you to double check that, may 
be you can save a lot of profiling time.


Best,

Antonio Vidal Ferrer
Responsable Departamento Middleware
Globalia Sistemas y Comunicaciones SLU
T. 971.178.464
M. 647.995.481
mailto:antonio.vi...@globalia-sistemas.com


On 12/22/2011 10: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.

I can see the following in the thread dump:


http-8080-73 daemon prio=10 tid=0x7ff9a4586000 nid=0x7d3 waiting for
monitor entry [0x7ff9996d4000]

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)

- locked0x0006f95a49b8  (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)

- locked0x0006fbd04ee8  (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 lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2536 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2625 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2660 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2703 :  - locked0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2741 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2758 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2775 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2792 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2848 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2865 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2891 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2908 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2925

High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Violeta Georgieva
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.

I can see the following in the thread dump:


http-8080-73 daemon prio=10 tid=0x7ff9a4586000 nid=0x7d3 waiting for
monitor entry [0x7ff9996d4000]

   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 0x0006f95a49b8 (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 0x0006fbd04ee8 (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 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2536 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2625 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2660 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2703 :  - locked 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2741 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2758 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2775 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2792 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2848 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2865 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2891 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2908 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2925 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2942 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2959 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2976 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 2993 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 3010 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 3027 :  - waiting to lock 0x0006fbd04ee8 (a
java.text.SimpleDateFormat)

Line 3044 :  - waiting to lock

Re: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Mark Thomas
On 22/12/2011 09:05, Violeta Georgieva wrote:
 Hi,
 
 I am using Tomcat 6.0.29 and SUN JVM.
 I experience high memory consumption caused by BLOCKED Threads.

Blocked threads will not cause high memory consumption.

 I would appreciate any help or suggestion how to solve the problem.

Try telling us what the real problem is rather than what you think the
cause is.

Mark

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Violeta Georgieva
The blocked threads that are waiting to get the lock, in order to finish
the response, are holding a lot of memory that they cannot release.
I have 50 blocked threads that are waiting.

2011/12/22 Mark Thomas ma...@apache.org

 On 22/12/2011 09:05, Violeta Georgieva wrote:
  Hi,
 
  I am using Tomcat 6.0.29 and SUN JVM.
  I experience high memory consumption caused by BLOCKED Threads.

 Blocked threads will not cause high memory consumption.

  I would appreciate any help or suggestion how to solve the problem.

 Try telling us what the real problem is rather than what you think the
 cause is.

 Mark

 -
 To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
 For additional commands, e-mail: users-h...@tomcat.apache.org




Re: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread David kerber

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=0x7ff9a4586000 nid=0x7d3 waiting for
monitor entry [0x7ff9996d4000]

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)

- locked0x0006f95a49b8  (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)

- locked0x0006fbd04ee8  (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 lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2536 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2625 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2660 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2703 :  - locked0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2741 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2758 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2775 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2792 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2848 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2865 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2891 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2908 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2925 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2942 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2959 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2976 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 2993 :  - waiting to lock0x0006fbd04ee8  (a
java.text.SimpleDateFormat)

Line 3010 :  - waiting

Re: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Violeta Georgieva
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=0x7ff9a4340800 nid=0xf5d waiting for
monitor entry [0x7ff9990cf000]
   java.lang.Thread.State: BLOCKED (on object monitor)
 at
org.apache.tomcat.util.http.FastHttpDateFormat.getCurrentDate(FastHttpDateFormat.java:114)
 - waiting to lock 0x0006fbd04ee8 (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=0x7ff9a4586000 nid=0x7d3 waiting for
 monitor entry [0x7ff9996d4000]

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)

- locked0x0006f95a49b8  (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)

- locked0x0006fbd04ee8  (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

RE: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Caldarale, Charles R
 From: David kerber [mailto:dcker...@verizon.net] 
 Subject: Re: High memory consumption caused by BLOCKED Threads

 Fix your app so that it releases the locks (probably synchronized 
 sections) on the SimpleDateFormat objects.

Read the stack trace more carefully - only Tomcat or JRE code is present.  
However, since this is only a partial stack trace, there might be some app code 
that is indirectly locking 0x7ff9996d4000 and then pausing for some reason, 
causing a deadlock.

 - 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: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Rainer Jung

Chuck,

On 22.12.2011 14:07, Caldarale, Charles R wrote:

From: David kerber [mailto:dcker...@verizon.net]
Subject: Re: High memory consumption caused by BLOCKED Threads



Fix your app so that it releases the locks (probably synchronized
sections) on the SimpleDateFormat objects.


Read the stack trace more carefully - only Tomcat or JRE code is present.  
However, since this is only a partial stack trace, there might be some app code 
that is indirectly locking 0x7ff9996d4000 and then pausing for some reason, 
causing a deadlock.


Hmmm, actually I had a short look at the code of

sun.util.resources.TimeZoneNames.getContents(TimeZoneNames.java:185)

and i don't unerstand why it is waiting for a monitor entry. The method 
should quickly return an array of objects which is explicitely defined 
in the class and that's it. No idea what's happening here.


@Violeta: is anything wrong with your system, e.g. did you get an 
OutOfMemoryError somewhere? It looks your JVM is in a strange state. Are 
you doing frequent redeployments without stopping Tomcat?


Regards,

Rainer

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Rainer,

On 12/22/11 2:00 PM, Rainer Jung wrote:
 Hmmm, actually I had a short look at the code of
 
 sun.util.resources.TimeZoneNames.getContents(TimeZoneNames.java:185)

  and i don't unerstand why it is waiting for a monitor entry. The
 method should quickly return an array of objects which is
 explicitely defined in the class and that's it. No idea what's
 happening here.
 
 @Violeta: is anything wrong with your system, e.g. did you get an 
 OutOfMemoryError somewhere? It looks your JVM is in a strange
 state. Are you doing frequent redeployments without stopping
 Tomcat?

+1

Looks like something horrible has happened in the JVM.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk7zskQACgkQ9CaO5/Lv0PDv2gCfUtQObYXhqNKH8LxEMT3rBuU5
O0wAoKoCNwYv6a50LMTmv6y+cGRu+fAc
=M07c
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



RE: High memory consumption caused by BLOCKED Threads

2011-12-22 Thread Caldarale, Charles R
 From: Rainer Jung [mailto:rainer.j...@kippdata.de] 
 Subject: Re: High memory consumption caused by BLOCKED Threads

 Hmmm, actually I had a short look at the code of
 sun.util.resources.TimeZoneNames.getContents(TimeZoneNames.java:185)
 and i don't unerstand why it is waiting for a monitor entry.

It appears to be an internal JVM monitor, possibly set when GC is running.  I 
suspect that the JVM is completely out of heap space, causing the threads to 
hang, rather than hanging threads causing heap exhaustion.  GC may be releasing 
just enough memory to allow some activities to proceed rather than throwing an 
OOME, but then restarting GC right away.

Examine the heap using jhat or other profiler and see who's eating the memory.

 - 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