Subject: bug#69106: SBCL enomem on 686

From: Christopher Howard <[email-masked]>
Date: Tue, 13 Feb 2024 07:22:31 -0900

Hi, I was trying to run SBCL on an older 32-bit laptop, using guix on foreign distro. When I launch SBCL, the REPL dies immediately with this error:

```
os_alloc_gc_space(1,0x9000000,3221225472) failed with ENOMEM
fatal error encountered in SBCL pid 4657 tid 4657:
Can't allocate 0xc0000000 bytes for space 1
```

However, the program does work if I pass in a --dynamic-space-size argument when I launch sbcl. E.g.

```
sbcl --dynamic-space-size 2000
```

So, it seems like some allocation value or define is not being set correctly in the build for 686. SBCL manual only says:

```
‘--dynamic-space-size MEGABYTES’
     Size of the dynamic space reserved on startup in megabytes.
     Default value is platform dependent.
```

My system information:

```
christopher@q4os-desktop 
------------------------ 
OS: Debian GNU/Linux 10 (buster) i686 
Host: CF-30CTQAZBM 001 
Kernel: 4.19.0-26-686-pae 
Uptime: 21 hours, 54 mins 
Packages: 2357 (dpkg), 4 (guix-user) 
Shell: bash 5.1.16 
Resolution: 1024x768 
Terminal: /dev/pts/1 
CPU: Genuine Intel L2400 (2) @ 1.667GHz 
GPU: Intel Mobile 945GM/GMS, 943/940GML Express 
Memory: 219MiB / 3020MiB 
```

```
$ guix describe
Generation 2	Feb 12 2024 12:22:05	(current)
  guix bb92a4d
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: bb92a4d7bc71197a51eea9075387c5313f299085
```

-- 
📛 Christopher Howard
🚀 gemini://gem.librehacker.com
🌐 http://gem.librehacker.com

בראשית ברא אלהים את השמים ואת הארץ