Thanks Sergey.

On 10/11/18, 5:43 PM, "Sergey Bylokhov" <sergey.bylok...@oracle.com> wrote:

    Hi, Bill.
    
    The similar bug was reported recently:
    https://bugs.openjdk.java.net/browse/JDK-8211992
    
    The root cause is how we use CoreGraphics display ID. This identifier can 
become non-valid at any time therefore methods, which is using this id should 
be ready to it.
    
    And this bug found a few places which does not take care about the rule 
above.
    
    I am working on the fix for jdk12.
    
    On 10/10/2018 08:45, Bill York wrote:
    > 2d-dev folks,
    > 
    > I work on a product called MATLAB and we have about 60 reports from 
customers on Mac related to a crash in CGraphicsDevice.m
    > 
    > Please let  me know if this is the right way to report a crash and 
discuss getting it resolved.
    > 
    > Here are the details:
    > 
    > CGraphicsDevice.m is a native file in support of Java drawing and gets 
called from Java_sun_awt_CGraphicsDevice_nativeGetDisplayMode
    > 
    > While I can’t reproduce the problem, it looks like the display pointer is 
becoming invalid for a time when the user’s laptop opens or closes.
    > 
    > Looking at this source code:
    > 
    > 
http://cr.openjdk.java.net/~serb/8000629/webrev.08/src/macosx/native/sun/awt/CGraphicsDevice.m.html
    > 
    > I see a direct call to CFStringCompare without a check for a NULL 
CFStringRef.
    > 
    >   * (CFStringCompare(mode, CFSTR(kIO30BitDirectPixels), 
kCFCompareCaseInsensitive) == kCFCompareEqualTo)
    > 
    > I believe if this code returned 0, the crash would not occur though there 
may be some other cleanup in the surrounding call frames.
    > 
    > Bill
    > 
    
    
    -- 
    Best regards, Sergey.
    
    

Reply via email to