unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* bug#69730: Segfault in (spawn) when passed wrong port
@ 2024-03-11 11:10 Tomas Volf
  2024-05-06  9:27 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: Tomas Volf @ 2024-03-11 11:10 UTC (permalink / raw)
  To: 69730

[-- Attachment #1: Type: text/plain, Size: 632 bytes --]

Greetings,

When I pass #f to spawn as a port, it just segfaults:

    $ guile -c '(spawn "true" (list "") #:error #f)'
    Segmentation fault

Ignoring the fact whether #f should be an accepted value (I think it would be
more elegant and portable then (open-output-file "/dev/null")), I would not
expect invalid value in an interpreted language to cause a segfault.  If the
value is indeed invalid, it should throw an error.

Original report: https://emacs.ch/@kakafarm/112075808549752692

Have a nice day,
Tomas Volf

--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* bug#69730: Segfault in (spawn) when passed wrong port
  2024-03-11 11:10 bug#69730: Segfault in (spawn) when passed wrong port Tomas Volf
@ 2024-05-06  9:27 ` Ludovic Courtès
  0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2024-05-06  9:27 UTC (permalink / raw)
  To: Tomas Volf; +Cc: 69730-done

Hi,

Tomas Volf <~@wolfsden.cz> 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’.





^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-05-06  9:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-03-11 11:10 bug#69730: Segfault in (spawn) when passed wrong port Tomas Volf
2024-05-06  9:27 ` Ludovic Courtès

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).