From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Zelphir Kaltstahl Newsgroups: gmane.lisp.guile.devel 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 Message-ID: <62b7c19c-c070-466f-952f-970a01abe817@posteo.de> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="------------yFLzHh5vy0RNZCuYKU3bhdtg" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="38161"; mail-complaints-to="usenet@ciao.gmane.io" To: guile-devel Original-X-From: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Fri Nov 29 23:15:32 2024 Return-path: Envelope-to: guile-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tH9Gt-0009l5-O3 for guile-devel@m.gmane-mx.org; Fri, 29 Nov 2024 23:15:31 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tH9GR-00057Y-S3; Fri, 29 Nov 2024 17:15:03 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tH9GP-00056Y-Bb for guile-devel@gnu.org; Fri, 29 Nov 2024 17:15:01 -0500 Original-Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tH9GM-0000vP-6d for guile-devel@gnu.org; Fri, 29 Nov 2024 17:15:00 -0500 Original-Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 9290E240029 for ; Fri, 29 Nov 2024 23:14:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1732918490; bh=cE4b5pNis2VmlNMlTDdpS+UFY1iT0RXitGJlYXEttR4=; h=Content-Type:Message-ID:Date:MIME-Version:From:To:Subject:From; b=eYov+3tHLFz6i5IhaA+qLyvpS4EW4KfKcQaFldGmV2gvh4FXQEdqmiK6/66iibUPk 9Q9WwEgEQDf7mIOCpptFz9FK8GxQcwqywwzLDeCuwGbxYgMbLQQrX9u86hk9Q00PVx 82MAzr1ldaK0YK0rLRDFFtaxmg0IGKq3JkCzVTsh9y0k5l11Bq+aurQ9QtMpZTS8/0 Mgu4EhuLrl0kfC9Kha0hI4TLNFZfeg8uDKcf4sh1CcHZnymI+5wsn7jtVLj6Q/jTgP TQxJ/FOf/Kp/rv1ihamK79G0WJ5nmI7k+mGgfwujTEYhNiB2XXTmJEi8VJ1sxqGJ+M UKY1zjQcfv4aQ== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Y0SCZ0tT9z9rxK for ; Fri, 29 Nov 2024 23:14:49 +0100 (CET) Content-Language: en-US Received-SPF: pass client-ip=185.67.36.65; envelope-from=zelphirkaltstahl@posteo.de; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.lisp.guile.devel:22808 Archived-At: This is a multi-part message in MIME format. --------------yFLzHh5vy0RNZCuYKU3bhdtg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 --------------yFLzHh5vy0RNZCuYKU3bhdtg Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 7bit

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
--------------yFLzHh5vy0RNZCuYKU3bhdtg--