RFR: 8240956: SEGV in DwarfParser::process_dwarf after JDK-8234624

Yasumasa Suenaga suenaga at oss.nttdata.com
Sat Mar 14 01:35:35 UTC 2020


Hi all,

Please review this change:

   JBS: https://bugs.openjdk.java.net/browse/JDK-8240956
   webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8240956/webrev.00/

JDK-8234624 introduced DWARF parser in SA for unwinding native frames in jstack mixed mode.
However some error has seen intermittently after that.

I investigated the cause of this, I found two concerns:

   A: lack of buffer (.eh_frame section data) range check
   B: Language personality routine and Language Specific Data Area (LSDA) are not considered

I addd range check for .eh_frame processing, and ignore personality routine and LSDA in this webrev.
Also I added bailout code if DWARF processing is failed due to these concerns.

This change has passed all tests on submit repo (mach5-one-ysuenaga-JDK-8240956-20200313-1518-9434671),
also I tested it on my Fedora 31 box and Oracle Linux 7.7 container.


Thanks,

Yasumasa


More information about the serviceability-dev mailing list