diff --git a/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java b/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java index 884a66ad51d6..ad78e6c8fa15 100644 --- a/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java +++ b/platform/core-impl/src/com/intellij/openapi/application/TransactionGuardImpl.java @@ -144,9 +144,13 @@ public class TransactionGuardImpl extends TransactionGuard { if (app.isDispatchThread()) { Transaction transaction = new Transaction(runnable, getContextTransaction(), app); if (!canRunTransactionNow(transaction, true)) { - LOG.error("Cannot run synchronous submitTransactionAndWait from invokeLater. " + - "Please use asynchronous submit*Transaction. " + - "See TransactionGuard FAQ for details. Transaction: " + runnable); + String message = "Cannot run synchronous submitTransactionAndWait from invokeLater. " + + "Please use asynchronous submit*Transaction. " + + "See TransactionGuard FAQ for details.\nTransaction: " + runnable; + if (!isWriteSafeModality(ModalityState.current())) { + message += "\nUnsafe modality: " + ModalityState.current(); + } + LOG.error(message); } runSyncTransaction(transaction); return;