RFR(S): 8021444: SA: ClassDump.run() should not ignore existing ClassFilter.

Kevin Walls kevin.walls at oracle.com
Mon Aug 5 00:54:38 PDT 2013


Thanks!

On 05/08/13 05:42, Poonam Bajaj wrote:
> Hi Kevin,
>
> The changes look good.
>
> Thanks,
> Poonam
>
> On 7/31/2013 4:00 PM, Kevin Walls wrote:
>>
>> Thanks Yumin -
>>
>> Any further review out there, then I'll get this cleared up...
>>
>> Thanks
>> Kevin
>>
>>
>> On 26/07/13 16:47, Yumin Qi wrote:
>>> Looks good! Thanks for fixing it.
>>>
>>> Yumin
>>>
>>> On 7/26/2013 3:06 AM, Kevin Walls wrote:
>>>>
>>>> Hi again,
>>>>
>>>> That seemed to go OK.  I retitled the bug:
>>>>
>>>> 8021444: SA: ClassDump.run() should not ignore existing ClassFilter.
>>>>
>>>> https://jbs.oracle.com/bugs/browse/JDK-8021444
>>>> http://bugs.sun.com/view_bug.do?bug_id=8021444 (in due time, I 
>>>> expect...)
>>>>
>>>> webrev:
>>>> http://cr.openjdk.java.net/~kevinw/8021444/webrev.00/
>>>>
>>>> For Compiler Replay, CLHSDB uses the ClassDump class to extract 
>>>> classes, and specifically sets its ClassFilter.  That setting was 
>>>> being ignored, and the ClassFilter was re-initialized.
>>>>
>>>>
>>>> Thanks
>>>> Kevin
>>>>
>>>>
>>>>
>>>> On 26/07/13 10:20, Kevin Walls wrote:
>>>>>
>>>>> Hi Yumin,
>>>>>
>>>>> Sure no problem I'll look into it.   Looks like in ClassDump we 
>>>>> should check classFilter != null before doing that initialisation 
>>>>> in the run() method.
>>>>>
>>>>> At the moment trying jtreg on test/compiler/ciReplay I get a 
>>>>> failure in TestSA.sh, as it calls sun.jvm.hotspot.CLHSDB, and 
>>>>> gives the javascript exceptions characteristic of 8011888. 
>>>>> Rebuilding with the suggested new sa.js I see in that bug, I'll 
>>>>> test and let you know...
>>>>>
>>>>> Thanks!
>>>>> Kevin
>>>>>
>>>>>
>>>>>
>>>>> On 26/07/13 02:17, Yumin Qi wrote:
>>>>>> Hi, Kevin
>>>>>>
>>>>>> http://cr.openjdk.java.net/~kevinw/8010278/webrev.03/ 
>>>>>> <http://cr.openjdk.java.net/%7Ekevinw/8010278/webrev.03/>
>>>>>>   I found this fix breaks C2 replay for dumping loaded java classes:
>>>>>>
>>>>>>         at 
>>>>>> sun.jvm.hotspot.tools.jcore.PackageNameFilter.canInclude(PackageNameFilter.java:55)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.tools.jcore.ClassDump.dumpKlass(ClassDump.java:135)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.tools.jcore.ClassDump.access$000(ClassDump.java:38)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.tools.jcore.ClassDump$1.visit(ClassDump.java:106)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.memory.Dictionary.classesDo(Dictionary.java:68)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.memory.SystemDictionary.classesDo(SystemDictionary.java:190)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.tools.jcore.ClassDump.run(ClassDump.java:102)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.DumpLoadedClasses.run(DumpLoadedClasses.java:65)
>>>>>>         at 
>>>>>> sun.jvm.hotspot.DumpLoadedClasses.main(DumpLoadedClasses.java:43)
>>>>>>
>>>>>>   The problem is with Replay, we set BootFilter and NonBootFilter 
>>>>>> for ClassDump, but this changeset ignored the existing filter.
>>>>>>   I filed a bug against this problem.
>>>>>>
>>>>>> https://jbs.oracle.com/bugs/browse/JDK-8021444
>>>>>>
>>>>>> Thanks
>>>>>> Yumin
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>



More information about the serviceability-dev mailing list