RFR: 8062771: Core reflection should use final fields whenever possible

Peter Levart peter.levart at gmail.com
Mon Nov 10 16:13:08 UTC 2014


On 11/07/2014 11:48 PM, Martin Buchholz wrote:
> Hi Joel,
>
> Thanks for volunteering.  I foisted all I have in
>
> https://bugs.openjdk.java.net/browse/JDK-8064391
>
> I volunteer to be your reviewer for the backports.

Hi Martin,

Sorry I haven't checked this earlier, but there are still some data 
races left-behind:

http://cr.openjdk.java.net/~plevart/jdk9-dev/GenericsReflectionRaces/webrev.01/

Mainly the fact that lazy initialization uses arrays which are published 
unsafely.

Would this need a separate issue. For example: "Core reflection should 
use volatile fields whenever necessary" ?


Regards, Peter

>
> On Fri, Nov 7, 2014 at 1:36 PM, Joel Borggrén-Franck
> <joel.franck at oracle.com> wrote:
>> Hi Martin,
>>
>> Thanks for the clarification.
>>
>> On 6 nov 2014, at 20:51, Martin Buchholz <martinrb at google.com> wrote:
>>
>>> Hi Joel,
>>>
>>> On Thu, Nov 6, 2014 at 2:48 AM, Joel Borggrén-Franck
>>> <joel.franck at oracle.com> wrote:
>>>> Hi,
>>>>
>>>> I’m having a hard time following this thread, which webrev has been updated, for which release, fixing which issue?
>>> I am submitting the changeset for JDK-8062771, adding the finals and
>>> the (failed reproduction) test.
>>> Hopefully there will be followon changes to add even more thread safety.
>>>
>> Great.
>>
>> Are we sure the accidental fix of making ClassRepository volatile is good on all platforms? I can’t establish the happens before relations that would prove the fix but then again I’m not an expert on concurrency.
>>
>>>> Martin, as far as I can see you are the only one of us who has replied to this thread who is a jdk7u committer (or reviewer).
>>> I am entirely in favor of having more reviewers.
>>>
>>> We are not planning to push these into jdk7u or jdk8u ourselves, but
>>> we are willing to help anyone who wants to take on that task.  Joel,
>>> are you volunteering?
>>> We believe all versions of stock openjdk still have (rarely seen)
>>> thread safety issues in core reflection. We have applied changes
>>> locally at Google to fix those.
>>>
>> I’ll take care of 8u, and I can hunt down someone to fix this in 7u if we can find a suitable reviewer (sigh).
>>
>> cheers
>> /Joel
>>
>>




More information about the core-libs-dev mailing list