-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

James,

On 5/20/13 2:10 PM, James Snider wrote:
> Our application was working prior to the detection being added.
> Is there a way to turn of the detection and keep our applications 
> running?

Your application is probably still working.

> We may have been having this memory leak issue previously but it 
> wasn't causing this random service stoppage.

Okay, it's time to bring some sanity to this thread. So far, I have
seen 3 distinct problems demonstrated:

1. SEGV in tcnative.dll

2. java.lang.IllegalStateException

3. AWT-Windows thread is created causing a memory leak

Issues #2 and #3 can be easily handled.

To fix issue #3, enable AWTThreadProtection in
JreMemoryLeakPreventionListener.
(http://tomcat.apache.org/tomcat-7.0-doc/config/listeners.html#JRE_Memory_Leak_Prevention_Listener_-_org.apache.catalina.core.JreMemoryLeakPreventionListener).

To fix issue #2, wrap your ImageIO OutputStream in the decorator
indicated by Konstantin.

> On Monday, May 20, Stever A Harman wrote:
> 
> I am confused. We are not using imageIO in our code and nothing
> has changed with our code. Only the TomCat  upgrade? Please advise
> with a more concrete answer to the issue?

Your application obviously /does/ use ImageIO, as you can see in the
originally-posted thread:

> Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
> 
> j  org.apache.tomcat.jni.Socket.sendbb(JII)I+0
> 
> j
> org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer()V+22
> 
> j  org.apache.coyote.http11.InternalAprOutputBuffer.flush()V+5
> 
> J
> org.apache.coyote.http11.AbstractHttp11Processor.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V
>
>  j
> org.apache.coyote.Response.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V+31
>
>  j  org.apache.catalina.connector.OutputBuffer.doFlush(Z)V+97
> 
> j  org.apache.catalina.connector.OutputBuffer.flush()V+2
> 
> j  org.apache.catalina.connector.CoyoteOutputStream.flush()V+4
> 
> j  javax.imageio.stream.FileCacheImageOutputStream.close()V+60
> 
> j  javax.imageio.stream.ImageInputStreamImpl.finalize()V+8
> 
> v  ~StubRoutines::call_stub
> 
> j
> java.lang.ref.Finalizer.invokeFinalizeMethod(Ljava/lang/Object;)V+0
>
>  j  java.lang.ref.Finalizer.runFinalizer()V+45
> 
> j
> java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;)V+1
> 
> j  java.lang.ref.Finalizer$FinalizerThread.run()V+11
> 
> v  ~StubRoutines::call_stub

As for issue #1 (the tcnative one), you are going to have to provide
some more information. Is this a repeatable condition? If so, I'll bet
Mladen can roll you a debug-enabled library that you can test: he's
very quick to identify and fix problems with the win32 build of tcnative.

Please, let's focus on one problem at a time. I realize that you guys
are probably in "sky is falling" mode, but it's very difficult to
figure out what is going on with two people reporting random problems
all within the same thread. So let's slow down and get a few things
straight.

First, Tomcat is more strict about a lot of things in 7.0.x than it
was in 6.0.x, which is probably why you are seeing the
IllegalStateException. Or, something else may have changed in your
configuration that you are not reporting. Either way, the fix is easy
(see above). I'm sorry that the fix isn't as easy as "disable
IllegalStateException in configuration" or something like that, but
you seriously need to fix your web application (really work-around
this bug in ImageIO) or your webapp will be less stable than it could
be. This is true no matter what application server you use.

Second, you are only seeing the *warning* about the AWT thread because
those checks weren't being done in your ancient version of Tomcat you
were running. If you want to disable the checks (which is stupid
because they indicate a problem), then you can disable them. Better
yet, you can easily fix the AWT thread problem as described above.

Third, let's get some more information about the tcnative thing, as it
probably truly represents a bug in tcnative.

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

iQIcBAEBCAAGBQJRmn/pAAoJEBzwKT+lPKRYlTgQAKJRyr9zWXZLrJwzlCfibT/s
SbcX1r8VYoNoN78RAtuoioJiYi+6TZxbwIxZiAo1QUElNk5vrsnzbvr0e5FHBWoe
SoZs5ro/tAMaAPClqlp11WjJnlIEqvg63ebnml7RS6U6NpwGEg/BhslUDIUR9lMP
S6T1NCa6WPgFV304RS0wSDn1ibhyZ2Z1Fteo3CHvazeySsfeRydZHeYHMFSXp0CP
927t7gl93cCpvvz6P38lBUYiorKsFPDTlD0gNcZz9GuBE+TjiMFES/OmddAvey8U
GNc7oVI+RGiStZCaDggsgqCtFeeIm+QbQV1g0e1Y78BiaH865soudH2k7ric05gv
pe9jtQX7S7SWn47vENid/Au/q3UXy/Nj9A4FB4lLMprKGLDMoHuoX/N/2f+3INwK
uDUEeCPJ7F7Q1aAJUMfBvGiBEyWxcp2eIt+LgCCuuuSLYc+V1XELhSI62KgIkhbf
JmJGYz1bG7maFP2HnQ7oz48bAJVTH/EDlMMU6aatrWjw4pxjZfDbmzdhT4dXewFd
qAXQhV5Z/HNBsNJa1PqeOLXWGfteZ2t9cH8ClTO+J5z0k1H75EwRdADTXLEFc5Xu
Q4HXIwQihWtVgnNo9yjtplTXOiJ94y8PxdTqr8XhcYoWH7k69k076XTZsoAnycZV
EVCaRqBcRUWekNhNEQBR
=jyDp
-----END PGP SIGNATURE-----

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

Reply via email to