bug#69730: Segfault in (spawn) when passed wrong port

Ludovic Courtès <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hi,

Tomas Volf <[email protected]> skribis:

> When I pass #f to spawn as a port, it just segfaults:
>
>     $ guile -c '(spawn "true" (list "") #:error #f)'
>     Segmentation fault

This was fixed a while back in the ‘main’ branch:

--8<---------------cut here---------------start------------->8---
$ guile -c '(spawn "true" (list "") #:error #f)'
Backtrace:
In ice-9/boot-9.scm:
  1755:12  6 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
           5 (apply-smob/0 #<thunk 7f6a52ad4300>)
In ice-9/boot-9.scm:
    724:2  4 (call-with-prompt ("prompt") #<procedure 7f6a52ae10c0 …> …)
In ice-9/eval.scm:
    619:8  3 (_ #(#(#<directory (guile-user) 7f6a52ad7c80>)))
In ice-9/command-line.scm:
   185:19  2 (_ #<input: custom-port 7f6a52ad1850>)
In unknown file:
           1 (eval (spawn "true" (list "") #:error #f) #<directory (…>)
           0 (spawn "true" ("") #:error #f)

ERROR: In procedure spawn:
In procedure spawn: Wrong type argument in position 5 (expecting open file port): #f
$ guix describe
Generation 301  May 05 2024 23:32:10    (current)
  shepherd 08dfcde
    repository URL: https://git.savannah.gnu.org/git/shepherd.git
    branch: devel
    commit: 08dfcde725e3b26f1e542a520c97a16aa9482802
  guile 3b76a30
    repository URL: https://git.savannah.gnu.org/git/guile.git
    branch: main
    commit: 3b76a30e3ca1f0b7ee7944836c2fc5660596b3bd
  guix d6c95d4
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: d6c95d4208a0cbc3ab742732865f9481c637660f
--8<---------------cut here---------------end--------------->8---

We ought to cut a release!

See <https://bugs.gnu.org/61073> and
5b42f8c154906584455a4989038406c88b723cb0.

Thanks,
Ludo’.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.