On 15.10.2015 00:24, Martin Buchholz wrote:
Looks good, but cant-stop-nitpicking Martin feels compelled to point out
the typo here:

   71     // his instance will be used to perform the GC.run_finalization test

Hopefully, it is not necessary to repost the updated webrev. Or is it?

-JB-




On Tue, Oct 13, 2015 at 11:47 PM, Jaroslav Bachorik
<jaroslav.bacho...@oracle.com <mailto:jaroslav.bacho...@oracle.com>> wrote:

    On 13.10.2015 <tel:13.10.2015> 20:12, Martin Buchholz wrote:

        blockFinalizerThread looks buggy to me.

           103     private static void blockFinalizerThread() throws
        InterruptedException {
           104         System.out.println("trying to block the finalizer
        thread");
           105         o1 = new MyObject();
           106         o1 = null;
           107         System.gc();
           108         System.runFinalization();
           109         finRunLatch.await();
           110     }
        Why are you calling System.runFinalization() ?  You are trying
        to block
        the primary finalizer thread; you definitely don't want the
        object to be
        handled by the secondary finalizer thread.


    Indeed. Even though this seems unlikely (didn't hit the problem in
    500 repetitions) it will be better not to call
    System.runFinalization() and just let System.gc() do its job
    finalizing the collected instance.


        ---

            51             } else {
            52                 System.out.println("finalizing the test
        instance");
        I would check :

        else if (Thread.currentThread().getName().equals("Secondary
        finalizer")) {
            ....
        else fail(unexpected finalizer thread name)


    If this ever happens it would mean that the finalizer logic has been
    changed. Adding this check will make the test fail in such case and
    force re-examination of the test logic. Sounds fair.

    http://cr.openjdk.java.net/~jbachorik/8135188/webrev.04

    Thanks!

    -JB-






Reply via email to