diff --git a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/mgr/BackgroundCommandTask.java b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/mgr/BackgroundCommandTask.java index a5d51e6a15..aa3af9b815 100644 --- a/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/mgr/BackgroundCommandTask.java +++ b/Ghidra/Framework/Project/src/main/java/ghidra/framework/plugintool/mgr/BackgroundCommandTask.java @@ -17,6 +17,7 @@ package ghidra.framework.plugintool.mgr; import java.rmi.ConnectException; +import db.NoTransactionException; import db.TerminatedTransactionException; import ghidra.framework.cmd.BackgroundCommand; import ghidra.framework.model.*; @@ -35,7 +36,6 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener { private BackgroundCommand cmd; private ToolTaskManager taskMgr; private UndoableDomainObject obj; - private TaskMonitor taskMonitor; private boolean doneQueueProcessing; @@ -119,7 +119,6 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener { if (isUnrecoverableException(t)) { monitor.cancel(); taskMgr.clearTasks(obj); - return; } else if (!(t instanceof RollbackException)) { String message = @@ -156,6 +155,7 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener { //@formatter:off return t instanceof ConnectException || + t instanceof NoTransactionException || t instanceof TerminatedTransactionException || t instanceof DomainObjectLockedException || t instanceof ClosedException; @@ -164,6 +164,7 @@ class BackgroundCommandTask extends Task implements AbortedTransactionListener { @Override public void transactionAborted(long transactionID) { + Msg.warn(this, "Forced abort of background task transaction"); taskMonitor.cancel(); }