You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Seetharaman Narayanan <ra...@yahoo.com> on 2003/09/25 08:04:59 UTC

ClassCircularityError while using Apache Axis

Hello All,
              We have a Validation Manager WebService,
whose sole purpose is to validate some scripts which
are xml based files. We have a JSP where a user
uploads the file and clicks a button to validate it.
The JSP makes a function call to validate this script
file through many passes until it finds a boolean
value equal to true in the object returned by the
function call. So basically the validation is done in
so many passes. 

     The funny thing here is if we try this validation
in a multi user environment, the JSP goes into a funny
state and does nothing further. After two days of
debugging, finally we found that we were catching the
exception, but not the throwable. So the first
question obviously is why does the generated stub
throws a Throwable rather than an exception? Finally
when we printed out the stack trace, it was to do with
a ClassCircularityError.

So all I want to know is, has anyone reported this bug
yet? Is the generated classes by WSDL2java, threadsafe
? Why does this problem happens to us once for every
thre concurrent requests?

If this is indeed a bug, I could provide some stack
trace info .

Right now we have just caught the throwable and the
problem seems to have gone from our end, since anyway
our JSP makes multiple calls, so even though the
previous call ended in the funny state, luckily the
next call is successful. Previously it didnt even make
that subsequent call, because it has been given a
throwable and it didnt know what to do with it.

 I want to get at the root cause.

Thanks in advance for ur help
Ramesh

__________________________________
Do you Yahoo!?
The New Yahoo! Shopping - with improved product search
http://shopping.yahoo.com

Re: ClassCircularityError while using Apache Axis

Posted by Steve Loughran <st...@iseran.com>.
Seetharaman Narayanan wrote:
> Hello All,
>               We have a Validation Manager WebService,
> whose sole purpose is to validate some scripts which
> are xml based files. We have a JSP where a user
> uploads the file and clicks a button to validate it.
> The JSP makes a function call to validate this script
> file through many passes until it finds a boolean
> value equal to true in the object returned by the
> function call. So basically the validation is done in
> so many passes. 
> 
>      The funny thing here is if we try this validation
> in a multi user environment, the JSP goes into a funny
> state and does nothing further. After two days of
> debugging, finally we found that we were catching the
> exception, but not the throwable. So the first
> question obviously is why does the generated stub
> throws a Throwable rather than an exception? Finally
> when we printed out the stack trace, it was to do with
> a ClassCircularityError.
> 
> So all I want to know is, has anyone reported this bug
> yet? Is the generated classes by WSDL2java, threadsafe
> ? Why does this problem happens to us once for every
> thre concurrent requests?

No, they are not threadsafe. You should be able to make different calls 
with different object instances in different threads, but you should not 
be able to reuse the same object in different threads at the same time.

If you are not doing the latter, maybe you have stumbled on some 
internal race condition nobody else has found...