[PATCH] 6822627: NPE at ReferenceTypeImpl.constantPool

Martin Buchholz martinrb at google.com
Thu Jul 14 17:06:41 UTC 2016


The lack of volatile or synchronization, plus the use of multiple mutable
fields, suggests that a deeper fix is necessary to be truly correct.  For
comparison, much of the similar code implementing reflection has been
changed to use volatile.  But that's a big job, for the serviceability team.

On Thu, Jul 14, 2016 at 2:33 AM, Egor Ushakov <egor.ushakov at jetbrains.com>
wrote:

> Hi,
>
> I'm a developer from IDEA debugger (we have company OCA).
> We've increased usage of ReferenceTypeImpl.constantPool and now facing
> JDK-6822627 more often.
> Please review and sponsor the fix.
>
> The problem was that constantPoolBytesRef SoftReference value coud be
> GCed and there was no check for that.
> I've added it to the check inside getConstantPoolInfo to request the
> bytes again in this case.
>
> BUGURL: https://bugs.openjdk.java.net/browse/JDK-6822627
> WEBREV: http://cr.openjdk.java.net/~avu/JDK-6822627/webrev.00/
>
> Thanks!
>
> --
> Egor Ushakov
> Software Developer
> JetBrains
> http://www.jetbrains.com
> The Drive to Develop
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/serviceability-dev/attachments/20160714/bca6d7fb/attachment.html>


More information about the serviceability-dev mailing list