On 6/11/07, Jeff Amiel <[EMAIL PROTECTED]> wrote:
On 6/7/07, Jeff Amiel <[EMAIL PROTECTED]> wrote:

> Thanks much....will continue to investigate.
> I really appreciate the information and will post back if I get any
> concrete results....
>

Shortly thereafter, while pouring through the tomcat issues
repository, I stumbled across this:

http://issues.apache.org/bugzilla/show_bug.cgi?id=41772

After reading,  I became more convinced that re-used response objects
was at the heart of my issue.
I searched high-and low through my user code looking for anything that
might retain a handle to a response object....finding nothing obvious.
 Of course, such a bug could exist in any number of libraries we were
using....DWR, DisplayTag, etc.....

So.....I simply changed by startup config to run tomcat with a
-Djava.security.manager  option (my policy file allowing everything to
everybody).

And ...voila!  No more issue!!!.  (And yes...I m sure.  During a
period of time where we would have had dozens of these events
normally, we now have zero)

I am torn as to where to vent my displeasure (or even if I should have
any displeasure now that my production issue has 'gone away'. )

I notice that in Tomcat 6.0  that there is now an option for how the
Reponse and Request objects are recycled (not just when a Security
Manager is used).
http://mail-archives.apache.org/mod_mbox/tomcat-dev/200611.mbox/[EMAIL 
PROTECTED]

There must be a reason for this.  While I'm sure there is some aspect
of my code (or the libraries that I am using) that is violating the
servlet specs by 'holding onto' the response and accessing it later, I
am distraught that Tomcat's default behavior is to permit this.  I'm
sure very few web applications out there are simple or stand-alone
enough to not use a plethora of third party libraries (like jasper
reports, jfreechart, displaytag, dwr, etc)...all of which might
represent an underlying 'threat' to that recycled response object.

I am still a bit concerned that I could not track my specific cause down.....
If it was something as innocuous as what was seen by the submitter of
the issue above, I would not be worried (garbage collection calling
flush on a un-closed stream)....but My issue could be
worse.....sending data intended for one response (that is long gone)
to a different one...

Any advice or thoughts would be appreciated.

I guess the question is whether using the security manager is acutally
solving the problem or just masking it. If its the latter I would,
like you, want to know the cause. I would start by asking on the
Tomcat user list to try and understand why it shouldn't happen with
re-cycled objects - or what must the application be doing for it to
happen. Since it is happening when the Axis servlet is calling
setBufferSize() - perhaps also a question to the Axis user list - to
see if they can shed some light on it - or if anyone else has hit the
same issue.

Niall

Jeff

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to