hhu-stups / prob-issues

ProB issues (for probcli, ProB Tcl/Tk, ProB2, ProB2UI)
6 stars 0 forks source link

Exceptions regarding saved Traces in ProB2-UI #360

Closed cobizobi closed 1 month ago

cobizobi commented 1 month ago

When the loading of a machine fails, but I double click on a linked trace to replay the trace: (maybe trace replay should be disabled or show a better message)

java.lang.NullPointerException: Cannot invoke "de.prob.statespace.Trace.getStateSpace()" because "trace" is null
    at de.prob2.ui.sharedviews.CheckingViewBase.getCurrentExecutionContext(CheckingViewBase.java:212)
    at de.prob2.ui.sharedviews.CheckingViewBase.executeItem(CheckingViewBase.java:265)
    at de.prob2.ui.sharedviews.CheckingViewBase.executeItemIfEnabled(CheckingViewBase.java:274)
    at de.prob2.ui.sharedviews.CheckingViewBase$RowBase.lambda$new$0(CheckingViewBase.java:59)

If the loading of the machine succeeded but the trace file of a linked trace no longer exists, I get an exception in addition to the correct dialog:

java.util.concurrent.CompletionException: de.prob.exception.ProBError: Prolog said no.
ProB returned error messages:
Error: JSON file does not exist: {...}.prob2trace
    at java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:332)
    at java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:347)
    at java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:874)
    at java.base/java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841)
    at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
    at java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2194)
    at de.prob2.ui.internal.executor.CompletableFutureTask$1.done(CompletableFutureTask.java:31)
    at java.base/java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:434)
    at java.base/java.util.concurrent.FutureTask.setException(FutureTask.java:303)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:322)
    at de.prob2.ui.internal.executor.CompletableFutureTask.run(CompletableFutureTask.java:40)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
    at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: de.prob.exception.ProBError: Prolog said no.
ProB returned error messages:
Error: JSON file does not exist: {...}.prob2trace
    at de.prob.animator.command.AbstractCommand.processErrorResult(AbstractCommand.java:113)
    at de.prob.animator.AnimatorImpl.execute(AnimatorImpl.java:197)
    at de.prob.animator.ReusableAnimator.execute(ReusableAnimator.java:189)
    at de.prob.animator.ReusableAnimator$InternalAnimator.execute(ReusableAnimator.java:60)
    at de.prob.statespace.StateSpace.execute(StateSpace.java:703)
    at de.prob.check.tracereplay.TraceReplay.replayTraceFile(TraceReplay.java:20)
    at de.prob2.ui.animation.tracereplay.TraceChecker.checkNoninteractiveInternal(TraceChecker.java:55)
    at de.prob2.ui.animation.tracereplay.TraceChecker.checkNoninteractive(TraceChecker.java:76)
    at de.prob2.ui.animation.tracereplay.ReplayTrace.execute(ReplayTrace.java:221)
    at de.prob2.ui.verifications.ICliTask.lambda$execute$0(ICliTask.java:24)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    ... 4 more