Subject: bug#69106: closed (Re: bug#69106: SBCL enomem on 686)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 22 Aug 2024 08:08:02 +0000

Your bug report

#69106: SBCL enomem on 686

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
69106: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=69106
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#69106: SBCL enomem on 686
From: Guillaume Le Vaillant <[email-masked]>
To: Christopher Howard <[email-masked]>
Cc: [email-masked]
Date: Thu, 22 Aug 2024 08:06:54 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Christopher Howard <[email-masked]> skribis:

> Hi, the problem is with these lines:
>
> ```
>                      ,@(if (target-ppc32?)
>                          ;; 3072 is too much for this architecture.
>                          `("--dynamic-space-size=2048")
>                          `("--dynamic-space-size=3072"))
> ```
>
> Package definition simply assumes that all non-ppc32 architectures can handle the larger dynamic space, but apparently not x86. Through experiment, I see the largest dynamic space that works on my old laptop is 2810, but 2048 seems like a more sensible number.

Fixed in 803f9d3038d3c3048079c63d51b7b40bff09f17a.
Closing.

Subject: SBCL enomem on 686
From: Christopher Howard <[email-masked]>
To: Bug Guix <[email-masked]>
Date: Tue, 13 Feb 2024 07:22:31 -0900
List-Id: <debbugs-submit.debbugs.gnu.org>

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

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