Sorry for the incomplete answer earlier. There are also
relevant tests in:

    jdk/test/java/lang/management
    jdk/test/com/sun/management
    jdk/test/sun/management
    jdk/test/jdk/internal/agent
    jdk/test/javax/management
    jdk/test/com/sun/jmx

You might want to just run the 'jdk_management' and 'jdk_jmx' test groups...
that should also pick up any closed side tests...

Dan



On 9/5/17 10:44 AM, Shafi Ahmad wrote:
Thank you Daniel. I will run and update it with the result.

Regards,
Shafi



On Tue, Sep 5, 2017 at 9:44 PM +0530, "Daniel D. Daugherty" <daniel.daughe...@oracle.com <mailto:daniel.daughe...@oracle.com>> wrote:

    Seems like you should also run: nsk.monitoring.testlist

    Dan


    On 9/4/17 4:11 AM, Shafi Ahmad wrote:

    Hi,

    Please review the fix for ‘JDK-8170299: Debugger does not stop
    inside the low memory notifications code’ to jdk10.

    With the current implementation ‘debugger does not stop inside
    the low memory *notifications* code’

    This is expected as the notification code is getting executed
    with the service thread, which is a hidden thread.

    jdk10-dev-new$ jdb -Xmx32m MemoryWarningSystem

    Initializing jdb ...

    > stop at MemoryWarningSystem$1:25

    Deferring breakpoint MemoryWarningSystem$1:25.

    It will be set after the class is loaded.

    > run

    run MemoryWarningSystem

    Set uncaught java.lang.Throwable

    Set deferred uncaught java.lang.Throwable

    >

    . . .

    > quit

    Breakpoint not hit.

    With the attached webrev, jdb stop  at breakpoint inside
    notification code.

    jdk10-dev-new$ jdb -Xmx64m MemoryWarningSystem

    Initializing jdb ...

    > stop at MemoryWarningSystem$1:25

    Deferring breakpoint MemoryWarningSystem$1:25.

    It will be set after the class is loaded.

    > run

    run MemoryWarningSystem

    Set uncaught java.lang.Throwable

    Set deferred uncaught java.lang.Throwable

    >

    VM Started: Set deferred breakpoint MemoryWarningSystem$1:25

    Breakpoint hit: "thread=Thread-0",
    MemoryWarningSystem$1.memoryUsageLow(), line=25 bci=0

    25 System.out.println("Memory usage low!!!");

    Thread-0[1] step

    > Memory usage low!!!

    Step completed: "thread=Thread-0",
    MemoryWarningSystem$1.memoryUsageLow(), line=26 bci=8

    26            double percentageUsed = ((double) usedMemory) /
    maxMemory;

    Thread-0[1] where

      [1] MemoryWarningSystem$1.memoryUsageLow
    (MemoryWarningSystem.java:26)

      [2] MemoryWarningSystem$2.handleNotification
    (MemoryWarningSystem.java:48)

      [3]
    javax.management.NotificationBroadcasterSupport.handleNotification
    (NotificationBroadcasterSupport.java:284)

      [4]
    javax.management.NotificationBroadcasterSupport$SendNotifJob.run
    (NotificationBroadcasterSupport.java:361)

      [5] java.lang.Thread.run (Thread.java:844)

    Thread-0[1] step

    >

    Step completed: "thread=Thread-0",
    MemoryWarningSystem$1.memoryUsageLow(), line=27 bci=15

    27 System.out.println("percentageUsed = " + percentageUsed);

    Thread-0[1] list

    23        mws.addListener(new MemoryWarningSystem.Listener() {

    24          public void memoryUsageLow(long usedMemory, long
    maxMemory) {

    25 System.out.println("Memory usage low!!!");

    26            double percentageUsed = ((double) usedMemory) /
    maxMemory;

    27 => System.out.println("percentageUsed = " + percentageUsed);

    28 MemoryWarningSystem.setPercentageUsageThreshold(0.8);

    29          }

    30        });

    31

    32        Collection<Double> numbers = new LinkedList<Double>();

    Thread-0[1]

    In the change, the class ‘MemoryImpl’ is derived from class
    ‘NotificationBroadcasterSupport’ instead of class
    ‘NotificationEmitterSupport’

    NotificationBroadcastSupport takes an Executor, MemoryImpl
    constructor  call super() with an executor,  a visible thread.

    The method hasListeners() is referenced  inside MemoryImpl.java
    and defined in  NotificationEmitterSupport.

    This method is not present in  NotificationBroadcasterSupport so
    I added it to NotificationBroadcasterSupport.

    Jdk10 bug: https://bugs.openjdk.java.net/browse/JDK-8170299

    Webrev link:
    http://cr.openjdk.java.net/~shshahma/8170299/webrev.01/
    <http://cr.openjdk.java.net/%7Eshshahma/8170299/webrev.01/>

    Testing: jprt -testset core, vm tonga tests nsk.jvmti.testlist,
    nsk.jdi.testlist, nsk.jdwp.testlist and jtreg tests
    ./jdk/test/com/sun/jdi/

    Please let me know if I missed to test some more test suit[s].

    Thanks to Mandy and Poonam for helping me in fixing this.

    Regards,

    Shafi



Reply via email to