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

I'm not debating that there could be bad user code here....(although
I've reduced my test cases down to an empty axis service call and an
nearly empty struts action....If there IS bad code, it's probably at a
low level inside axis or struts or some other library that I don't
have immediate control over)

What I'm trying to determine if the re-use of response instances could
be the reason why
the axis servlet is getting a response given to it that is already in
a committed state...

I'm not 'afraid' of dealing with pooled objects that may be in a
questionable state (like with  database connection pool
handles...knowing to check/set auto-commit on them when acquiring them
from  pool because the previous user may have changed some settings on
them)...I'm just interested in knowing if this is a  'known' danger of
running without a security manager on Tomcat (5.5) and just as easily
avoidable.


I'm just trying to warn you that the evidence of the last 5 or so
years (given how many people deploy apps on Tomcat) means you are
going to get a lot of skepticism if you go to the Tomcat user list and
try to blame this kind of problem on Tomcat.  The likelihood of that
being the real issue, given the fact that even *you* can't reproduce
it reliably, and the fact that "nothing changed" in your environment,
makes this the least possible likelihood.  Note that probably 99.9% of
the apps running under Tomcat standalone run without a security
manager -- but that is even *more* unlikely to be the issue.

Of moderate possibility is that one of the frameworks you are using
(Struts or Axis) is at fault.  Again, the odds are against you -- but
not quite as much as that it's a Tomcat issue.  On the other side of
the coin:

* Each of these two frameworks has been deployed
 widely -- on Tomcat and on other servers -- without
 a large number of complaints of this sort of issue.

* The symptoms you describe are the classic scenario
 where a previously existing application level thread safety
 issue has already existed, but didn't surface until the usage
 pattern of the app itself changed.

Note that I'm not at all familiar with the Axis code base, and have
never deployed an app that used Axis (with or without Struts).  But,
given the fact that the exception is in fact coming from Axis, my
suggestion is:

* Look to your own code first -- in particular
 at the logic of the Struts action you claim is
 being executed "at the same time as a SOAP
 call to the Axis servlet."

* Ask on the Axis list if anyone has seen this,
 including the full stack trace so that proper
 diagnosis is possible.

It's not impossible that there is a threading problem in Struts or
Tomcat that is causing this.  But, in my years of experience, my gut
says that is probably not where the issue actually exists.

Craig

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

Reply via email to