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

java.awt.Desktop.open hangs on Linux when called from FX application thread

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: P4
    • Resolution: Unresolved
    • Affects Version/s: 8, 15, 16, 17
    • Fix Version/s: tbd
    • Component/s: client-libs
    • Labels:
      None
    • Environment:

      JDK 15 (also fails with the latest 17-ea build)
      Ubuntu 20.04 (also fails on Ubuntu 16.04).
      JavaFX 15 (also fails with latest FX 17 ea build)

      Description

      This is a follow-on bug that I discovered while testing the fix for JDK-8210199.

      To reproduce, run the attached test program on Linux. It will hang with a possible deadlock. The FX application thread, which calls Desktop.open, is stuck in "sun.awt.X11.XDesktopPeer.gnome_url_show".

      The complete thread stack dump is attached.

      It's quite possible that the FX glass GTK code is doing something to trigger this.

      This runs fine on macOS and Windows.

      Workaround: wrap the call to Desktop.open in SwingUtilities.invokeLater().

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              azvegint Alexander Zvegintsev
              Reporter:
              kcr Kevin Rushforth
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: