RFR(M): 8059047: Extract parser/validator from jhat for use in tests
Staffan Larsen
staffan.larsen at oracle.com
Tue Apr 28 12:05:43 UTC 2015
Looks good!
Thanks,
/Staffan
> On 24 apr 2015, at 16:17, Yekaterina Kantserova <yekaterina.kantserova at oracle.com> wrote:
>
> All suggestions have been implemented. Please find new webrevs here:
>
> webrev root: http://cr.openjdk.java.net/~ykantser/8059047/webrev.02 <http://cr.openjdk.java.net/~ykantser/8059047/webrev.02>
> webrev jdk: http://cr.openjdk.java.net/~ykantser/8059047.jdk/webrev.02 <http://cr.openjdk.java.net/~ykantser/8059047.jdk/webrev.02>
> webrev hotspot: http://cr.openjdk.java.net/~ykantser/8059047.hotspot/webrev.01 <http://cr.openjdk.java.net/~ykantser/8059047.hotspot/webrev.01>
>
> // Katja
>
>
>
> On 04/24/2015 12:10 PM, Staffan Larsen wrote:
>>
>>> On 24 apr 2015, at 11:34, Yekaterina Kantserova <yekaterina.kantserova at oracle.com <mailto:yekaterina.kantserova at oracle.com>> wrote:
>>>
>>> Hi,
>>>
>>> Here comes the updated version.
>>>
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8059047 <https://bugs.openjdk.java.net/browse/JDK-8059047>
>>>
>>> webrev root: http://cr.openjdk.java.net/~ykantser/8059047/webrev.01/ <http://cr.openjdk.java.net/%7Eykantser/8059047/webrev.01/>
>>> webrev jdk: http://cr.openjdk.java.net/~ykantser/8059047.jdk/webrev.01/ <http://cr.openjdk.java.net/%7Eykantser/8059047.jdk/webrev.01/>
>>
>> test/com/sun/management/HotSpotDiagnosticMXBean/DumpHeap.java:
>>
>> In main() I think you should change the deleteOnExit() to just delete(). There is no reason to wait with it.
>>
>> Perhaps we should also verify that the file does not already exists before we try to write to it. If it exists, we can delete it.
>>
>>
>>
>>> webrev hotspot: http://cr.openjdk.java.net/~ykantser/8059047.hotspot/webrev.00/ <http://cr.openjdk.java.net/%7Eykantser/8059047.hotspot/webrev.00/>
>>
>> test/serviceability/dcmd/gc/HeapDumpTest.java:
>>
>> Same thing: call delete() instead of deleteOnExit().
>>
>>
>>>
>>>
>>> One comment about changes in hotspot part. The refactored version of serviceability/dcmd/gc/HeapDumpTest.java doesn't contain check:
>>>
>>> 70 /*
>>> 71 * Some hprof dumps of all objects contain constantPoolOop references that cannot be resolved, so we ignore
>>> 72 * failures about resolving constantPoolOop fields using a negative lookahead
>>> 73 */
>>> 74 output.shouldNotMatch(".*WARNING(?!.*Failed to resolve object.*constantPoolOop.*).*");
>>>
>>> It depends on that the current version of jdk.test.lib.hprof parser simply write down warnings to stdout. As a result the test needs to invent own logic to parse it.
>>>
>>> I suggest instead to improve jdk.test.lib.hprof parser as a separate RFE. The parser will collect such information and provide a new method for getting it, e.g. jdk.test.lib.hprof.model.Snapshot.getWarnings(). The serviceability/dcmd/gc/HeapDumpTest.java will be changed accordingly when RFE is implemented.
>>
>> Sounds right. A quick, hacky solution is to redirect System.out to a stream or file while running the parser…
>>
>> /Staffan
>>
>>>
>>>
>>> Thanks,
>>> Katja
>>>
>>>
>>>
>>> On 04/22/2015 03:09 PM, Staffan Larsen wrote:
>>>> On 22 apr 2015, at 11:17, Yekaterina Kantserova<yekaterina.kantserova at oracle.com <mailto:yekaterina.kantserova at oracle.com>> wrote:
>>>> >>>>>
>>>> >>>>>Hi,
>>>> >>>>>
>>>> >>>>>Could I please have a review of this fix.
>>>> >>>>>
>>>> >>>>>bug:https:// <https:/>bugs.openjdk.java.net/browse/JDK-8059047 <http://bugs.openjdk.java.net/browse/JDK-8059047>
>>>> >>>>>webrev:http:// <http:/>cr.openjdk.java.net/~ykantser/8059047/webrev.00/ <http://cr.openjdk.java.net/%7Eykantser/8059047/webrev.00/>
>>>> >>>>>
>>>> >>>>>This fix is a part of JEP 241: Remove the jhat Tool (https://bugs.openjdk.java.net/browse/JDK-8059039 <https://bugs.openjdk.java.net/browse/JDK-8059039>). I suggest to put parser/validator into common test library since the functionality can be useful not only for SVC tools tests but even for some future GC tests.
>>>> >>>>>
>>>> >>>>>The old jhat packages have been moved as follows:
>>>> >>>>>com.sun.tools.hat.internal.model -> jdk.test.lib.hprof.model
>>>> >>>>>com.sun.tools.hat.internal.parser -> jdk.test.lib.hprof.parser
>>>> >>>>>com.sun.tools.hat.internal.util -> jdk.test.lib.hprof.util
>>>> >>>>>
>>>> >>>>>The source has not been changed except Copyrights year.
>>>> >>>>>
>>>> >>>>>Thanks,
>>>> >>>>>Katja
>>>
>>
>
More information about the hotspot-dev
mailing list