[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    [OpenJDK 2D-Dev] Segment fault when loading sun.font.StrikeCache at first
From:       littlee () linux ! vnet ! ibm ! com (Charles Lee)
Date:       2012-03-20 2:37:15
Message-ID: 4F67ED5B.4070008 () linux ! vnet ! ibm ! com
[Download RAW message or body]

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic