[OpenJDK 2D-Dev] Segment fault when loading sun.font.StrikeCache at first
Charles Lee
littlee at linux.vnet.ibm.com
Tue Mar 20 02:37:15 UTC 2012
On 03/16/2012 04:06 PM, Steve Poole wrote:
> On 14/03/2012 13:00, Phil Race wrote:
>> On 3/13/12 10:13 PM, Charles Lee wrote:
>>> Hi Phil,
>>>
>>> I guess it is
>>>
>>> "sun.font.StrikeCache.getStrikeRef(null);"
>>>
>>> "getStrikeRef" is a public api from a public class in a not so
>>> public package.:-)
>>
>> No, its not a public API. Its internal and private to the JDK.
>> Any app calling it directly gets what it deserves.
>>>
>>> Here is the story:
>>> The problem is emitted from one of our VM classloading robust test
>>> case. The patch is trivial, but since it will cause VM crash, I am
>>> trying to give it a shot.
>>
>> No, its completely unnecessary, There's probably a gazillion places that
>> code expects to be called in a certain order.
>>
>> Bottom line: the test case isn't valid, and so/nor is the patch so
>> its rejected.
>>
> That was my original thought too when I saw the problem BUT this is a
> quality issue and potentially a DNS type exposure. Any found example
> of a Java call that crashes the VM needs to be fixed. I don't
> believe that the fact that there may be other examples is relevant.
>
>
Yes. It just a little tiny fix which fix the VM crash. Phil, would you
please give this fix a chance?
>
>> -phil.
>>
>>>
>>>
>>> On 03/14/2012 01:40 AM, Phil Race wrote:
>>>> Do you have a public API level program that exhibits this ?
>>>>
>>>> I don't consider the internal test you provide as a valid execution
>>>> path
>>>> that needs this attention.
>>>>
>>>> -phil.
>>>>
>>>> On 3/13/12 12:16 AM, Charles Lee wrote:
>>>>> Hi guys,
>>>>>
>>>>> I have create a sunbug @
>>>>> http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7153293
>>>>>
>>>>> It is mainly about:
>>>>> When loading sun.font.StrikeCache before sun.font.SunFontManager
>>>>> (or something else), there will be an UnsatisfiedLinkError thrown.
>>>>> The reason is there is a native call in its static initialize
>>>>> block, but the native library is not loaded in yet.
>>>>> The problem will do harm, if user load SunFontManager after
>>>>> failing on loading StrkeCache. You will see a VM crash occurred.
>>>>> The problem will do more harm, because user can never load
>>>>> StrikeCache, SunLayoutEngine successfully.
>>>>>
>>>>> The patch is @
>>>>> http://cr.openjdk.java.net/~littlee/7153293/webre.00/
>>>>> <http://cr.openjdk.java.net/%7Elittlee/7153293/webre.00/>
>>>>> It is straightforward. Just loading the native library at the
>>>>> beginning of static initializer of StrikeCache.
>>>>>
>>>>> Would anyone help to review this?
>>>>>
>>>>
>>>
>>>
>>
>
--
Yours Charles
More information about the 2d-dev
mailing list