编译期间Sbcl内存分配问题

问题描述 投票:0回答:1

对 common lisp 来说相当陌生。我正在尝试编译一个程序

(sb-ext:save-lisp-and-die "my-app.exe" :toplevel #'my-app:main)

我正在 64 位 ubuntu 22.04.4 Linux 机器上工作,并使用 SBCL 2.1.11.debian 进行编译。

尝试编译时,我不断收到以下错误消息。据我了解,这意味着 sbcl 请求特定的内存映射,但我的操作系统将其映射到不同的位置。它确实创建了一个 exe 文件,但这只是一个 0 字节的空文件。

[undoing binding stack and other enclosing state... done]
mmap: wanted 53575680 bytes at 0x1000000000, actually mapped at 0x7c21bea00000
Dump of /proc/self/maps:
50000000-50100000 rwxp 00000000 00:00 0 
50100000-50108000 rwxp 00008000 08:03 10494419                           /usr/lib/sbcl/sbcl.core
50108000-50200000 rwxp 00000000 00:00 0 
50200000-50242000 rwxp 01840000 08:03 10494419                           /usr/lib/sbcl/sbcl.core
50242000-503c8000 rwxp 01882000 08:03 10494419                           /usr/lib/sbcl/sbcl.core
503c8000-52a00000 rwxp 00000000 00:00 0 
52a00000-53450000 rwxp 01a08000 08:03 10494419                           /usr/lib/sbcl/sbcl.core
53450000-5ac00000 rwxp 00000000 00:00 0 
1003318000-1040000000 rwxp 00000000 00:00 0 
589ef8d35000-589ef8d45000 r--p 00000000 08:03 10494116                   /usr/bin/sbcl
589ef8d45000-589ef8d79000 r-xp 00010000 08:03 10494116                   /usr/bin/sbcl
589ef8d79000-589ef8d87000 r--p 00044000 08:03 10494116                   /usr/bin/sbcl
589ef8d87000-589ef8d89000 r--p 00052000 08:03 10494116                   /usr/bin/sbcl
589ef8d89000-589ef8d8b000 rw-p 00054000 08:03 10494116                   /usr/bin/sbcl
589ef8d8b000-589ef8d92000 rw-p 00000000 00:00 0 
589ef9ea7000-589ef9f1a000 rw-p 00000000 00:00 0                          [heap]
7c21bea00000-7c21c1d18000 rwxp 00000000 00:00 0 
7c21c1d48000-7c21c1e00000 rw-p 00000000 00:00 0 
7c21c1e00000-7c21c1e08000 ---p 00000000 00:00 0 
7c21c1e08000-7c21c1e10000 r--p 00000000 00:00 0 
7c21c1e10000-7c21c20f0000 rwxp 00000000 00:00 0 
7c21c20f0000-7c21c2110000 ---p 00000000 00:00 0 
7c21c2110000-7c21c2251000 rwxp 00000000 00:00 0 
7c21c2302000-7c21c2352000 rw-p 00000000 00:00 0 
7c21c235d000-7c21c2400000 rw-p 00000000 00:00 0 
7c21c2400000-7c21c2428000 r--p 00000000 08:03 10487796                   /usr/lib/x86_64-linux-gnu/libc.so.6
7c21c2428000-7c21c25bd000 r-xp 00028000 08:03 10487796                   /usr/lib/x86_64-linux-gnu/libc.so.6
7c21c25bd000-7c21c2615000 r--p 001bd000 08:03 10487796                   /usr/lib/x86_64-linux-gnu/libc.so.6
7c21c2615000-7c21c2616000 ---p 00215000 08:03 10487796                   /usr/lib/x86_64-linux-gnu/libc.so.6
7c21c2616000-7c21c261a000 r--p 00215000 08:03 10487796                   /usr/lib/x86_64-linux-gnu/libc.so.6
7c21c261a000-7c21c261c000 rw-p 00219000 08:03 10487796                   /usr/lib/x86_64-linux-gnu/libc.so.6
7c21c261c000-7c21c2629000 rw-p 00000000 00:00 0 
7c21c2632000-7c21c263d000 rw-p 00000000 00:00 0 
7c21c2646000-7c21c2649000 rw-p 00000000 00:00 0 
7c21c2649000-7c21c2657000 r--p 00000000 08:03 10487802                   /usr/lib/x86_64-linux-gnu/libm.so.6
7c21c2657000-7c21c26d3000 r-xp 0000e000 08:03 10487802                   /usr/lib/x86_64-linux-gnu/libm.so.6
7c21c26d3000-7c21c272e000 r--p 0008a000 08:03 10487802                   /usr/lib/x86_64-linux-gnu/libm.so.6
7c21c272e000-7c21c272f000 r--p 000e4000 08:03 10487802                   /usr/lib/x86_64-linux-gnu/libm.so.6
7c21c272f000-7c21c2730000 rw-p 000e5000 08:03 10487802                   /usr/lib/x86_64-linux-gnu/libm.so.6
7c21c2730000-7c21c2732000 r--p 00000000 08:03 10485950                   /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7c21c2732000-7c21c2743000 r-xp 00002000 08:03 10485950                   /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7c21c2743000-7c21c2749000 r--p 00013000 08:03 10485950                   /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7c21c2749000-7c21c274a000 ---p 00019000 08:03 10485950                   /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7c21c274a000-7c21c274b000 r--p 00019000 08:03 10485950                   /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7c21c274b000-7c21c274c000 rw-p 0001a000 08:03 10485950                   /usr/lib/x86_64-linux-gnu/libz.so.1.2.11
7c21c274e000-7c21c2750000 rw-p 00000000 00:00 0 
7c21c2751000-7c21c275b000 rw-p 00000000 00:00 0 
7c21c275c000-7c21c275f000 rw-p 00000000 00:00 0 
7c21c275f000-7c21c2761000 r--p 00000000 08:03 10487183                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
7c21c2761000-7c21c278b000 r-xp 00002000 08:03 10487183                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
7c21c278b000-7c21c2796000 r--p 0002c000 08:03 10487183                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
7c21c2796000-7c21c2797000 ---p 00000000 00:00 0 
7c21c2797000-7c21c2799000 r--p 00037000 08:03 10487183                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
7c21c2799000-7c21c279b000 rw-p 00039000 08:03 10487183                   /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2
7ffde58b0000-7ffde58d2000 rw-p 00000000 00:00 0                          [stack]
7ffde59a0000-7ffde59a4000 r--p 00000000 00:00 0                          [vvar]
7ffde59a4000-7ffde59a6000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0                  [vsyscall]
fatal error encountered in SBCL pid 24569 tid 24569:
remap_free_pages: page moved, 0x1000000000 ==> (nil)

我不知道从哪里开始调试/解决这个问题。我之前已经成功编译过,但由于这是不久前的事,我无法确切地说出发生了什么变化。 我尝试确保编译时后台没有其他进程占用内存。我也尝试卸载并重新安装 sbcl,但这并没有解决问题。

common-lisp sbcl
1个回答
0
投票

好的,通过将我的 sbcl 版本更新到 2.4.8 解决了这个问题

© www.soinside.com 2019 - 2024. All rights reserved.