RFR(S) 8193318: ELF decoder should be able to use external debug info file

Zhengyu Gu zgu at redhat.com
Wed Mar 14 14:37:01 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 
> 
> 
> This seems like something that will be painful to maintain.  Can the SA 
> be used for the cases where the binary is stripped?  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.

A discussion with Andrew Haley:

The problem is RPM: it doesn't allow us to have partially-stripped
binaries.  This has been a problem to us for years.  If we could patch
RPM to allow the minimal debug symbols through that would reduce the
problem, but right now RPM can't do that.


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