RFR: 8258836: JNI local refs exceed capacity getDiagnosticCommandInfo [v4]
Chris Plummer
cjplummer at openjdk.java.net
Wed Jan 20 21:38:48 UTC 2021
On Wed, 20 Jan 2021 21:27:08 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
>> Severin Gehwolf has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains six additional commits since the last revision:
>>
>> - Merge branch 'master' into JDK-8258836-check-jni-mbeanserver
>> - Actually assign the variable returned from PopLocalFrame
>> - Merge test files into one
>> - Adress review feedback from dholmes
>> - Merge branch 'master' into JDK-8258836-check-jni-mbeanserver
>> - 8258836: JNI local refs exceed capacity getDiagnosticCommandInfo
>
> There are serveral places where EXCEPTION_CHECK_AND_FREE is called while there is a pending PushLocalFrame (or 2). Corresponding PopLocalFrames are needed if there was an exception. The error handling has already proven somewhat tricky and error prone. This just makes it worse. I'm not sure if there is a good solution to this, or just continue adding PopLocalFrames in more places.
I wonder if you actually have to call PopLocalFrame before returning. I couldn't find anything in the spec that indicates you need too. But there's no indication that you don't either.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2130
More information about the serviceability-dev
mailing list