From 2020ca5ba36b2a5dfcee9a26c27ae1be6a87be5c Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 20 May 2016 16:46:29 +0200 Subject: [PATCH] more diagnostics for EA-82730 - assert: TransactionGuardImpl.submitTransactionAndWait --- .../openapi/application/TransactionGuardImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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;