OGL+XAWT: deadlock occurs when Swing calls BufferStrategy.show() on XToolkit thread

XMLWordPrintable

    • Type: Bug
    • Resolution: Fixed
    • Priority: P3
    • 6
    • Affects Version/s: 5.0, 6
    • Component/s: client-libs
    • None
    • 2d
    • b32
    • 6
    • b51
    • generic, x86
    • linux, solaris_9

      With the upcoming "buffer per window" changes, Swing calls
      BufferStrategy.show() on the Toolkit thread. When the OGL pipeline is
      also enabled, this is likely to cause a deadlock. Refer to the following
      diagram:

         XToolkit thread QueueFlusher thread
      - run() (event loop)
        - acquire AWT lock
          - dispatchEvent()
            - ...
              - BS.show()
                - OGLIsoBlit()
                  - need to flush QFT
                    .... - OGLRenderQueue.flushNow()
                                            - acquire AWT lock
                                              (but the lock has already
                                               been grabbed by the XToolkit
                                               thread, so deadlock)

      This is very similar to the deadlock scenario described in 6249101.
      ###@###.### 2005-04-10 02:05:46 GMT

      Attached thread dump (deadlock2.txt).
      ###@###.### 2005-04-11 17:44:07 GMT

            Assignee:
            Christopher Campbell (Inactive)
            Reporter:
            Christopher Campbell (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: