SBCL enomem on 686

  • Done
  • quality assurance status badge
Details
2 participants
  • Christopher Howard
  • Guillaume Le Vaillant
Owner
unassigned
Submitted by
Christopher Howard
Severity
normal

Debbugs page

Christopher Howard wrote 1 years ago
(name . Bug Guix)(address . bug-guix@gnu.org)
ZcuXR_kJF1FLV-rq@theoden
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
branch: master
commit: bb92a4d7bc71197a51eea9075387c5313f299085
```

--
馃摏 Christopher Howard
馃殌 gemini://gem.librehacker.com

讘专讗砖讬转 讘专讗 讗诇讛讬诐 讗转 讛砖诪讬诐 讜讗转 讛讗专抓
Christopher Howard wrote 1 years ago
(address . 69106@debbugs.gnu.org)
Zcu06NcU5KCZzUT3@theoden
Just noticed, poking around in the debian sid package, that Debian had to explicitly set

```
export SBCL_ARCH=x86
```

For their i386 build. Wonder if that might be relevant here.

--
Christopher Howard
Christopher Howard wrote 1 years ago
(address . 69106@debbugs.gnu.org)
ZcvVmLg703F8CbZt@theoden
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.

--
Christopher Howard
Guillaume Le Vaillant wrote 7 months ago
(name . Christopher Howard)(address . christopher@librehacker.com)(address . 69106-done@debbugs.gnu.org)
87ttfdasm9.fsf@kitej
Christopher Howard <christopher@librehacker.com> skribis:

Toggle quote (11 lines)
> 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.
-----BEGIN PGP SIGNATURE-----

iIUEAREKAC0WIQTLxZxm7Ce5cXlAaz5r6CCK3yH+PwUCZsbxng8cZ2x2QHBvc3Rl
by5uZXQACgkQa+ggit8h/j97xQD/U+Ik7QcFtfs3gRRarZFIinE46VyW2iO9kcUn
vYLYRTwA/0IV2gwDu8auzpw/6NaBW/7hRbOhof1jdZ7RAJ/5TuOC
=whyd
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 69106@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 69106
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help