RFR: 8261702: ClhsdbFindPC can fail due to PointerFinder incorrectly thinking an address is in a .so

Chris Plummer cjplummer at openjdk.java.net
Tue Feb 16 21:46:43 UTC 2021


On Tue, 16 Feb 2021 21:29:23 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:

>> Looks good.
>
> While I was characterizing:
> 
>     JDK-8261844 serviceability/sa/ClhsdbFindPC.java#id1 failed with "'In code in NMethod for LingeredAppWithTrivialMain.main' missing from stdout/stderr"
> 
> I determined that I could easily reproduce serviceability/sa/ClhsdbFindPC.java failures
> on my Ubuntu 16.04 test machine. I've applied this version of this PR:
> 
> $ git log HEAD^!
> commit fea1ed851ce6a93030169e7de0daac2c2ac12a31 (HEAD -> pull/2562)
> Author: Chris Plummer <chris.plummer at oracle.com>
> Date:   Sat Feb 13 19:02:24 2021 +0000
> 
>     Check if addr is in DSO last to avoid finding addr in DSO when it is not due to DSO.size() returning too large of a value.
> 
> and retested. I no longer see serviceability/sa/ClhsdbFindPC.java failures.
> I did a total of 6 runs (X3 configs) and there were no failures.

@dcubed-ojdk Can you also try pull/2563. It's for https://bugs.openjdk.java.net/browse/JDK-8261710, which is an attempt at a more proper fix for this bug (this PR is just avoiding the real issue, which is an incorrect DSO size calculation.)

-------------

PR: https://git.openjdk.java.net/jdk/pull/2562


More information about the serviceability-dev mailing list