You can subscribe to this list here.
2009 |
Jan
|
Feb
(3) |
Mar
(1) |
Apr
|
May
|
Jun
(5) |
Jul
(3) |
Aug
(5) |
Sep
(2) |
Oct
(6) |
Nov
(2) |
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(16) |
Feb
(1) |
Mar
(10) |
Apr
(4) |
May
(3) |
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
(1) |
2011 |
Jan
(3) |
Feb
(6) |
Mar
|
Apr
(2) |
May
(4) |
Jun
(5) |
Jul
(1) |
Aug
(8) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(1) |
2012 |
Jan
(2) |
Feb
(2) |
Mar
(8) |
Apr
(6) |
May
(13) |
Jun
(6) |
Jul
(3) |
Aug
(2) |
Sep
(7) |
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
(5) |
Feb
(1) |
Mar
(6) |
Apr
(1) |
May
(1) |
Jun
(11) |
Jul
(9) |
Aug
|
Sep
(4) |
Oct
|
Nov
(12) |
Dec
(6) |
2014 |
Jan
(6) |
Feb
(17) |
Mar
(3) |
Apr
(3) |
May
|
Jun
(4) |
Jul
|
Aug
(7) |
Sep
(2) |
Oct
(4) |
Nov
(1) |
Dec
(1) |
2015 |
Jan
(2) |
Feb
(1) |
Mar
(6) |
Apr
(2) |
May
|
Jun
(5) |
Jul
(7) |
Aug
(2) |
Sep
(5) |
Oct
(3) |
Nov
(16) |
Dec
(15) |
2016 |
Jan
(11) |
Feb
(11) |
Mar
(5) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
(1) |
2017 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
(2) |
Apr
(12) |
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
(4) |
Nov
|
Dec
|
2019 |
Jan
|
Feb
(6) |
Mar
|
Apr
(4) |
May
|
Jun
(2) |
Jul
(9) |
Aug
|
Sep
(12) |
Oct
(2) |
Nov
|
Dec
(8) |
2020 |
Jan
(12) |
Feb
(3) |
Mar
(4) |
Apr
(4) |
May
(27) |
Jun
(14) |
Jul
(3) |
Aug
(7) |
Sep
(1) |
Oct
(1) |
Nov
(2) |
Dec
(3) |
2021 |
Jan
(2) |
Feb
(6) |
Mar
(8) |
Apr
(10) |
May
(1) |
Jun
(8) |
Jul
(4) |
Aug
(9) |
Sep
(1) |
Oct
(7) |
Nov
(6) |
Dec
(8) |
2022 |
Jan
(7) |
Feb
(4) |
Mar
(3) |
Apr
(2) |
May
(2) |
Jun
(3) |
Jul
(14) |
Aug
(15) |
Sep
(13) |
Oct
(16) |
Nov
(5) |
Dec
(6) |
2023 |
Jan
(18) |
Feb
(2) |
Mar
(28) |
Apr
(8) |
May
(3) |
Jun
(24) |
Jul
(11) |
Aug
(22) |
Sep
(20) |
Oct
(27) |
Nov
(12) |
Dec
(2) |
2024 |
Jan
(5) |
Feb
(45) |
Mar
(45) |
Apr
(25) |
May
(10) |
Jun
(23) |
Jul
(20) |
Aug
(5) |
Sep
(3) |
Oct
(7) |
Nov
(7) |
Dec
(11) |
2025 |
Jan
(5) |
Feb
(6) |
Mar
(4) |
Apr
(13) |
May
(2) |
Jun
(4) |
Jul
(14) |
Aug
(5) |
Sep
(9) |
Oct
|
Nov
|
Dec
|
From: Stas B. <sta...@gm...> - 2025-09-19 21:47:43
|
Only one value will be returned here, as per the standard. On Sat, Sep 20, 2025 at 12:45 AM Dave Brown <dav...@ho...> wrote: > > SBCL Bug Report > > Description: SBCL seems to truncate multiple values to single values when OR expressions contain multiple branches that return VALUES forms. > > Example: > * (or (values 1 2) (values 3 4)) > 1 > > Expected: 1, 2 (multiple values preserved) > > Running Windows 11, SBCL 2.5.8 > > _______________________________________________ > Sbcl-bugs mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs |
From: Dave B. <dav...@ho...> - 2025-09-19 21:45:04
|
SBCL Bug Report Description: SBCL seems to truncate multiple values to single values when OR expressions contain multiple branches that return VALUES forms. Example: * (or (values 1 2) (values 3 4)) 1 Expected: 1, 2 (multiple values preserved) Running Windows 11, SBCL 2.5.8 |
From: Josef W. <jw...@ra...> - 2025-09-19 10:14:14
|
Hello, I have created a pull-request to fix this problem. But there seems to be no one to review the PR. I can't see who is administering the project? On Sun, Sep 14, 2025 at 12:01:27AM +0200, Josef Wolf wrote: > Hello all, > > sorry if this is the wrong list for this question, but the quicklisp list > seems to have vanished, so I'm askig here. > > I'm trying to install sbcl+quicklisp in a docker container based on alpine-linusx 3.21.3 > > When installing osicat, I get this error: > > /root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c: In function 'strerror_r_cffi_wrap': > /root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c:140:10: error: returning 'int' from a function with return type 'char *' makes pointer from integer without a cast [-Wint-conversion] > 140 | return strerror_r(errnum, buf, buflen); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Unhandled UIOP/RUN-PROGRAM:SUBPROCESS-ERROR in thread #<error printing a SB-THREAD:THREAD: #<PRINT-NOT-READABLE {1002B44BC3}>>: Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1002B1D833}> with command ("cc" "-o" "/root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper-tmpXDD6GKJ.o" "-c" "-g" "-Wall" "-Wundef" "-Wsign-compare" "-Wpointer-arith" "-O3" "-D_LARGEFILE_SOURCE" "-D_LARGEFILE64_SOURCE" "-D_FILE_OFFSET_BITS=64" "-Wunused-parameter" "-fno-omit-frame-pointer" "-momit-leaf-frame-pointer" "-fPIC" "-I/common-lisp/dists/quicklisp/software/cffi-20250622-git/" "/root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c") > exited with error code 1 > > I suspect, osicat expects the GNU version of strerror_r() but gets the XSI > variant because no language standard is explicitly specified on the command > line of the compiler. > > Any ideas? > > PS: Here is the Dockerfile I use to build the container: > > FROM alpine:3.21.3 AS builder > > ARG http_proxy > ARG https_proxy > ARG HTTP_PROXY > ARG HTTPS_PROXY > ARG version > > RUN apk update \ > && apk add --no-cache abuild > > # copy quicklisp public gpg keys for signature verification > COPY pubkeys/ /root/pubkeys > > RUN apk add emacs alpine-sdk sbcl rlwrap gpg gpgv curl > > # Install sbcl from source > RUN apk add git linux-headers texinfo texlive texlive-dvi texmf-dist > RUN mkdir /common-lisp > RUN cd /common-lisp && git clone https://github.com/sbcl/sbcl.git > RUN cd /common-lisp/sbcl && git checkout sbcl-2.5.1 && sh make.sh > RUN cd /common-lisp/sbcl && sh install.sh > RUN apk del sbcl > > # Download Quicklisp installer > RUN mkdir ql > RUN for f in quicklisp.lisp.asc quicklisp.lisp ; do \ > curl https://beta.quicklisp.org/$f -o ql/$f || exit 1; \ > done > > RUN cd /root/pubkeys && gpg --yes -o release-key.gpg --dearmor release-key.txt > RUN gpgv --keyring /root/pubkeys/release-key.gpg ql/quicklisp.lisp.asc ql/quicklisp.lisp > > # Install Quicklisp > ARG ql_packages="str cl-fad cl-ppcre osicat alexandria split-sequence ironclad cl-base64 plump-sexp lquery cxml clss xpath clingon fiveam mockingbird cl-coveralls ci-utils parachute mockingbird" > RUN sbcl --noinform --disable-ldb \ > --lose-on-corruption --end-runtime-options \ > --disable-debugger \ > --eval '(load "ql/quicklisp.lisp")' \ > --eval '(quicklisp-quickstart:install :path "/common-lisp")' \ > --eval '(setf ql-util::*do-not-prompt* t)' \ > --eval '(setf *query-io* *standard-output*)' \ > --eval '(setf *debug-io* *standard-output*)' \ > --eval '(setf *trace-output* *standard-output*)' \ > --eval '(ql:add-to-init-file)' \ > --eval '(ql:update-client)' \ > --eval '(ql:update-dist "quicklisp")' \ > --eval '(ql:update-all-dists)' \ > --eval "(dolist (pkg '($ql_packages)) (ql:quickload pkg))" \ > --eval '(quit)' > > -- > Josef Wolf > jw...@ra... > > > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel -- Josef Wolf jw...@ra... |
From: Josef W. <jw...@ra...> - 2025-09-14 10:44:24
|
It works fine with alipne-3.20.3 (which comes with gcc-13.2.1) but breaks with alpine-3.21.0, which comes with gcc-14.2.0-rc4 Thus the problem is probably caused by the switch gcc-13 -> gcc-14 Guess, some kind of -std=XXX option needs to be specified to gcc to get it complied. Which component is responsible to provide proper compiler options? Ist it CFFI or something? On Sun, Sep 14, 2025 at 12:01:27AM +0200, Josef Wolf wrote: > Hello all, > > sorry if this is the wrong list for this question, but the quicklisp list > seems to have vanished, so I'm askig here. > > I'm trying to install sbcl+quicklisp in a docker container based on alpine-linusx 3.21.3 > > When installing osicat, I get this error: > > /root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c: In function 'strerror_r_cffi_wrap': > /root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c:140:10: error: returning 'int' from a function with return type 'char *' makes pointer from integer without a cast [-Wint-conversion] > 140 | return strerror_r(errnum, buf, buflen); > | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > Unhandled UIOP/RUN-PROGRAM:SUBPROCESS-ERROR in thread #<error printing a SB-THREAD:THREAD: #<PRINT-NOT-READABLE {1002B44BC3}>>: Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1002B1D833}> with command ("cc" "-o" "/root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper-tmpXDD6GKJ.o" "-c" "-g" "-Wall" "-Wundef" "-Wsign-compare" "-Wpointer-arith" "-O3" "-D_LARGEFILE_SOURCE" "-D_LARGEFILE64_SOURCE" "-D_FILE_OFFSET_BITS=64" "-Wunused-parameter" "-fno-omit-frame-pointer" "-momit-leaf-frame-pointer" "-fPIC" "-I/common-lisp/dists/quicklisp/software/cffi-20250622-git/" "/root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c") > exited with error code 1 > > I suspect, osicat expects the GNU version of strerror_r() but gets the XSI > variant because no language standard is explicitly specified on the command > line of the compiler. > > Any ideas? > > PS: Here is the Dockerfile I use to build the container: > > FROM alpine:3.21.3 AS builder > > ARG http_proxy > ARG https_proxy > ARG HTTP_PROXY > ARG HTTPS_PROXY > ARG version > > RUN apk update \ > && apk add --no-cache abuild > > # copy quicklisp public gpg keys for signature verification > COPY pubkeys/ /root/pubkeys > > RUN apk add emacs alpine-sdk sbcl rlwrap gpg gpgv curl > > # Install sbcl from source > RUN apk add git linux-headers texinfo texlive texlive-dvi texmf-dist > RUN mkdir /common-lisp > RUN cd /common-lisp && git clone https://github.com/sbcl/sbcl.git > RUN cd /common-lisp/sbcl && git checkout sbcl-2.5.1 && sh make.sh > RUN cd /common-lisp/sbcl && sh install.sh > RUN apk del sbcl > > # Download Quicklisp installer > RUN mkdir ql > RUN for f in quicklisp.lisp.asc quicklisp.lisp ; do \ > curl https://beta.quicklisp.org/$f -o ql/$f || exit 1; \ > done > > RUN cd /root/pubkeys && gpg --yes -o release-key.gpg --dearmor release-key.txt > RUN gpgv --keyring /root/pubkeys/release-key.gpg ql/quicklisp.lisp.asc ql/quicklisp.lisp > > # Install Quicklisp > ARG ql_packages="str cl-fad cl-ppcre osicat alexandria split-sequence ironclad cl-base64 plump-sexp lquery cxml clss xpath clingon fiveam mockingbird cl-coveralls ci-utils parachute mockingbird" > RUN sbcl --noinform --disable-ldb \ > --lose-on-corruption --end-runtime-options \ > --disable-debugger \ > --eval '(load "ql/quicklisp.lisp")' \ > --eval '(quicklisp-quickstart:install :path "/common-lisp")' \ > --eval '(setf ql-util::*do-not-prompt* t)' \ > --eval '(setf *query-io* *standard-output*)' \ > --eval '(setf *debug-io* *standard-output*)' \ > --eval '(setf *trace-output* *standard-output*)' \ > --eval '(ql:add-to-init-file)' \ > --eval '(ql:update-client)' \ > --eval '(ql:update-dist "quicklisp")' \ > --eval '(ql:update-all-dists)' \ > --eval "(dolist (pkg '($ql_packages)) (ql:quickload pkg))" \ > --eval '(quit)' > > -- > Josef Wolf > jw...@ra... > > > _______________________________________________ > Sbcl-devel mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-devel -- Josef Wolf jw...@ra... |
From: Josef W. <jw...@ra...> - 2025-09-13 22:26:03
|
Hello all, sorry if this is the wrong list for this question, but the quicklisp list seems to have vanished, so I'm askig here. I'm trying to install sbcl+quicklisp in a docker container based on alpine-linusx 3.21.3 When installing osicat, I get this error: /root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c: In function 'strerror_r_cffi_wrap': /root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c:140:10: error: returning 'int' from a function with return type 'char *' makes pointer from integer without a cast [-Wint-conversion] 140 | return strerror_r(errnum, buf, buflen); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Unhandled UIOP/RUN-PROGRAM:SUBPROCESS-ERROR in thread #<error printing a SB-THREAD:THREAD: #<PRINT-NOT-READABLE {1002B44BC3}>>: Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1002B1D833}> with command ("cc" "-o" "/root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper-tmpXDD6GKJ.o" "-c" "-g" "-Wall" "-Wundef" "-Wsign-compare" "-Wpointer-arith" "-O3" "-D_LARGEFILE_SOURCE" "-D_LARGEFILE64_SOURCE" "-D_FILE_OFFSET_BITS=64" "-Wunused-parameter" "-fno-omit-frame-pointer" "-momit-leaf-frame-pointer" "-fPIC" "-I/common-lisp/dists/quicklisp/software/cffi-20250622-git/" "/root/.cache/common-lisp/sbcl-2.5.8-linux-x64/common-lisp/dists/quicklisp/software/osicat-20250622-git/posix/wrappers__wrapper.c") exited with error code 1 I suspect, osicat expects the GNU version of strerror_r() but gets the XSI variant because no language standard is explicitly specified on the command line of the compiler. Any ideas? PS: Here is the Dockerfile I use to build the container: FROM alpine:3.21.3 AS builder ARG http_proxy ARG https_proxy ARG HTTP_PROXY ARG HTTPS_PROXY ARG version RUN apk update \ && apk add --no-cache abuild # copy quicklisp public gpg keys for signature verification COPY pubkeys/ /root/pubkeys RUN apk add emacs alpine-sdk sbcl rlwrap gpg gpgv curl # Install sbcl from source RUN apk add git linux-headers texinfo texlive texlive-dvi texmf-dist RUN mkdir /common-lisp RUN cd /common-lisp && git clone https://github.com/sbcl/sbcl.git RUN cd /common-lisp/sbcl && git checkout sbcl-2.5.1 && sh make.sh RUN cd /common-lisp/sbcl && sh install.sh RUN apk del sbcl # Download Quicklisp installer RUN mkdir ql RUN for f in quicklisp.lisp.asc quicklisp.lisp ; do \ curl https://beta.quicklisp.org/$f -o ql/$f || exit 1; \ done RUN cd /root/pubkeys && gpg --yes -o release-key.gpg --dearmor release-key.txt RUN gpgv --keyring /root/pubkeys/release-key.gpg ql/quicklisp.lisp.asc ql/quicklisp.lisp # Install Quicklisp ARG ql_packages="str cl-fad cl-ppcre osicat alexandria split-sequence ironclad cl-base64 plump-sexp lquery cxml clss xpath clingon fiveam mockingbird cl-coveralls ci-utils parachute mockingbird" RUN sbcl --noinform --disable-ldb \ --lose-on-corruption --end-runtime-options \ --disable-debugger \ --eval '(load "ql/quicklisp.lisp")' \ --eval '(quicklisp-quickstart:install :path "/common-lisp")' \ --eval '(setf ql-util::*do-not-prompt* t)' \ --eval '(setf *query-io* *standard-output*)' \ --eval '(setf *debug-io* *standard-output*)' \ --eval '(setf *trace-output* *standard-output*)' \ --eval '(ql:add-to-init-file)' \ --eval '(ql:update-client)' \ --eval '(ql:update-dist "quicklisp")' \ --eval '(ql:update-all-dists)' \ --eval "(dolist (pkg '($ql_packages)) (ql:quickload pkg))" \ --eval '(quit)' -- Josef Wolf jw...@ra... |
From: Stas B. <sta...@gm...> - 2025-09-12 14:29:39
|
It all depends on which side of save-lisp-and-die this is done. On Fri, Sep 12, 2025 at 2:41 PM André A. Gomes <and...@gm...> wrote: > > Stas Boukarev <sta...@gm...> writes: > > > Are you saving pointers to foreign memory into a core? Initializing > > things before saving and not after starting? > > Hi Stas, > > Thank you for pointing me in the right direction. > > I took a deeper look at the CFFI dependencies[1] and found the snippet > below. Does it look fishy? > > --8<---------------cut here---------------start------------->8--- > ;;; ---------------------------------------------------------------------------- > ;;; GAsyncReadyCallback > ;;; ---------------------------------------------------------------------------- > > ;; TODO: We free the allocated pointer in an UNWIND-PROTECT macro. Is this safe? > > (cffi:defcallback async-ready-callback :void > ((source gobject:object) > (result (gobject:object async-result)) > (data :pointer)) > (let ((func (glib:get-stable-pointer-value data))) > (unwind-protect > (funcall func source result)) > (glib:free-stable-pointer data))) > --8<---------------cut here---------------end--------------->8--- > > > Footnotes: > [1] https://github.com/crategus/cl-cffi-glib/ > > > -- > André A. Gomes > "You cannot even find the ruins..." |
From: André A. G. <and...@gm...> - 2025-09-12 11:41:10
|
Stas Boukarev <sta...@gm...> writes: > Are you saving pointers to foreign memory into a core? Initializing > things before saving and not after starting? Hi Stas, Thank you for pointing me in the right direction. I took a deeper look at the CFFI dependencies[1] and found the snippet below. Does it look fishy? --8<---------------cut here---------------start------------->8--- ;;; ---------------------------------------------------------------------------- ;;; GAsyncReadyCallback ;;; ---------------------------------------------------------------------------- ;; TODO: We free the allocated pointer in an UNWIND-PROTECT macro. Is this safe? (cffi:defcallback async-ready-callback :void ((source gobject:object) (result (gobject:object async-result)) (data :pointer)) (let ((func (glib:get-stable-pointer-value data))) (unwind-protect (funcall func source result)) (glib:free-stable-pointer data))) --8<---------------cut here---------------end--------------->8--- Footnotes: [1] https://github.com/crategus/cl-cffi-glib/ -- André A. Gomes "You cannot even find the ruins..." |
From: Stas B. <sta...@gm...> - 2025-09-11 12:07:53
|
Are you saving pointers to foreign memory into a core? Initializing things before saving and not after starting? On Thu, Sep 11, 2025 at 2:42 PM André A. Gomes <and...@gm...> wrote: > > Hello, > > I wrote bindings to WebKitGTK with CFFI. When I compile a simple > program to a binary using those bindings (via asdf:make), it crashes > with SIGABRT (see log below). > > When I run the same code from the SLY REPL, it doesn't crash... How can > I make sense of it? > > Additionally, when I compile the same exact program with CCL, it also > doesn't crash. This seems to suggest that there is an issue with CFFI > (the compatibility layer) or with SBCL's interface to C programs. How > can I debug this? I've tried strace but it didn't help me much. Any > pointer would be greatly appreciated. Thank you. > > --8<---------------cut here---------------start------------->8--- > fatal error encountered in SBCL pid 12170 tid 12170: > SIGABRT received. > > 0: fp=0x790c69aef010 pc=0x790c69ea49bc Foreign function pthread_kill > 1: fp=0x790c69aef030 pc=0x790c69e4579e Foreign function gsignal > 2: fp=0x790c69aef100 pc=0x790c69e288cd Foreign function abort > 3: fp=0x790c69aef110 pc=0x790c5fd60cbd Foreign function (null) > 4: fp=0x790c69aef190 pc=0x790c60fe97bf Foreign function (null) > 5: fp=0x790c69aef2b0 pc=0x790c60fe447d Foreign function (null) > 6: fp=0x790c69aef2e0 pc=0x790c60fe63e4 Foreign function (null) > 7: fp=0x790c69aef300 pc=0x790c5fe6df99 Foreign function JSContextGroupCreate > 8: fp=0x790c69aef320 pc=0x790c5fe1b520 Foreign function (null) > 9: fp=0x790c69aef370 pc=0x790c5fdeb597 Foreign function (null) > 10: fp=0x790c69aef3b0 pc=0x790c5fdeb318 Foreign function (null) > 11: fp=0x790c69aef450 pc=0x790c696a0a28 Foreign function (null) > 12: fp=0x790c69aef4c0 pc=0x790c6967c683 Foreign function g_object_new_with_properties > 13: fp=0x790c69aef5a0 pc=0x790c6967d7f1 Foreign function g_object_new > 14: fp=0x790c69aef5c0 pc=0x790c0b6aafc9 Foreign function (null) > 15: fp=0x790c69aef5f0 pc=0x790c0b6ab02b Foreign function (null) > 16: fp=0x790c69aef660 pc=0x790c0b701dc8 Foreign function (null) > 17: fp=0x790c69aef6c0 pc=0x790c0b64363f Foreign function (null) > 18: fp=0x790c69aef750 pc=0x790c0b642d9a Foreign function (null) > 19: fp=0x790c69aef770 pc=0x790c0b58239f Foreign function (null) > 20: fp=0x790c69aef7b0 pc=0x790c0b5389ac Foreign function (null) > 21: fp=0x790c69aef7e0 pc=0x790c0b538b56 Foreign function (null) > 22: fp=0x790c69aef860 pc=0x790c0b539030 Foreign function (null) > 23: fp=0x790c69aef8e0 pc=0x790c6145ebf9 Foreign function (null) > 24: fp=0x790c69aef8f0 pc=0x790c6151760d Foreign function (null) > 25: fp=0x790c69aef920 pc=0x790c61516861 Foreign function (null) > 26: fp=0x790c69aef9d0 pc=0x790c697e5de2 Foreign function (null) > 27: fp=0x790c69aefa70 pc=0x790c698571f8 Foreign function (null) > 28: fp=0x790c69aefa90 pc=0x790c697e6223 Foreign function g_main_context_iteration > 29: fp=0x790c69aefaf0 pc=0x790c69556c3d Foreign function g_application_run > 30: fp=0x790c69aefbb0 pc=0xb800242b2f GIO::%APPLICATION-RUN > 31: fp=0x790c69aefd18 pc=0xb800609054 CL-BC-BROWSER::ENTRY-POINT > 32: fp=0x790c69aefda0 pc=0xb80108230d (LAMBDA () :IN UIOP/IMAGE::RESTORE-IMAGE) > 33: fp=0x790c69aefdd8 pc=0xb80108150e UIOP/IMAGE::CALL-WITH-FATAL-CONDITION-HANDLER > 34: fp=0x790c69aefe70 pc=0xb801050f7b (FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP) > 35: fp=0x790c69aeff30 pc=0xb801050d86 (FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP) > 36: fp=0x790c69aeffc8 pc=0xb801050bb4 SB-IMPL::%START-LISP > --8<---------------cut here---------------end--------------->8--- > > -- > André A. Gomes > "You cannot even find the ruins..." > > > _______________________________________________ > Sbcl-bugs mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs |
From: André A. G. <and...@gm...> - 2025-09-11 11:41:41
|
Hello, I wrote bindings to WebKitGTK with CFFI. When I compile a simple program to a binary using those bindings (via asdf:make), it crashes with SIGABRT (see log below). When I run the same code from the SLY REPL, it doesn't crash... How can I make sense of it? Additionally, when I compile the same exact program with CCL, it also doesn't crash. This seems to suggest that there is an issue with CFFI (the compatibility layer) or with SBCL's interface to C programs. How can I debug this? I've tried strace but it didn't help me much. Any pointer would be greatly appreciated. Thank you. --8<---------------cut here---------------start------------->8--- fatal error encountered in SBCL pid 12170 tid 12170: SIGABRT received. 0: fp=0x790c69aef010 pc=0x790c69ea49bc Foreign function pthread_kill 1: fp=0x790c69aef030 pc=0x790c69e4579e Foreign function gsignal 2: fp=0x790c69aef100 pc=0x790c69e288cd Foreign function abort 3: fp=0x790c69aef110 pc=0x790c5fd60cbd Foreign function (null) 4: fp=0x790c69aef190 pc=0x790c60fe97bf Foreign function (null) 5: fp=0x790c69aef2b0 pc=0x790c60fe447d Foreign function (null) 6: fp=0x790c69aef2e0 pc=0x790c60fe63e4 Foreign function (null) 7: fp=0x790c69aef300 pc=0x790c5fe6df99 Foreign function JSContextGroupCreate 8: fp=0x790c69aef320 pc=0x790c5fe1b520 Foreign function (null) 9: fp=0x790c69aef370 pc=0x790c5fdeb597 Foreign function (null) 10: fp=0x790c69aef3b0 pc=0x790c5fdeb318 Foreign function (null) 11: fp=0x790c69aef450 pc=0x790c696a0a28 Foreign function (null) 12: fp=0x790c69aef4c0 pc=0x790c6967c683 Foreign function g_object_new_with_properties 13: fp=0x790c69aef5a0 pc=0x790c6967d7f1 Foreign function g_object_new 14: fp=0x790c69aef5c0 pc=0x790c0b6aafc9 Foreign function (null) 15: fp=0x790c69aef5f0 pc=0x790c0b6ab02b Foreign function (null) 16: fp=0x790c69aef660 pc=0x790c0b701dc8 Foreign function (null) 17: fp=0x790c69aef6c0 pc=0x790c0b64363f Foreign function (null) 18: fp=0x790c69aef750 pc=0x790c0b642d9a Foreign function (null) 19: fp=0x790c69aef770 pc=0x790c0b58239f Foreign function (null) 20: fp=0x790c69aef7b0 pc=0x790c0b5389ac Foreign function (null) 21: fp=0x790c69aef7e0 pc=0x790c0b538b56 Foreign function (null) 22: fp=0x790c69aef860 pc=0x790c0b539030 Foreign function (null) 23: fp=0x790c69aef8e0 pc=0x790c6145ebf9 Foreign function (null) 24: fp=0x790c69aef8f0 pc=0x790c6151760d Foreign function (null) 25: fp=0x790c69aef920 pc=0x790c61516861 Foreign function (null) 26: fp=0x790c69aef9d0 pc=0x790c697e5de2 Foreign function (null) 27: fp=0x790c69aefa70 pc=0x790c698571f8 Foreign function (null) 28: fp=0x790c69aefa90 pc=0x790c697e6223 Foreign function g_main_context_iteration 29: fp=0x790c69aefaf0 pc=0x790c69556c3d Foreign function g_application_run 30: fp=0x790c69aefbb0 pc=0xb800242b2f GIO::%APPLICATION-RUN 31: fp=0x790c69aefd18 pc=0xb800609054 CL-BC-BROWSER::ENTRY-POINT 32: fp=0x790c69aefda0 pc=0xb80108230d (LAMBDA () :IN UIOP/IMAGE::RESTORE-IMAGE) 33: fp=0x790c69aefdd8 pc=0xb80108150e UIOP/IMAGE::CALL-WITH-FATAL-CONDITION-HANDLER 34: fp=0x790c69aefe70 pc=0xb801050f7b (FLET SB-UNIX::BODY :IN SB-IMPL::START-LISP) 35: fp=0x790c69aeff30 pc=0xb801050d86 (FLET "WITHOUT-INTERRUPTS-BODY-3" :IN SB-IMPL::START-LISP) 36: fp=0x790c69aeffc8 pc=0xb801050bb4 SB-IMPL::%START-LISP --8<---------------cut here---------------end--------------->8--- -- André A. Gomes "You cannot even find the ruins..." |
From: Christophe R. <cs...@ca...> - 2025-08-26 21:17:22
|
Hello, I have not confirmed this, but I believe that you can report bugs to our bug tracker on launchpad at <https://bugs.launchpad.net/sbcl>, and by choosing the "Private Security" option at the bottom of the bug reporting page (the prompt is "This bug contains information that is:"), I believe that means that the visibility of the bug report will be restricted to the 15 members of the "SBCL Hackers" group. The above paragraph is how I expect things to work, based on the launchpad tool's documentation. The launchpad instance is Ubuntu's own; if you have any prior experience with using launchpad, you might be in a better position to confirm or deny that this is in fact how it works in practice. Thanks, Christophe cv...@cy... via Sbcl-bugs <sbc...@li...> writes: > Hello SBCL bugs mailing list members, > > INCD is a CNA for the MITRE CVE program. > > We would like to report a security vulnerability in SBCL. > > What email address may we use? > > Regards, > * cv...@cy... > > Israel National Cyber Directorate | Active Cyber Defense Center |
From: André A. G. <and...@gm...> - 2025-08-26 10:00:43
|
Hello, Take the snippet below: --8<---------------cut here---------------start------------->8--- (defun predicate (string) (and (char= #\- (char string 0)) (char/= #\- (char string 1)))) (deftype short-flag () '(and (string 2) (satisfies predicate))) (typep "-" 'short-flag) --8<---------------cut here---------------end--------------->8--- Since "-" is of size 1, then the type specifier should short circuit before evaluating the form (satisfied predicate). However, SBCL raises the condition below: --8<---------------cut here---------------start------------->8--- Invalid index 1 for (SIMPLE-ARRAY CHARACTER (1)), should be a non-negative integer below 1. [Condition of type SB-INT:INVALID-ARRAY-INDEX-ERROR] --8<---------------cut here---------------end--------------->8--- Note that CCL returns NIL, as expected. Thank you. -- André A. Gomes "You cannot even find the ruins..." |
From: Stas B. <sta...@gm...> - 2025-08-09 03:15:26
|
Actually, I've just realized that *descriptor-handlers* is already thread-local, oh well... On Sat, Aug 9, 2025 at 2:52 AM Stas Boukarev <sta...@gm...> wrote: > > I applied a modified patch, making it thread-safe. Thanks. > > On Wed, Jul 30, 2025 at 10:16 PM Dmytro Statyvka <dst...@gm...> wrote: > > > > Good day SBCL developers, > > > > So, what do you think about this problem? Any concerns? If you have > > better ideas regarding ways to fix this, please let me know > > > > -- > > Best wishes, > > Dmytro > > > > > > _______________________________________________ > > Sbcl-bugs mailing list > > Sbc...@li... > > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs |
From: Stas B. <sta...@gm...> - 2025-08-08 23:53:08
|
I applied a modified patch, making it thread-safe. Thanks. On Wed, Jul 30, 2025 at 10:16 PM Dmytro Statyvka <dst...@gm...> wrote: > > Good day SBCL developers, > > So, what do you think about this problem? Any concerns? If you have > better ideas regarding ways to fix this, please let me know > > -- > Best wishes, > Dmytro > > > _______________________________________________ > Sbcl-bugs mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs |
From: Dmytro S. <dst...@gm...> - 2025-07-24 19:42:28
|
Good day SBCL developers, So, what do you think about this problem? Any concerns? If you have better ideas regarding ways to fix this, please let me know -- Best wishes, Dmytro |
From: Stas B. <sta...@gm...> - 2025-07-21 15:00:35
|
sort doesn't use sxhash. On Mon, Jul 21, 2025 at 5:20 PM Dave Brown <dav...@ho...> wrote: > > Hi -- I've been experiencing intermittent, but repeatable, crashes when running my search algorithm (:wouldwork) that I think are related to sorting an alist (produced by alexandria from a fixnum hash table). When I switch from using sort (which I understand uses sxhash) to using merge-sort-list (by Paul Khuong?) the error seems to go away, but it seems to double the compute time. Note that the resultant alists are fairly small < 10 items. Here are some basic details & thanks for any insights: > > Message: > CORRUPTION WARNING in SBCL pid 226247400: Memory fault at 0000000006ae9dff (pc=00000010006a16a0 [code 00000010006a1250+0x450 ID 0x43d0], fp=00000000005fee48, sp=00000000005fee10)7400 The integrity of this image is possibly compromised. Continuing with fingers crossed. debugger invoked on a SB-SYS:MEMORY-FAULT-ERROR in thread #<THREAD tid=7400 "main thread" RUNNING {1102A28093}>: Unhandled memory fault at #x6AE9DFF. Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level. ((LABELS SB-IMPL::SXHASH-RECURSE :IN SB-IMPL::PERHAPS-TRUNCATED-EQUAL-HASH) #<unavailable argument> #<unavailable argument>) 0] down ((LABELS SB-IMPL::SXHASH-RECURSE :IN SB-IMPL::PERHAPS-TRUNCATED-EQUAL-HASH) ((112107125 . T) (112109125 . T) (118108125 . T) (119109125 . T)) 17) > > Possible source: > (defun idb-to-sorted-alist (idb-hash-table) > "Converts an IDB hash table to a sorted alist using Alexandria." > (sort (alexandria:hash-table-alist idb-hash-table) > #'< :key #'car)) ; Sort by fixnum keys > > OS: > Windows 11 Pro, ver 23H2, build 22631.5624 > > CPU: > Intel(R) Core(TM) i9-14900K 3.20 GHz > > Memory: > Corsair, 32 GB (2x16), DDR5-4800 > > SBCL: > C:\Windows\System32>sbcl --dynamic-space-size 28000 > This is SBCL 2.5.6, an implementation of ANSI Common Lisp. > > > _______________________________________________ > Sbcl-bugs mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs |
From: Dave B. <dav...@ho...> - 2025-07-19 20:25:33
|
Hi -- I've been experiencing intermittent, but repeatable, crashes when running my search algorithm (:wouldwork) that I think are related to sorting an alist (produced by alexandria from a fixnum hash table). When I switch from using sort (which I understand uses sxhash) to using merge-sort-list (by Paul Khuong?) the error seems to go away, but it seems to double the compute time. Note that the resultant alists are fairly small < 10 items. Here are some basic details & thanks for any insights: Message: CORRUPTION WARNING in SBCL pid 226247400: Memory fault at 0000000006ae9dff (pc=00000010006a16a0 [code 00000010006a1250+0x450 ID 0x43d0], fp=00000000005fee48, sp=00000000005fee10)7400 The integrity of this image is possibly compromised. Continuing with fingers crossed. debugger invoked on a SB-SYS:MEMORY-FAULT-ERROR in thread #<THREAD tid=7400 "main thread" RUNNING {1102A28093}>: Unhandled memory fault at #x6AE9DFF. Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [ABORT] Exit debugger, returning to top level. ((LABELS SB-IMPL::SXHASH-RECURSE :IN SB-IMPL::PERHAPS-TRUNCATED-EQUAL-HASH) #<unavailable argument> #<unavailable argument>) 0] down ((LABELS SB-IMPL::SXHASH-RECURSE :IN SB-IMPL::PERHAPS-TRUNCATED-EQUAL-HASH) ((112107125 . T) (112109125 . T) (118108125 . T) (119109125 . T)) 17) Possible source: (defun idb-to-sorted-alist (idb-hash-table) "Converts an IDB hash table to a sorted alist using Alexandria." (sort (alexandria:hash-table-alist idb-hash-table) #'< :key #'car)) ; Sort by fixnum keys OS: Windows 11 Pro, ver 23H2, build 22631.5624 CPU: Intel(R) Core(TM) i9-14900K 3.20 GHz Memory: Corsair, 32 GB (2x16), DDR5-4800 SBCL: C:\Windows\System32>sbcl --dynamic-space-size 28000 This is SBCL 2.5.6, an implementation of ANSI Common Lisp. |
From: Stas B. <sta...@gm...> - 2025-07-17 20:47:19
|
Fixed. Thanks. On Sat, Jul 12, 2025 at 5:31 PM Bohong Huang via Sbcl-bugs <sbc...@li...> wrote: > > Hello SBCL developers, > > The following code: > > > (defstruct a > (a nil :type (or a null))) > > (defun recursive-a () > (let ((a (make-a))) > (setf (a-a a) a))) > > (read-from-string "#S(A :A (#.(RECURSIVE-A)))") > > > can exhaust the control stack during execution: > > > Control stack exhausted (no more space for function call frames). > This is probably due to heavily nested or infinitely recursive function > calls, or a tail call that SBCL cannot or has not optimized away. > > PROCEED WITH CAUTION. > [Condition of type SB-KERNEL::CONTROL-STACK-EXHAUSTED] > > Restarts: > 0: [RETRY] Retry SLY interactive evaluation request. > 1: [*ABORT] Return to SLY's top level. > 2: [ABORT] abort thread (#<THREAD tid=5613 "slynk-worker" RUNNING {1201E9DC13}>) > > Backtrace: > 0: (SB-KERNEL::CONTROL-STACK-EXHAUSTED-ERROR) > 1: ("foreign function: call_into_lisp_") > 2: ("foreign function: post_signal_tramp") > 3: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) > 4: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) > 5: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106A3017B}>) > 6: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) > 7: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) > 8: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106A3030B}>) > 9: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) > 10: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) > 11: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106A3049B}>) > 12: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) > > ... > > 15134: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106C1C92B}>) > 15135: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) > 15136: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) > 15137: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) (#1=#S(A :A #1#))) > 15138: (SB-IMPL::SHARP-EQUAL-VISIT (#1=#S(A :A #1#)) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106C1CB3B}.. > 15139: (SB-IMPL::CONTAINS-MARKER (#1=#S(A :A #1#))) > 15140: ((LAMBDA (SB-IMPL::C) :IN SB-IMPL::SHARP-S) #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) > 15141: (SB-KERNEL::%SIGNAL #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) > 15142: (ERROR #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) > 15143: (SB-KERNEL:WITH-SIMPLE-CONDITION-RESTARTS ERROR NIL #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) > 15144: ((LABELS SB-KERNEL::TRY :IN SB-KERNEL::RESTART-TYPE-ERROR) #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) > 15145: (SB-KERNEL::RESTART-TYPE-ERROR (OR A NULL) #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))> -60) > 15146: (SB-KERNEL:INTERNAL-ERROR #.(SB-SYS:INT-SAP #X7F4106C1D040) #<unused argument>) > 15147: ("foreign function: call_into_lisp_") > 15148: ("foreign function: funcall2") > 15149: ("foreign function: interrupt_internal_error") > 15150: ("foreign function: #x55F1FE926B41") > 15151: (MAKE-A :A (#1=#S(A :A #1#))) > 15152: (SB-IMPL::SHARP-S #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> #\S NIL) > 15153: (SB-IMPL::READ-MAYBE-NOTHING #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> #\#) > 15154: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> T (NIL) T) > 15155: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> T (NIL) NIL) > 15156: (READ #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> T NIL NIL) > 15157: (SB-IMPL::%READ-FROM-STRING/SAFE "#S(A :A (#.(RECURSIVE-A)))" T NIL 0 NIL NIL) > 15158: (SB-INT:SIMPLE-EVAL-IN-LEXENV (READ-FROM-STRING "#S(A :A (#.(RECURSIVE-A)))") #<NULL-LEXENV>) > 15159: (EVAL (READ-FROM-STRING "#S(A :A (#.(RECURSIVE-A)))")) > > > This issue appears to be an issue only in recent versions of SBCL. > Thank you in advance for taking the time to look into this issue. > > > Best regards, > > Bohong Huang > > > > _______________________________________________ > Sbcl-bugs mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs |
From: Stas B. <sta...@gm...> - 2025-07-16 20:32:21
|
Fixed. Thanks. On Wed, Jul 16, 2025 at 1:46 PM Eric Marsden <eri...@ri...> wrote: > > Hi, > > This is from random-integer testing on AMD64. > > * (lisp-implementation-version) > "2.5.6.62-95edde758" > * (defun baz (a) (declare (optimize (space 0)) (type (member 684016 21) a)) (scale-float 1d0 a)) > ; in: DEFUN BAZ > ; (SCALE-FLOAT 1.0d0 A) > ; > ; caught STYLE-WARNING: > ; Lisp error during constant folding: > ; The function SB-KERNEL:%MAKE-DOUBLE-FLOAT is undefined. > ; > ; compilation unit finished > ; caught 1 STYLE-WARNING condition > BAZ > * (baz 21) > debugger invoked on a UNDEFINED-FUNCTION @B800000C2C in thread > #<THREAD tid=25129 "main thread" RUNNING {1200BD0003}>: > The function SB-KERNEL:%MAKE-DOUBLE-FLOAT is undefined. > > > > > _______________________________________________ > Sbcl-bugs mailing list > Sbc...@li... > https://lists.sourceforge.net/lists/listinfo/sbcl-bugs |
From: Eric M. <eri...@ri...> - 2025-07-16 10:45:48
|
Hi, This is from random-integer testing on AMD64. * (lisp-implementation-version) "2.5.6.62-95edde758" * (defun baz (a) (declare (optimize (space 0)) (type (member 684016 21) a)) (scale-float 1d0 a)) ; in: DEFUN BAZ ; (SCALE-FLOAT 1.0d0 A) ; ; caught STYLE-WARNING: ; Lisp error during constant folding: ; The function SB-KERNEL:%MAKE-DOUBLE-FLOAT is undefined. ; ; compilation unit finished ; caught 1 STYLE-WARNING condition BAZ * (baz 21) debugger invoked on a UNDEFINED-FUNCTION @B800000C2C in thread #<THREAD tid=25129 "main thread" RUNNING {1200BD0003}>: The function SB-KERNEL:%MAKE-DOUBLE-FLOAT is undefined. |
From: Eric M. <eri...@ri...> - 2025-07-16 10:43:06
|
Hi, This is from random-integer testing on AMD64. * (lisp-implementation-version) "2.5.6.62-95edde758" * (defun foo (a) (declare (type (integer -4 9) a)) (mask-field (byte 10 5) (* 42 (ash (eval 42) (shiftf a -3))))) debugger invoked on a SB-INT:BUG in thread #<THREAD tid=26503 "main thread" RUNNING {1200BD0003}>: full call to SB-VM::*-MODFX This is probably a bug in SBCL itself. (Alternatively, SBCL might have been corrupted by bad user code, e.g. by an undefined Lisp operation like (FMAKUNBOUND 'COMPILE), or by stray pointers from alien code or from unsafe Lisp code; or there might be a bug in the OS or hardware that SBCL is running on.) If it seems to be a bug in SBCL itself, the maintainers would like to know about it. Bug reports are welcome on the SBCL mailing lists, which you can find at <http://sbcl.sourceforge.net/>. (SB-INT:BUG "full call to ~S" SB-VM::*-MODFX) 0] backtrace Backtrace for: #<SB-THREAD:THREAD tid=26503 "main thread" RUNNING {1200BD0003}> 0: (SB-INT:BUG "full call to ~S" SB-VM::*-MODFX) 1: (SB-C::PONDER-FULL-CALL #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME SB-VM::*-MODFX :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION (INTEGER INTEGER) (VALUES FIXNUM &OPTIONAL))> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {120290D7E3}> {12028F46A3}> :ARGS (#<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME ASH :TYPE #2=#<SB-KERNEL:FUN-TYPE #> :DEFINED-TYPE #2# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {12028F4993}> {12028F4A73}> :ARGS (#<SB-C::COMBINATION :FUN # :ARGS # {120290DD03}> #<SB-C::REF :%SOURCE-NAME A :LEAF # {12028F6FF3}>) {12028F4AE3}> #<SB-C::REF :LEAF #<SB-KERNEL:CONSTANT :VALUE 42 {12028F4843}> {12028F48A3}>) {12028F4713}>) 2: (SB-C::IR2-CONVERT-FULL-CALL #<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME SB-VM::*-MODFX :TYPE #1=#<SB-KERNEL:FUN-TYPE (FUNCTION (INTEGER INTEGER) (VALUES FIXNUM &OPTIONAL))> :DEFINED-TYPE #1# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {120290D7E3}> {12028F46A3}> :ARGS (#<SB-C::COMBINATION :FUN #<SB-C::REF :LEAF #<SB-C::GLOBAL-VAR :%SOURCE-NAME ASH :TYPE #2=#<SB-KERNEL:FUN-TYPE #> :DEFINED-TYPE #2# :WHERE-FROM :DECLARED :KIND :GLOBAL-FUNCTION {12028F4993}> {12028F4A73}> :ARGS (#<SB-C::COMBINATION :FUN # :ARGS # {120290DD03}> #<SB-C::REF :%SOURCE-NAME A :LEAF # {12028F6FF3}>) {12028F4AE3}> #<SB-C::REF :LEAF #<SB-KERNEL:CONSTANT :VALUE 42 {12028F4843}> {12028F48A3}>) {12028F4713}> #<SB-C::IR2-BLOCK :START-VOP #<SB-C::VOP :INFO SB-C:MOVE :ARGS #<SB-C:TN-REF :TN #<SB-C:TN #:G7!1 :NORMAL> :WRITE-P NIL :VOP SB-C:MOVE> :RESULTS #<SB-C:TN-REF :TN #<SB-C:TN t2 :NORMAL> :WRITE-P T :VOP SB-C:MOVE>> :LAST-VOP #<SB-C::VOP :INFO SB-C:MOVE :ARGS #<SB-C:TN-REF :TN #<SB-C:TN t3[RDX(d)] :NORMAL> :WRITE-P NIL :VOP SB-C:MOVE> :RESULTS #<SB-C:TN-REF :TN #<SB-C:TN t4 :NORMAL> :WRITE-P T :VOP SB-C:MOVE>> {120293EA43}>) 3: (SB-C::IR2-CONVERT-BLOCK #<SB-C::CBLOCK 4 :START c1 {12029385C3}>) |
From: Lee J. H. <jia...@ou...> - 2025-07-14 02:39:47
|
Hi, In compiler mode, these are straight forward and working as expected. But when doing the same in interpreter mode, one faces with lots of unexpected type errors. CL-USER> (setf sb-ext:*evaluator-mode* :compile) :COMPILE ;;; With initial value CL-USER> (with-alien ((foo integer 3)) (values foo (addr foo))) 3 #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X7F99C356FFF8 :TYPE (* (SB-ALIEN:SIGNED 64))> ;;; Without initial value, but given via SETF. CL-USER> (with-alien ((foo integer)) (setf foo 3) (values foo (addr foo))) 3 #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X7F99C356FFF8 :TYPE (* (SB-ALIEN:SIGNED 64))> In interpreter mode, when initial values are provided, there is no way to use the bound variable in the body due to type errors: CL-USER> (setf sb-ext:*evaluator-mode* :interpret) :INTERPRET ;;; With initial value CL-USER> (with-alien ((foo integer 3)) foo) ; Evaluation aborted on #<TYPE-ERROR expected-type: SB-ALIEN-INTERNALS:ALIEN-VALUE datum: 3>. CL-USER> (with-alien ((foo integer 3)) foo 100) ; Evaluation aborted on #<TYPE-ERROR expected-type: SB-ALIEN-INTERNALS:ALIEN-VALUE datum: 3>. CL-USER> (with-alien ((foo integer 3)) (addr foo)) ; Evaluation aborted on #<TYPE-ERROR expected-type: (ALIEN (* T)) datum: 3>. A workaround is to assign initial value via SETF. But naive SETF is not the right way. It seems to work, but erred with further usage. It appears that SETF has changed the value type. ;;; Without initial value ;; Seems to work CL-USER> (with-alien ((foo integer)) (setf foo 3)) 3 ;; Erred with further usage CL-USER> (with-alien ((foo integer)) (setf foo 3) foo) ; Evaluation aborted on #<TYPE-ERROR expected-type: SB-ALIEN-INTERNALS:ALIEN-VALUE datum: 3>. CL-USER> (with-alien ((foo integer)) (setf foo 3) (addr foo)) ; Evaluation aborted on #<TYPE-ERROR expected-type: (ALIEN (* T)) datum: 3>. Then, I realise the correct but tedious way to SETF via `(DEREF (ADDR name))`. I'd expect this to be handled internally by the WITH-ALIEN. CL-USER> (with-alien ((foo integer)) (setf (deref (addr foo)) 3) (values foo (addr foo))) 3 #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X559CD95D29A0 :TYPE (* (SB-ALIEN:SIGNED 32))> In short, I'd expect SB-ALIEN:WITH-ALIEN to behave consistently in both compiler and interpreter mode. Environment: SBCL 2.5.6 Linux x86_64 Many thanks, Jia Hong |
From: Lee J. H. <jia...@ou...> - 2025-07-13 02:49:39
|
Hi, As per SBCL manual (http://www.sbcl.org/manual/index.html#Foreign-Type-Specifiers): > An array whose first dimension is variable may be specified by using `nil` as the first dimension. [...] Dynamic arrays can only be allocated using `sb-alien:make-alien`. I'd expect this to allocate an array of dimensions (30 3 3), but it fails with type error. CL-USER> (make-alien (array c-string nil 3 3) 30) ; Evaluation aborted on #<TYPE-ERROR expected-type: (UNSIGNED-BYTE 62) datum: NIL>. I believe this is an error in type checking because if I pass in anything else, it'll error out "The first dimension is not a non-negative fixnum or *NIL*" (emphasis mine). CL-USER> (make-alien (array c-string 'abc 3 3) 30) ; Evaluation aborted on #<SIMPLE-ERROR "The first dimension is not a non-negative fixnum or NIL: ~S" {1200F766C3}>. Environment: SBCL 2.5.6 Linux x86_64 Many thanks, Jia Hong |
From: Lee J. H. <jia...@ou...> - 2025-07-13 02:33:59
|
Hi, I've found an inconsistent behaviour of SB-ALIEN:MAKE-ALIEN with its size argument. With integer literal, the first dimension is overridden. CL-USER> (make-alien (array c-string 3 3 3) 30) #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X55A164252A90 :TYPE (* (ARRAY SB-ALIEN:C-STRING 30 3 3))> With (lexical/dynamic) variables, it is ignored. I'll expect it to override the first dimension as well. ;; Lexical variable CL-USER> (let ((size 30)) (make-alien (array c-string 3 3 3) size)) #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X55A164252A90 :TYPE (* (ARRAY SB-ALIEN:C-STRING 3 3 3))> ; expected to be dimension (30 3 3) as before ;; Dynamic variable CL-USER> (defvar *size* 30) *SIZE* CL-USER> (make-alien (array c-string 3 3 3) *size*) #<SB-ALIEN-INTERNALS:ALIEN-VALUE :SAP #X55A164252A90 :TYPE (* (ARRAY SB-ALIEN:C-STRING 3 3 3))> Environment: SBCL 2.5.6 Linux x86_64 Many thanks, Jia Hong |
From: Bohong H. <boh...@qq...> - 2025-07-11 17:33:08
|
Hello SBCL developers, The following code: (defstruct a (a nil :type (or a null))) (defun recursive-a () (let ((a (make-a))) (setf (a-a a) a))) (read-from-string "#S(A :A (#.(RECURSIVE-A)))") can exhaust the control stack during execution: Control stack exhausted (no more space for function call frames). This is probably due to heavily nested or infinitely recursive function calls, or a tail call that SBCL cannot or has not optimized away. PROCEED WITH CAUTION. [Condition of type SB-KERNEL::CONTROL-STACK-EXHAUSTED] Restarts: 0: [RETRY] Retry SLY interactive evaluation request. 1: [*ABORT] Return to SLY's top level. 2: [ABORT] abort thread (#<THREAD tid=5613 "slynk-worker" RUNNING {1201E9DC13}>) Backtrace: 0: (SB-KERNEL::CONTROL-STACK-EXHAUSTED-ERROR) 1: ("foreign function: call_into_lisp_") 2: ("foreign function: post_signal_tramp") 3: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) 4: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) 5: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106A3017B}>) 6: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) 7: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) 8: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106A3030B}>) 9: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) 10: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) 11: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106A3049B}>) 12: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) ... 15134: (SB-IMPL::SHARP-EQUAL-VISIT #1=#S(A :A #1#) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106C1C92B}>) 15135: (SB-IMPL::CONTAINS-MARKER #1=#S(A :A #1#)) 15136: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) #1=#S(A :A #1#)) 15137: ((LABELS SB-IMPL::RECURSE :IN SB-IMPL::SHARP-EQUAL-VISIT) (#1=#S(A :A #1#))) 15138: (SB-IMPL::SHARP-EQUAL-VISIT (#1=#S(A :A #1#)) #<FUNCTION (FLET SB-IMPL::PROCESS :IN SB-IMPL::CONTAINS-MARKER) {1200CD165B}> #<FUNCTION (FLET SB-IMPL::VISIT :IN SB-IMPL::CONTAINS-MARKER) {7F4106C1CB3B}.. 15139: (SB-IMPL::CONTAINS-MARKER (#1=#S(A :A #1#))) 15140: ((LAMBDA (SB-IMPL::C) :IN SB-IMPL::SHARP-S) #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) 15141: (SB-KERNEL::%SIGNAL #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) 15142: (ERROR #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) 15143: (SB-KERNEL:WITH-SIMPLE-CONDITION-RESTARTS ERROR NIL #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) 15144: ((LABELS SB-KERNEL::TRY :IN SB-KERNEL::RESTART-TYPE-ERROR) #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))>) 15145: (SB-KERNEL::RESTART-TYPE-ERROR (OR A NULL) #<TYPE-ERROR expected-type: (OR A NULL) datum: (#1=#S(A :A #1#))> -60) 15146: (SB-KERNEL:INTERNAL-ERROR #.(SB-SYS:INT-SAP #X7F4106C1D040) #<unused argument>) 15147: ("foreign function: call_into_lisp_") 15148: ("foreign function: funcall2") 15149: ("foreign function: interrupt_internal_error") 15150: ("foreign function: #x55F1FE926B41") 15151: (MAKE-A :A (#1=#S(A :A #1#))) 15152: (SB-IMPL::SHARP-S #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> #\S NIL) 15153: (SB-IMPL::READ-MAYBE-NOTHING #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> #\#) 15154: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> T (NIL) T) 15155: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> T (NIL) NIL) 15156: (READ #<SB-IMPL::STRING-INPUT-STREAM {12020A83A3}> T NIL NIL) 15157: (SB-IMPL::%READ-FROM-STRING/SAFE "#S(A :A (#.(RECURSIVE-A)))" T NIL 0 NIL NIL) 15158: (SB-INT:SIMPLE-EVAL-IN-LEXENV (READ-FROM-STRING "#S(A :A (#.(RECURSIVE-A)))") #<NULL-LEXENV>) 15159: (EVAL (READ-FROM-STRING "#S(A :A (#.(RECURSIVE-A)))")) This issue appears to be an issue only in recent versions of SBCL. Thank you in advance for taking the time to look into this issue. Best regards, Bohong Huang |