gauche.bitvector bug with somewhat bigger vectors (2^31)

Jens Thiele <[email protected]> Tue, 05 May 2026 10:55:30 +0200
Newsgroups gmane.lisp.scheme.gauche
Message-ID <[email protected]>
Hi,

looks like there is some overflow in make-bitvector with sizes >= 2^31 ?

(sid-amd64-sbuild)karme@amalthea:/tmp/get-gauche$ gosh -V
Gauche scheme shell, version 0.9.16_pre2 [utf-8,pthreads,snapshot=20260505], x86_64-pc-linux-gnu
(version "0.9.16_pre2")
(command "gosh")
(scheme.id gauche)
(languages scheme r5rs r7rs)
(encodings utf-8)
(website "https://practical-scheme.net/gauche")
(build.platform "x86_64-pc-linux-gnu")
(build.configure "--prefix=/usr/local")
(build.gosh-version "0.9.15")
(scheme.path "/usr/local/share/gauche-0.98/site/lib" "/usr/local/share/gauche-0.98/0.9.16_pre2/lib")
(threads pthreads)
(gauche.net.tls)
(sid-amd64-sbuild)karme@amalthea:/tmp/get-gauche$ gosh
gosh$ (use gauche.bitvector)
gosh$ (define bv (make-bitvector (ash 1 30)))
bv
gosh$ (define bv (make-bitvector (ash 1 31)))
GC Warning: Failed to expand heap by 18014398509252612 KiB
GC Warning: Failed to expand heap by 18014398509219844 KiB
GC Warning: Out of Memory! Heap size: 141 MiB. Returning NULL!
out of memory (18446744073441116168).  aborting...