Salikh,

gc.Finalizer and gc PhantomReferenceQueueTest are synthetic test. And can't
be called "normal" (do code review, if you doubt, please). But this test
isn't source of the circularity error. The error can happen for usual
application too. The CL an SM tests just show that source of fake
circularity error exists. It's it.

I think, this fake error can happen in usual applications. But it can be
masked here or be covered by other issues...

Pavel Afremov


On 10/24/06, Salikh Zakirov <[EMAIL PROTECTED]> wrote:

Gregory Shimansky wrote:
> Yes the test is synthetic. But the whole problem arose from the
currently
> excluded smoke tests gc.PhantomReferenceQueueTest and gc.Finalizer. They
too
> are synthetic but may be an example of another place where this problem
> appears.
>
> The idea to write user code tests was just to show that finalizers
> implementation is not the one to be blamed and the problem is
reproducible on
> pure user code applications, not to show that this problem is so rare no
one
> in right mind would ever write an application to encounter it :)

Gregory,

the problem as I see it is that gc.Finalizer and
gc.PhantomReferenceQueueTest
are *normal* test cases in the sense that they exercise finalizable
objects
and phantom references in *exactly* the same way as an application would.

And Pavel's synthetic tests (HARMONY-1945) do something allowed by the
spec, but entirely
uncommon for an application -- recursive call from a classloader to the
application.


Reply via email to