unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Zelphir Kaltstahl <zelphirkaltstahl@posteo.de>
To: guile-devel <guile-devel@gnu.org>
Subject: Weird issue with running guile in a guix shell, infinite output loop,  In procedure fport_read: Input/output error
Date: Fri, 29 Nov 2024 22:14:49 +0000	[thread overview]
Message-ID: <62b7c19c-c070-466f-952f-970a01abe817@posteo.de> (raw)

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

Hello Guile developers,

I observe something weird happening, when I develop some Guile module, and test 
things out in a Guile REPL, which I start in a Guix shell, in order to have 
dependencies installed.

~~~~
guix time-machine --channels=guix-env/channels.scm -- shell --check --manifest=guix-env/manifest.scm -- bash -c guile
~~~~

Using time machine here, to pin to one specific version of whatever I install. 
Content of other files:

~~~~manifest.scm~~~~
(specifications->manifest
  '("guile"
    "guile-pfds"))
~~~~

~~~~channels.scm~~~~
(list (channel
         (name 'guix)
         (url"https://git.savannah.gnu.org/git/guix.git")
         (branch "master")
         (commit
           "4473f8ae902c2192cab6919363a9101ce9861e45")
         (introduction
           (make-channel-introduction
             "9edb3f66fd807b096b48283debdcddccfea34bad"
             (openpgp-fingerprint
               "BBB0 2DDF 2CEA F6A8 0D1D  E643 A2A0 6DF2 A33A 54FA")))))
~~~~

So the time machine drops me into a Guile REPL:

~~~~
$ guix time-machine --channels=guix-env/channels.scm -- shell --check --manifest=guix-env/manifest.scm -- bash -c guile
guix shell: checking the environment variables visible from shell '/bin/bash'...
guix shell: All is good!  The shell gets correct environment variables.
GNU Guile 3.0.9
Copyright (C) 1995-2023 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)>
~~~~

If I press ctrl+c at any time in that REPL, the REPL exits, instead of merely 
saying user interrupt. I get dropped back to bash. That seems weird in itself, 
but if I then in that bash shell press enter/return, then suddenly I get an 
endless loop of output spewing out:

~~~~
In procedure fport_read: Input/output error
scheme@(guile-user)>
While reading expression:
In procedure fport_read: Input/output error
scheme@(guile-user)>
While reading expression:
In procedure fport_read: Input/output error
scheme@(guile-user)>
While reading expression:
~~~~

And so on, infinitely.

I don't know what is going on there. Perhaps it is also a guix problem, not a 
guile problem. However, if I try the same with Python, no such endless output is 
produced.

Of course, it is very likely to, at some point when using the REPL, make a 
mistake and wanting to cancel current input, hitting ctrl+c.

Any ideas what is going on?

Best regards,
Zelphir

-- 
repositories:https://notabug.org/ZelphirKaltstahl,https://codeberg.org/ZelphirKaltstahl

[-- Attachment #2: Type: text/html, Size: 3333 bytes --]

                 reply	other threads:[~2024-11-29 22:14 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=62b7c19c-c070-466f-952f-970a01abe817@posteo.de \
    --to=zelphirkaltstahl@posteo.de \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).