RFR: 8060130: Simplify the synchronization of defining and getting java.lang.Package
Mandy Chung
mandy.chung at oracle.com
Wed Oct 15 18:08:16 UTC 2014
On 10/15/2014 5:43 AM, David M. Lloyd wrote:
> On 10/14/2014 07:22 PM, Mandy Chung wrote:
>>
>> On 10/13/2014 5:50 AM, David M. Lloyd wrote:
>>>
>>> I have a little more information on this subject. We've a possible
>>> (and somewhat likely) deadlock which occurs because one thread can
>>> attempt to define a system class while holding the
>>> java.lang.Package#pkgs lock, while another thread can attempt to get a
>>> package while defining a system class (while holding the class loader
>>> lock). I do not recall whether parallel class loading alleviates this
>>> issue. We solved the problem by loading Packages.getPackages() in
>>> early (single-threaded) bootstrap.
>>>
>>
>> Do you recall what JDK version you observed this possible deadlock? I
>> wonder if the fix for 7001933 [1] in JDK 7 and 6u25 resolved the
>> deadlock problem you ran into.
>>
>> [1] http://hg.openjdk.java.net/jdk9/dev/jdk/rev/4a7da412db38
>
> The change would have been observed in early 2011 so I think it was
> probably a JDK 6 version before 25 (which I did not install until
> April of that year) - looks like most likely candidate based on my JDK
> directory is 1.6.0_22.
>
Thanks. It's possible that it's the same deadlock issue.
Mandy
More information about the core-libs-dev
mailing list