-
Bug
-
Resolution: Fixed
-
P3
-
6
-
b93
-
generic
-
solaris_10
-
Verified
Dynamic enabling/disabling of extended DTrace probes is broken.
There are actually two problems.
1. Staring from JDK6b85 turning off ExtendedDTraceProbes flag in runtime does not work.
Extended probes are continue to be fired.
Note that jinfo reports that ExtendedDTraceProbes was disabled but
DTraceMethodProbes, DTraceAllocProbes, DTraceMonitorProbes flags
are reported as enabled.
TESTCASE_1_2
-> disable ExtendedDTraceProbes flag
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag -ExtendedDTraceProbes 9048
-> check ExtendedDTraceProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag ExtendedDTraceProbes 9048
PASSED
-> check DTraceMethodProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag DTraceMethodProbes 9048
FAILED
-> check DTraceAllocProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag DTraceAllocProbes 9048
FAILED
-> check DTraceMonitorProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag DTraceMonitorProbes 9048
FAILED
2. Dynamic turning on/off of DTraceMethodProbes, DTraceAllocProbes,
DTraceMonitorProbes flags doesn't work at all.
TESTCASE_2_1
-> enable DTraceMethodProbes flag
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag +DTraceMethodProbes 9048
Exception in thread "main" java.io.IOException: Command failed in target VM
at sun.tools.attach.SolarisVirtualMachine.execute(SolarisVirtualMachine.java:130)
at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:195)
at sun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:172)
at sun.tools.jinfo.JInfo.flag(JInfo.java:111)
at sun.tools.jinfo.JInfo.main(JInfo.java:58)
TEST_PASSED=0
TESTCASE_2_2
-> disable DTraceMethodProbes flag
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag -DTraceMethodProbes 9048
Exception in thread "main" java.io.IOException: Command failed in target VM
at sun.tools.attach.SolarisVirtualMachine.execute(SolarisVirtualMachine.java:130)
at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:195)
at sun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:172)
at sun.tools.jinfo.JInfo.flag(JInfo.java:115)
at sun.tools.jinfo.JInfo.main(JInfo.java:58)
...
Actually this functionality seems never worked.
I tested with build b81 (where this functionality was introduced) and it doesn't work.
I am not sure if it was designed this way. But it seems
this functionality is useful. For instance consider following case:
1. enable only DTraceMethodProbes by starting java with flag -XX:+DTraceMethodProbes
2. disable it by running 'jinfo -flag -DTraceMethodProbes'
3. but then it is not possible to turn on only DTraceMethodProbes.
it is only possible to turn on all extended probes because only
'jinfo -flag +ExtendedDTraceProbes' works.
Steps to reproduce the failures:
1. cp /home/ep155969/bugs/DynamicProbes_bug1/* YOUR_DIR
2. compile Dummy.java
3. ./check_dynamic_probes.sh JDK_HOME
ex: ./check_dynamic_probes.sh /net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/
The scripts are also attached.
Note: check_dynamic_probes.sh actually doesn't run any dtrace scripts yet.
you can manually play with ObjectAllocation.d (and Alloc.java) to check for sure that probes
are continue to be fired.
There are actually two problems.
1. Staring from JDK6b85 turning off ExtendedDTraceProbes flag in runtime does not work.
Extended probes are continue to be fired.
Note that jinfo reports that ExtendedDTraceProbes was disabled but
DTraceMethodProbes, DTraceAllocProbes, DTraceMonitorProbes flags
are reported as enabled.
TESTCASE_1_2
-> disable ExtendedDTraceProbes flag
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag -ExtendedDTraceProbes 9048
-> check ExtendedDTraceProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag ExtendedDTraceProbes 9048
PASSED
-> check DTraceMethodProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag DTraceMethodProbes 9048
FAILED
-> check DTraceAllocProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag DTraceAllocProbes 9048
FAILED
-> check DTraceMonitorProbes is disabled
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag DTraceMonitorProbes 9048
FAILED
2. Dynamic turning on/off of DTraceMethodProbes, DTraceAllocProbes,
DTraceMonitorProbes flags doesn't work at all.
TESTCASE_2_1
-> enable DTraceMethodProbes flag
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag +DTraceMethodProbes 9048
Exception in thread "main" java.io.IOException: Command failed in target VM
at sun.tools.attach.SolarisVirtualMachine.execute(SolarisVirtualMachine.java:130)
at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:195)
at sun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:172)
at sun.tools.jinfo.JInfo.flag(JInfo.java:111)
at sun.tools.jinfo.JInfo.main(JInfo.java:58)
TEST_PASSED=0
TESTCASE_2_2
-> disable DTraceMethodProbes flag
/net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/bin/jinfo -flag -DTraceMethodProbes 9048
Exception in thread "main" java.io.IOException: Command failed in target VM
at sun.tools.attach.SolarisVirtualMachine.execute(SolarisVirtualMachine.java:130)
at sun.tools.attach.HotSpotVirtualMachine.executeCommand(HotSpotVirtualMachine.java:195)
at sun.tools.attach.HotSpotVirtualMachine.setFlag(HotSpotVirtualMachine.java:172)
at sun.tools.jinfo.JInfo.flag(JInfo.java:115)
at sun.tools.jinfo.JInfo.main(JInfo.java:58)
...
Actually this functionality seems never worked.
I tested with build b81 (where this functionality was introduced) and it doesn't work.
I am not sure if it was designed this way. But it seems
this functionality is useful. For instance consider following case:
1. enable only DTraceMethodProbes by starting java with flag -XX:+DTraceMethodProbes
2. disable it by running 'jinfo -flag -DTraceMethodProbes'
3. but then it is not possible to turn on only DTraceMethodProbes.
it is only possible to turn on all extended probes because only
'jinfo -flag +ExtendedDTraceProbes' works.
Steps to reproduce the failures:
1. cp /home/ep155969/bugs/DynamicProbes_bug1/* YOUR_DIR
2. compile Dummy.java
3. ./check_dynamic_probes.sh JDK_HOME
ex: ./check_dynamic_probes.sh /net/vmsqe.sfbay/export/nightly/mustang/JDK/baseline/latest/solaris-sparc/
The scripts are also attached.
Note: check_dynamic_probes.sh actually doesn't run any dtrace scripts yet.
you can manually play with ObjectAllocation.d (and Alloc.java) to check for sure that probes
are continue to be fired.
- relates to
-
JDK-6417266 sun/management/jmxremote/bootstrap/LocalManagementTest.sh fails with IOException: Bad file number
- Resolved