I prefer meaningful test names .. the bug id is already in the @bug tag and a test can later be updated to test > 1 bug. Did you verify that you are in fact capturing stderr - even in othervm mode - when running the test under jtreg ? Even when setting up a new VM jtreg may capture this for you.
-phil. On 07/05/2016 04:42 AM, Ajit Ghaisas wrote:
Thanks Jim for suggesting test should have its own VM. I agree with it. Here is the updated webrev : http://cr.openjdk.java.net/~aghaisas/8160421/webrev.01/ Phil, can you please review it? Regards, Ajit -----Original Message----- From: Jim Graham Sent: Friday, July 01, 2016 5:13 AM To: Ajit Ghaisas; Philip Race; Sergey Bylokhov; 2d-dev Subject: Re: [OpenJDK 2D-Dev] [9] Fix for JDK-8160421 : Regression: JDK-8139192 causes NPE in java.awt.Toolkit.createCustomCursor() The solution looks fine to me. I didn't run the test case, but about the only issue I can see with it is whether it should have a flag to run it in its own VM because of its interaction with System.err. Phil? ...jim On 06/30/2016 06:41 AM, Ajit Ghaisas wrote:Hi, Bug : This is regarding a NPE getting printed as stacktrace in java.awt.Toolkit.createCustomCursor() method. The bug is described at : https://bugs.openjdk.java.net/browse/JDK-8160421 Root Cause : Fix of bug JDK-8139192 : Custom ImageFilters return blank images in Java 8(.45) while working in 7. The above fix added a RuntimeException catch & log mechanism to support a ImageFilter which was broken due to the second imageComplete() call in OffScreenImageSource.produce() method. Analysis: Without the fix of JDK-8139192, java.awt.Toolkit.createCustomCursor() call results in NullPointerException when imageComplete(ImageConsumer.STATICIMAGEDONE) call is made - but, it gets consumed silently. Cathing RuntimeException() out of imageComplete(ImageConsumer.STATICIMAGEDONE) was added to fix JDK-8160421. This started catching & logging the exception in case 'theConsumer' has unregistered itself as a result of call theConsumer.imageComplete(ImageConsumer.SINGLEFRAMEDONE); This log is undesirable as this mechanism is used in java.awt.Toolkit.createCustomCursor() and may be in other places. Fix : Make the call to imageComplete(ImageConsumer.STATICIMAGEDONE) only if 'theConsumer' has not been unregistered. Webrev: http://cr.openjdk.java.net/~aghaisas/8160421/webrev.00/ Request you to review. Regards, Ajit
