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

JLightweightFrame needs another synchronization policy

    Details

    • Introduced In Version:
      8
    • Resolved In Build:
      b91
    • OS:
      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

            • Assignee:
              ant Anton Tarasov
              Reporter:
              ant Anton Tarasov
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: