Tla+ TLA和x2B;工具箱意外异常

Tla+ TLA和x2B;工具箱意外异常,tla+,Tla+,我正在学习TLA+,正在运行讲座示例代码 EXTENDS Integers VARIABLES i, pc Init == (pc = "start") /\ (i = 0) Pick == /\ pc = "start" /\ i' \in 0..1000 /\ pc' = "middle" Add1 == /\ pc = "middle" /\ i' = i + 1 /\ pc' = "done" Next == Pic

我正在学习TLA+,正在运行讲座示例代码

EXTENDS Integers
VARIABLES i, pc

Init == (pc = "start") /\ (i = 0)

Pick == /\ pc = "start"
        /\ i' \in 0..1000
        /\ pc' = "middle"

Add1 == /\ pc = "middle"
        /\ i' = i + 1
        /\ pc' = "done"

Next == Pick \/ Add1
但是我遇到了意外的异常错误,比如

尝试加载自定义FPSet类失败:tlc2.tool.fp.OffHeapDiskFPSet TLC引发了意外的异常。 这可能是由规范或模型中的错误引起的。 查看用户输出或TLC控制台以了解发生的情况。 异常是java.util.concurrent.ExecutionException :java.lang.NullPointerException

和用户输出:

java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
    at tlc2.tool.fp.FPSetFactory.loadImplementation(FPSetFactory.java:206)
    at tlc2.tool.fp.FPSetFactory.getFPSet(FPSetFactory.java:109)
    at tlc2.tool.fp.MultiFPSet.getNestedFPSets(MultiFPSet.java:68)
    at tlc2.tool.fp.MultiFPSet.<init>(MultiFPSet.java:61)
    at tlc2.tool.fp.FPSetFactory.getFPSet(FPSetFactory.java:105)
    at tlc2.tool.fp.FPSetFactory$1.call(FPSetFactory.java:136)
    at tlc2.tool.fp.FPSetFactory$1.call(FPSetFactory.java:1)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.OutOfMemoryError
    at java.base/jdk.internal.misc.Unsafe.allocateMemory(Unknown Source)
    at jdk.unsupported/sun.misc.Unsafe.allocateMemory(Unknown Source)
    at tlc2.tool.fp.LongArray.<init>(LongArray.java:79)
    at tlc2.tool.fp.OffHeapDiskFPSet.<init>(OffHeapDiskFPSet.java:138)
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
    at tlc2.tool.fp.FPSetFactory.loadImplementation(FPSetFactory.java:206)
    at tlc2.tool.fp.FPSetFactory.getFPSet(FPSetFactory.java:109)
    at tlc2.tool.fp.MultiFPSet.getNestedFPSets(MultiFPSet.java:68)
    at tlc2.tool.fp.MultiFPSet.<init>(MultiFPSet.java:61)
    at tlc2.tool.fp.FPSetFactory.getFPSet(FPSetFactory.java:105)
    at tlc2.tool.fp.FPSetFactory$1.call(FPSetFactory.java:136)
    at tlc2.tool.fp.FPSetFactory$1.call(FPSetFactory.java:1)
    at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.OutOfMemoryError
    at java.base/jdk.internal.misc.Unsafe.allocateMemory(Unknown Source)
    at jdk.unsupported/sun.misc.Unsafe.allocateMemory(Unknown Source)
    at tlc2.tool.fp.LongArray.<init>(LongArray.java:79)
    at tlc2.tool.fp.OffHeapDiskFPSet.<init>(OffHeapDiskFPSet.java:138)
    ... 15 more

您的规范文件是否以模块行开头? 即:

-------------------------------模块MySpec-------------------------------

如果文件是MySpec.tla


有了它,我可以使用TLA+工具箱版本1.6.1中的TLC和tla2tools.jar(命令行)中的TLC 2.14执行模型检查(pc=“done”)。注意:由于口吃而失败。

您的规范文件是否以模块行开头? 即:

-------------------------------模块MySpec-------------------------------

如果文件是MySpec.tla


有了它,我可以使用TLA+工具箱版本1.6.1中的TLC和tla2tools.jar(命令行)中的TLC 2.14执行模型检查(pc=“done”)。注意:由于口吃而失败。

您的机型配置是什么?@AntonTrunov这是默认配置。已检查死锁。这就是我所能看到的。@drerD“高级选项”选项卡/页面上的设置是什么?@M.K.我用显示选项的图像更新了问题。抱歉,我无法复制它。这就是我正在使用的:“TLA+工具箱为TLA+工具提供了一个用户界面。这是2019年7月10日的1.6.0版,包括:-三一重工2017年7月23日的2.1版操作系统:Mac OS X,v.10.14.6,x86_64/cocoa Java版本:11.0.3”您的模型配置是什么?@AntonTrunov这是默认设置。已检查死锁。这就是我所能看到的。@drerD“高级选项”选项卡/页面上的设置是什么?@M.K.我用显示选项的图像更新了问题。抱歉,我无法复制它。这就是我正在使用的:“TLA+工具箱为TLA+工具提供了用户界面。这是2019年7月10日的1.6.0版,包括:-三一重工2017年7月23日的2.1版操作系统:Mac OS X,v.10.14.6,x86_64/cocoa Java版本:11.0.3”
 This is Version 1.6.0 of 10 July 2019 and includes:
  - SANY Version 2.1 of 23 July 2017
  - TLC Version 2.14 of 10 July 2019
  - PlusCal Version 1.9 of 10 July 2019
  - TLATeX Version 1.0 of 20 September 2017