Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8182884

[macos] CGLLayer.m copyCGLContextForPixelFormat appears to leak OpenGL contexts

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P3
    • Resolution: External
    • Affects Version/s: 8, 9
    • Fix Version/s: 10
    • Component/s: client-libs
    • Labels:
    • Subcomponent:
    • CPU:
      x86
    • OS:
      os_x

      Description

      I'm running a netbeans based app on a new iMac and I'm seeing a problem where the rendering of a tree view causes me to run out of OpenGL contexts. Basically if I wave my mouse over this tree view I can see the number of OpenGL Contexts being increasing in the OpenGL Driver Monitor. Once it gets to around 450 my whole machine hang and eventually recovers, though I've had to log in remotely and kill the process a few times. I can see the method

      - (CGLContextObj)copyCGLContextForPixelFormat:(CGLPixelFormatObj)pixelFormat {
          CGLContextObj contextObj = NULL;
          CGLCreateContext(pixelFormat, sharedContext.CGLContextObj, &contextObj);
          return contextObj;
      }

      that creates it but I don't see a matching releaseCGLPixelFormat as described in https://developer.apple.com/documentation/quartzcore/caopengllayer. I've confirmed in the debugger that copyCGLContextForPixelFormat is where it is created. How is this context supposed to be reclaimed?

        Attachments

          Activity

            People

            Assignee:
            serb Sergey Bylokhov
            Reporter:
            never Tom Rodriguez
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: