RFR: JDK-8174994: SA: clhsdb printmdo throws WrongTypeException when attached to a process with CDS
Jini George
jini.george at oracle.com
Wed Apr 18 17:22:59 UTC 2018
Thank you very much for the reviews, Coleen and Ioi. I have filed the RFE.
-Jini.
On 4/17/2018 11:09 AM, Ioi Lam wrote:
> The changes look good to me.
>
> I agree with Coleen. Maybe FileMapHeader should be moved to a common
> file that can be included in all the ps_core files, as well as the VM's
> filemap.hpp?
>
> Thanks
>
> - Ioi
>
>
> On 4/13/18 8:35 AM, coleen.phillimore at oracle.com wrote:
>>
>> This change seems good.
>>
>> http://cr.openjdk.java.net/~jgeorge/8174994/webrev.00/src/jdk.hotspot.agent/linux/native/libsaproc/ps_core.c.udiff.html
>>
>>
>> It seems that you have three copies of this code. Can you file an RFE
>> to consolidate these?
>>
>> thanks,
>> Coleen
>>
>> On 4/12/18 12:21 AM, Jini George wrote:
>>> Ping: Gentle reminder !
>>>
>>> Thanks,
>>> Jini.
>>>
>>> On 4/6/2018 9:51 PM, Jini George wrote:
>>>> Hello!
>>>>
>>>> Requesting reviews for:
>>>> https://bugs.openjdk.java.net/browse/JDK-8174994
>>>> Webrev: http://cr.openjdk.java.net/~jgeorge/8174994/webrev.00/
>>>>
>>>> While trying to identify the type given an address, a
>>>> WrongTypeException was getting thrown with various clhsdb commands
>>>> (like printmdo, jstack, etc). This was since SA tries to map an
>>>> address to a hotspot C++ type by comparing the vtable address to the
>>>> vtable address values of known types. With CDS, since the vtables
>>>> are copied over for the Metadata classes, the vtable addresses
>>>> themselves don't match (though, of course, the contents will), and
>>>> SA errors out.
>>>>
>>>> The fix has been implemented by making changes to read in the md
>>>> region (consisting of the c++ vtables) of the CDS archive in SA, and
>>>> mapping the vtable addresses to the corresponding metadata type
>>>> (ConstantPool, InstanceKlass, InstanceClassLoaderKlass,
>>>> InstanceMirrorKlass, InstanceRefKlass, Method, ObjArrayKlass,
>>>> TypeArrayKlass).
>>>>
>>>> For corefiles, an additional modification has been done to have the
>>>> replicated FileMapHeader structure (from
>>>> src/hotspot/share/memory/filemap.hpp, which is replicated in SA in
>>>> ps_core.c), to be in sync with the corresponding definition in
>>>> src/hotspot/share/memory/filemap.hpp.
>>>>
>>>> Test cases to test both live and corefile debugging are being added
>>>> with this. These and other SA tests pass on Mach5.
>>>>
>>>> Thanks,
>>>> Jini.
>>
>
More information about the serviceability-dev
mailing list