RFR(xs): 8216559: [JFR] Native libraries not correctly parsed from /proc/self/maps
jesper.wilhelmsson at oracle.com
jesper.wilhelmsson at oracle.com
Fri Jan 11 17:29:38 UTC 2019
Looks good and trivial enough :-)
/Jesper
> On 11 Jan 2019, at 18:15, Severin Gehwolf <sgehwolf at redhat.com> wrote:
>
> Hi,
>
> On Fri, 2019-01-11 at 08:43 -0800, Markus Gronlund wrote:
>> Hi Severin,
>>
>> Looks good, thanks for fixing.
>
> Thanks for the review, Markus!
>
> Any other reviewers or is this trivial enough for me to push with 1
> review?
>
> Thanks,
> Severin
>
>> Markus
>>
>> -----Original Message-----
>> From: Severin Gehwolf <sgehwolf at redhat.com>
>> Sent: den 11 januari 2019 14:35
>> To: hotspot-dev <hotspot-dev at openjdk.java.net>;
>> hotspot-jfr-dev at openjdk.java.net
>> Subject: RFR(xs): 8216559: [JFR] Native libraries not correctly
>> parsed from /proc/self/maps
>>
>> Hi,
>>
>> Could I please get a review of this tiny fix for native libraries
>> parsing from /proc/<pid>/maps? It's a Linux-only change and seems to
>> surface only on certain systems (with 3-digit device ids in /proc).
>> The issue has been noticed since TestNativeLibrariesEvent.java was
>> failing for me.
>>
>> What's the problem? The Linux impl of os::get_loaded_modules_info
>> reads /proc/self/maps and scans each line into variables via
>> sscanf(). The format for the device pointer allowed up to 5
>> characters. In my case it was 6 characters long. As a result, the
>> last digit of the device id got interpreted as inode value and the
>> inode value as name. Thus, the failing test was showing strange
>> library names like "25847051".
>>
>> According to the spec, major:minor device numbers may be up to 3-
>> digits in length. Hence, I propose to change the format from '%5s' to
>> '%7s': 3 digits for major/minor each, plus one for ':'.
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8216559
>> webrev:
>> http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8216559/webrev.01/
>>
>> Testing: jdk_jfr tests on Linux x86_64 including
>> TestNativeLibrariesEvent.java
>> which now passes.
>>
>> Thoughts?
>>
>> Thanks,
>> Severin
>>
>
More information about the hotspot-jfr-dev
mailing list