harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregory Shimansky <gshiman...@gmail.com>
Subject Re: [dlrvm] ClassCircularityError in recursive compilation (Was: Re: [drlvm] smoke test : gc PhantomReferenceQueueTest is really unstable)
Date Mon, 16 Oct 2006 19:38:56 GMT
On Friday 13 October 2006 08:04 Alexey Varlamov wrote:
> I'm curious, if we enable "controlled" recursion in classloading -
> will it resolve this kind of issues completely? I'm pretty sure it
> would resolve at least some scenarios - like the one Pavel described
> for gc.Finalizers or a case of classloading initiated within
> SecurityManager.checkPermission() which we also faced not once.
> "Controlled" recursion here means counting depth of recursion and
> allowing at least 1 recursive iteration. I've seen some tricks in
> URLClassLoader which assume such ability, but they do not work with
> DRLVM.

I think it is different. URLClassLoader is system class which is loaded by 
bootstrap, so no recursion happens for classes which it itself requires to be 
loaded when it is being compiled.

> For the pure user code scenario Pavel suggested above, there may be
> some nuances leading to truly endless recursion, but still we need to
> look at particular test first.

It is not endless but it is definitely more than 1 level deep. If user sets up 
his own class loaders, compiling them may trigger loading some of the user 
classes which are in turn loaded by class loaders set up by user. Shall we 
then throw "NoClassDefFoundError: Class loading recursion limit reached. 
Please rewrite your code"? :)

-- 
Gregory Shimansky, Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
For additional commands, e-mail: harmony-dev-help@incubator.apache.org


Mime
View raw message