RFR(S) 8193318: ELF decoder should be able to use external debug info file
Zhengyu Gu
zgu at redhat.com
Wed Mar 14 12:36:21 UTC 2018
Hi Coleen,
On 03/14/2018 07:52 AM, coleen.phillimore at oracle.com wrote:
>
> Hi, I looked at this and I really wasn't happy with all this extra code
> going into the JVM. And I don't know this code. There's a large hex
> table in this file:
>
> http://cr.openjdk.java.net/~zgu/8193318/webrev.00/src/hotspot/os/linux/decoder_linux.cpp.udiff.html
>
There is already similar code in SA. If there is a way to consolidate
the implementation, I would happy to do so. Any suggestions?
>
> This seems like something that will be painful to maintain. Can the SA H
> be used for the cases where the binary is stripped?
SA might help debugging crash (assuming we can get core file), but does
not help with NMT.
I believe that
> Oracle ships with minimal stripping so that we have these symbols, why
> don't all suppliers? I don't really like this change.
>
Yes, Oracle JDK does not have this issue.
I can not answer why some Linux distributions packaging jdk bundle in
such way, or if can ship minimal debug symbols in production bundle. But
it certainly makes supporting OpenJDK much harder without this change.
Thanks,
-Zhengyu
> Thanks,
> Coleen
>
> On 3/8/18 11:12 AM, Zhengyu Gu wrote:
>> Ping! I can get formal review?
>>
>> Thanks,
>>
>> -Zhengyu
>>
>>
>> On 02/23/2018 12:26 PM, Zhengyu Gu wrote:
>>> Thanks, Aleksey.
>>>
>>> On 02/23/2018 12:01 PM, Aleksey Shipilev wrote:
>>>> On 02/15/2018 06:59 PM, Zhengyu Gu wrote:
>>>>> This Linux only patch allows OpenJDK Linux distributions, which
>>>>> strip out debug symbols in
>>>>> production bundles, to use external debuginfo bundles, if present,
>>>>> to decode stacks.
>>>>>
>>>>> The implementation mirrors SA implementation [1][2]. It has minimal
>>>>> impact to Oracle's JDK, which
>>>>> always contains symbol tables.
>>>>>
>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8193318
>>>>> Webrev: http://cr.openjdk.java.net/~zgu/8193318/webrev.00/
>>>>
>>>> Looks OK on my untrained eye.
>>>>
>>>> *) I am wondering if we can merge the existing implementation in
>>>> src/jdk.hotspot.agent/linux/native/libsaproc/symtab.c and this
>>>> mirror implementation in
>>>> src/hotspot/os/linux/decoder_linux.cpp? Notably, moving
>>>> gnu_debuglink_crc32 to some shared file
>>>> would trim down the change.
>>>
>>> Yes, but I don't know if there is a way.
>>>
>>>>
>>>> Andrew Haley knows this better, as he is the author of the related
>>>> change.
>>>
>>> Cc'ed Andrew Haley.
>>>
>>> -Zhengyu
>>>
>>>
>>>
>>>>
>>>> Thanks,
>>>> -Aleksey
>>>>
>
More information about the hotspot-runtime-dev
mailing list