我正在为分析问题编写数学模块。所有文件都编译为 .fasl。这些文件的大小逐渐增加,并添加了新文件。我今天在加载一个模块 load("foo.mac") ~0.4s 加载 100+ 个文件和另一个 200+ 的模块时遇到了一个问题,它在没有预先计算的情况下声明函数和变量。
错误:Thread local storage exhausted fatal error encountered is SBCL pid %PRIMITIVE HALT called; the party is over. Welcome to LDB..
此时CPU和RAM指标稳定
没有帮助maxima -X '--dynamic-space-size 2048'
,4096 - 默认情况下也是 1024。为什么它不起作用?
SBCL + Windows = 正常工作。SBCL 1.4.5.debian + Linux (server) 抛出此错误。但是,如果我稍微减小文件的大小,就会加载模块。
我重新编译了文件,检查了所有的.UNLISP。更改了上传文件的顺序,但在加载列表中最新的文件时出错。测试运行没有错误。有一些方法可以通过 SBCL、Maxima 增加“本地存储”的数量?往哪个方向移动?有任何想法吗
更新:通过删除重复的代码 matchdeclare(..) 显着减少了负载。现在没有观察到错误。