<AWT Dev> [8] Review request for 7160609: [macosx] JDK crash in libjvm.dylib ( C [GeForceGLDriver+0x675a] gldAttachDrawable+0x941)

Anthony Petrov anthony.petrov at oracle.com
Wed Aug 22 06:07:29 PDT 2012


Hi Sergey,

On 8/22/2012 4:38 PM, Sergey Bylokhov wrote:
> 22.08.2012 15:58, Anthony Petrov wrote:
>> Hi Sergey,
>>
>> Thanks for the review. Please find my comments and a new version of 
>> the fix inline.
> Yep it would be good to have a CR that we should refactor 
> CPF.setResizable().

I just filed 7193214.


> Second version looks good, but I cannot be sure about changes in 
> CGLGraphicsConfig.m.

Me neither. I'm not an expert in OpenGL. But this fix works for me.


> How this stuff defend as from the incorrect volatile image creation, 
> does it crash too or it fails with "OGLSD_InitTextureObject: texture 
> dimensions too large"?

It will throw an OOM. The same behavior is observed with Apple JDK.

> Also probably getMaxTextureWidth could be renamed to 
> getMaxSurfaceWidth... etc?

The GL_MAX_TEXTURE_SIZE is about "textures", so I'd like to preserve the 
current name.

--
best regards,
Anthony

>>
>> On 8/21/2012 8:03 PM, Sergey Bylokhov wrote:
>>> Looks like this code is not necessary in jdk8 any more:
>>>
>>>  673         // Re-apply the size constraints and the size to ensure 
>>> the space
>>>  674         // occupied by the grow box is counted properly
>>>  675         peer.updateMinimumSize();
>>
>> There are two reasons I don't want to remove this code now:
>> 1. This same fix needs to be back-ported to 7u8 where this code is 
>> required.
>> 2. After changing the resizable style, native OS may or may not reset 
>> or somehow affect the maximum/minimum sizes of a window, and/or its 
>> real current size. This had best be investigated under a separate CR 
>> for JDK 8.
>>
>>
>>> 21.08.2012 20:01, Sergey Bylokhov пишет:
>>>> Hi,Anthony.
>>>> I guess that getMinimumSize() in the setSizeConstraints should be 
>>>> wrapped with isMinimumSizeSet like it was in LWWindowsPeer, same for 
>>>> getMaximumSize()
>>
>> This makes sense even though the old code didn't do that in 
>> CPW.setMinimumSize(). Here's an updated webrev:
>>
>> http://cr.openjdk.java.net/~anthony/8-40-hugeWindowCrash-7160609.1/
>>
>> -- 
>> best regards,
>> Anthony
>>
>>>>
>>>> 21.08.2012 18:35, Anthony Petrov wrote:
>>>>> Hi Artem and Sergey,
>>>>>
>>>>> Please review a fix for 
>>>>> http://bugs.sun.com/view_bug.do?bug_id=7160609 at:
>>>>>
>>>>> http://cr.openjdk.java.net/~anthony/8-40-hugeWindowCrash-7160609.0/
>>>>>
>>>>> Since OpenGL fails to create a square texture of size 
>>>>> GL_MAX_TEXTURE_SIZE, we use the total screen bounds to limit 
>>>>> possible window sizes on the Mac. Note that this behavior is 
>>>>> consistent with the constraints imposed by the native OS on MS 
>>>>> Windows, so this mustn't look like a Mac-only JDK limitation.
>>>>>
>>>>> -- 
>>>>> best regards,
>>>>> Anthony
>>>>
>>>>
>>>
>>>
> 
> 



More information about the awt-dev mailing list