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

JLightweightFrame needs another synchronization policy

    XMLWordPrintable

Details

    • 8
    • b91
    • os_x

    Description

      Current synchronization policy used by JLF may lead to a deadlock which is hard or even impossible to effectively resolve on the client side. JFX SwingNode faces it on Mac:

      https://javafx-jira.kenai.com/browse/RT-29917

      The deadlock is mostly caused by the fact the the paintLock is acquired by JLF during the whole paintComponent execution. The latter in its turn may invoke synchronous native methods. As a result EDT becomes blocked (waiting fot AppKit thread) along with holding the paintLock. At the same time the client (SwingNode in this case) may try to acquire the lock while it blocks AppKit thread. (See the referenced jira issue for more details).

      Attachments

        Activity

          People

            ant Anton Tarasov (Inactive)
            ant Anton Tarasov (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: