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

LogManager unecessarily calls JavaAWTAccess from within a critical section

    Details

      Backports

        Description

        A deadlock involving AppContext, EventQueue, and LogManager.getUserContext() has been reported by JDK-8065709.
        The traces show that LogManager.getUserContext() calls JavaAWTAccess - and henceforth AppContext.getAppContex() from within a synchronized block - when in fact it could be called before entering the critical section.

        Note: This change is not sufficient to completely remove the deadlock: if the LogManager has not been initialized yet, then ensureLogManagerInitialized will end up calling LogManager.getUserContext() from within another critical section, with potentially the same effect. In this second case removing this second critical section is not an option.

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dfuchs Daniel Fuchs
                  Reporter:
                  dfuchs Daniel Fuchs
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: