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.usha...@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 > >