GNU bug report logs - #62765
Guile's "sleep pipe" can leak into processes created by 'spawn'

Previous Next

Package: guix;

Reported by: Stephen Paul Weber <singpolyma <at> singpolyma.net>

Date: Tue, 11 Apr 2023 01:54:02 UTC

Severity: important

Merged with 62334, 63024

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 62765 in the body.
You can then email your comments to 62765 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#62765; Package guix. (Tue, 11 Apr 2023 01:54:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stephen Paul Weber <singpolyma <at> singpolyma.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Tue, 11 Apr 2023 01:54:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stephen Paul Weber <singpolyma <at> singpolyma.net>
To: bug-guix <at> gnu.org
Subject: Python importer gets confused about network access
Date: Mon, 10 Apr 2023 20:53:24 -0500
[Message part 1 (text/plain, inline)]
Trying `guix import pypi -r gruut` I get:

Starting download of /tmp/guix-file.hITnlA
From https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz...
In procedure connect: Network is unreachable

But doing `guix import pypi -r num2words` works fine.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#62765; Package guix. (Tue, 11 Apr 2023 08:38:02 GMT) Full text and rfc822 format available.

Message #8 received at 62765 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Stephen Paul Weber <singpolyma <at> singpolyma.net>, 62765 <at> debbugs.gnu.org
Subject: Re: bug#62765: Python importer gets confused about network access
Date: Tue, 11 Apr 2023 10:12:06 +0200
Hi,

I cannot reproduce.

On Mon, 10 Apr 2023 at 20:53, Stephen Paul Weber <singpolyma <at> singpolyma.net> wrote:

> Starting download of /tmp/guix-file.hITnlA
>  From https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz...
> In procedure connect: Network is unreachable
>
> But doing `guix import pypi -r num2words` works fine.

Is it systematic?  Or transient?  Or on your side?


Cheers,
simon




Information forwarded to bug-guix <at> gnu.org:
bug#62765; Package guix. (Tue, 11 Apr 2023 14:33:01 GMT) Full text and rfc822 format available.

Message #11 received at 62765 <at> debbugs.gnu.org (full text, mbox):

From: Stephen Paul Weber <singpolyma <at> singpolyma.net>
To: Simon Tournier <zimon.toutoune <at> gmail.com>
Cc: 62765 <at> debbugs.gnu.org
Subject: Re: bug#62765: Python importer gets confused about network access
Date: Tue, 11 Apr 2023 09:32:35 -0500
[Message part 1 (text/plain, inline)]
>I cannot reproduce.

Does the import work when you run it?
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#62765; Package guix. (Tue, 11 Apr 2023 14:52:01 GMT) Full text and rfc822 format available.

Message #14 received at 62765 <at> debbugs.gnu.org (full text, mbox):

From: Jack Hill <jackhill <at> jackhill.us>
To: Stephen Paul Weber <singpolyma <at> singpolyma.net>
Cc: 62765 <at> debbugs.gnu.org, Simon Tournier <zimon.toutoune <at> gmail.com>
Subject: Re: bug#62765: Python importer gets confused about network access
Date: Tue, 11 Apr 2023 10:50:59 -0400 (EDT)
[Message part 1 (text/plain, inline)]
On Tue, 11 Apr 2023, Stephen Paul Weber wrote:

>> I cannot reproduce.
>
> Does the import work when you run it?

Works for me (guix c1262edba9118af6507dc47ce6ad61ffdec02384):

```
$ guix import pypi -r gruut

Starting download of /tmp/guix-file.glzbrJ
From https://files.pythonhosted.org/packages/4c/74/40e0bff02cf4daa3908c440e2111b20490c82080259f0114d0cfe07ce126/gruut-2.3.4.tar.gz...
 ….4.tar.gz  72KiB                    1.1MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.IZKz4B
From https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz...
 ….13.0.tar.gz  99KiB                 2.0MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.EVbIBD
From https://files.pythonhosted.org/packages/76/c5/9dcb07bb44c7c66f89bdfb554d433c071ef7fed38d39d164716901db12b1/gruut_lang_en-2.0.0.tar.gz...
 …-2.0.0.tar.gz  14.5MiB              4.4MiB/s 00:03 ▕██████████████████▏ 100.0%
guix import: warning: Cannot guess requirements from source archive: no requires.txt file found.

Starting download of /tmp/guix-file.vlMVNT
From https://files.pythonhosted.org/packages/2a/c8/efdb87403dae07cf20faf75449eae41898b71d6a8d4ebaf9c80d5be215f5/jsonlines-3.1.0.tar.gz...
 ….1.0.tar.gz  8KiB                   5.6MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.jDheDU
From https://files.pythonhosted.org/packages/68/32/290ca20eb3a2b97ffa6ba1791fcafacb3cd2f41f539c96eb54cfc3cfcf47/jsonlines-3.1.0-py3-none-any.whl...
 …py3-none-any.whl  8KiB              3.0MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: warning: Failed to extract file: jsonlines-3.1.0.dist-info/METADATA from wheel.

Starting download of /tmp/guix-file.EPOrXf
From https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz...
 ….5.12.tar.gz  280KiB                3.3MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.tOdRgu
From https://files.pythonhosted.org/packages/eb/09/b14d798bc02411b1e5a9896d680f8f417cadc53232bbf7ae9d30263dcf45/num2words-0.5.12-py3-none-any.whl...
 …-py3-none-any.whl  122KiB           2.1MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: warning: Failed to extract file: num2words-0.5.12.dist-info/METADATA from wheel.

Starting download of /tmp/guix-file.sgNV9f
From https://files.pythonhosted.org/packages/3b/f4/6ca74fe5a38da704687cb1c4d4ad60e1b31c3123e1498de450530042c7f5/python-crfsuite-0.9.9.tar.gz...
 …e-0.9.9.tar.gz  430KiB              3.0MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.ihTx8n
From https://files.pythonhosted.org/packages/7e/2f/0a1e4c279d2b01ab3080ea40d14fa051fd867ab87c9ffb42420eb87feed1/python_crfsuite-0.9.9-cp310-cp310-macosx_10_9_x86_64.whl...
 …cp310-macosx_10_9_x86_64.whl  180KiB 2.9MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: warning: Failed to extract file: python_crfsuite-0.9.9.dist-info/METADATA from wheel.
guix import: warning: Cannot guess requirements from source archive: no requires.txt file found.
(define-public python-crfsuite
  (package
    (name "python-crfsuite")
    (version "0.9.9")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "python-crfsuite" version))
              (sha256
               (base32
                "0vd7ndi9q4hc336bbgg3ccln4l7xskxzrdw6z5b6fijmd4fjd9na"))))
    (build-system python-build-system)
    (home-page "https://github.com/scrapinghub/python-crfsuite")
    (synopsis "Python binding for CRFsuite")
    (description "Python binding for CRFsuite")
    (license license:expat)))

(define-public python-num2words
  (package
    (name "python-num2words")
    (version "0.5.12")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "num2words" version))
              (sha256
               (base32
                "120938q7h6syn16ybf0pmcxz0fqbm4f2plyr3lxal184107hnz3y"))))
    (build-system python-build-system)
    (propagated-inputs (list python-docopt))
    (home-page "https://github.com/savoirfairelinux/num2words")
    (synopsis "Modules to convert numbers to words. Easily extensible.")
    (description "Modules to convert numbers to words.  Easily extensible.")
    (license #f)))

(define-public python-jsonlines
  (package
    (name "python-jsonlines")
    (version "3.1.0")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "jsonlines" version))
              (sha256
               (base32
                "0zy3llabmxsq559s73x1c84xlch3dcz9wql1xfq1by4nim4cny95"))))
    (build-system python-build-system)
    (propagated-inputs (list python-attrs))
    (home-page "https://github.com/wbolster/jsonlines")
    (synopsis "Library with helpers for the jsonlines file format")
    (description "Library with helpers for the jsonlines file format")
    (license license:bsd-3)))

(define-public python-gruut-lang-en
  (package
    (name "python-gruut-lang-en")
    (version "2.0.0")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "gruut_lang_en" version))
              (sha256
               (base32
                "0lhy2z6y98djmg229jzd3ylay3jwg1s3js20l1zais7bvnvg63w9"))))
    (build-system python-build-system)
    (home-page "https://github.com/rhasspy/gruut")
    (synopsis "English language files for gruut tokenizer/phonemizer")
    (description "English language files for gruut tokenizer/phonemizer")
    (license #f)))

(define-public python-gruut-ipa
  (package
    (name "python-gruut-ipa")
    (version "0.13.0")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "gruut-ipa" version))
              (sha256
               (base32
                "0vn6pvqm3aqijynnnbyc0wv165s3ylvfbm6k2jmikqa6kywnwxvi"))))
    (build-system python-build-system)
    (home-page "https://github.com/rhasspy/gruut-ipa")
    (synopsis
     "Library for manipulating pronunciations using the International Phonetic Alphabet (IPA)")
    (description
     "Library for manipulating pronunciations using the International Phonetic
Alphabet (IPA)")
    (license #f)))

(define-public python-gruut
  (package
    (name "python-gruut")
    (version "2.3.4")
    (source (origin
              (method url-fetch)
              (uri (pypi-uri "gruut" version))
              (sha256
               (base32
                "1mqvvpaxwp42zink9h1nj0zjr9rs589rhghfrdhspxp4d3xdc43p"))))
    (build-system python-build-system)
    (propagated-inputs (list python-babel
                             python-crfsuite
                             python-dateparser
                             python-gruut-ipa
                             python-gruut-lang-en
                             python-jsonlines
                             python-networkx
                             python-num2words
                             python-numpy))
    (home-page "https://github.com/rhasspy/gruut")
    (synopsis
     "A tokenizer, text cleaner, and phonemizer for many human languages.")
    (description
     "This package provides a tokenizer, text cleaner, and phonemizer for many human
languages.")
    (license #f)))
```

Information forwarded to bug-guix <at> gnu.org:
bug#62765; Package guix. (Tue, 11 Apr 2023 15:08:02 GMT) Full text and rfc822 format available.

Message #17 received at 62765 <at> debbugs.gnu.org (full text, mbox):

From: Simon Tournier <zimon.toutoune <at> gmail.com>
To: Stephen Paul Weber <singpolyma <at> singpolyma.net>
Cc: 62765 <at> debbugs.gnu.org
Subject: Re: bug#62765: Python importer gets confused about network access
Date: Tue, 11 Apr 2023 17:07:43 +0200
Hi,

On mar., 11 avril 2023 at 09:32, Stephen Paul Weber <singpolyma <at> singpolyma.net> wrote:
>>I cannot reproduce.
>
> Does the import work when you run it?

Yes and no. :-)

It depends the Guix revision.  Using a revision from January as 29efa27,
it works.  But using 86d580c from April, it fails with:

--8<---------------cut here---------------start------------->8---
Starting download of /tmp/guix-file.cB9cmQ
From https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz...
In procedure connect: Network is unreachable
--8<---------------cut here---------------end--------------->8---

which passes with 29efa27.  And indeed, using 86d580c, “guix import pypi
num2words -r” passes without any error, downloading from the exact same
URL. Hum?!

Well, I do not know which change impacts this regression.


Cheers,
simon


--8<---------------cut here---------------start------------->8---
$ guix import pypi -r gruut

Starting download of /tmp/guix-file.Vlu2YX
From https://files.pythonhosted.org/packages/4c/74/40e0bff02cf4daa3908c440e2111b20490c82080259f0114d0cfe07ce126/gruut-2.3.4.tar.gz...
 ….4.tar.gz  72KiB                    7.4MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.Fq9iuS
From https://files.pythonhosted.org/packages/51/9f/7eff478e38913cc9930527ff40c9ebcb04744dfcd0ddd43bd5a1eb9565b7/gruut-ipa-0.13.0.tar.gz...
 ….13.0.tar.gz  99KiB                 8.7MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.GgsRw5
From https://files.pythonhosted.org/packages/76/c5/9dcb07bb44c7c66f89bdfb554d433c071ef7fed38d39d164716901db12b1/gruut_lang_en-2.0.0.tar.gz...
 …-2.0.0.tar.gz  14.5MiB             41.7MiB/s 00:00 ▕██████████████████▏ 100.0%
guix import: warning: Cannot guess requirements from source archive: no requires.txt file found.

Starting download of /tmp/guix-file.vXTdBs
From https://files.pythonhosted.org/packages/2a/c8/efdb87403dae07cf20faf75449eae41898b71d6a8d4ebaf9c80d5be215f5/jsonlines-3.1.0.tar.gz...
 ….1.0.tar.gz  8KiB                   9.3MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.qTFTjC
From https://files.pythonhosted.org/packages/68/32/290ca20eb3a2b97ffa6ba1791fcafacb3cd2f41f539c96eb54cfc3cfcf47/jsonlines-3.1.0-py3-none-any.whl...
 …py3-none-any.whl  8KiB             10.2MiB/s 00:00 ▕██████████████████▏ 100.0%

Starting download of /tmp/guix-file.cB9cmQ
From https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz...
In procedure connect: Network is unreachable

Starting download of /tmp/guix-file.cB9cmQ
From https://web.archive.org/web/20230411165120/https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz...
In procedure connect*: Connection timed out
Trying to use Disarchive to assemble /tmp/guix-file.cB9cmQ...
could not find its Disarchive specification
failed to download "/tmp/guix-file.cB9cmQ" from "https://files.pythonhosted.org/packages/74/67/3008e4f0b97d9a5701c8ef3bf95f1941c5b0a620c8f88f32e849117f8dc0/num2words-0.5.12.tar.gz"
Backtrace:
          13 (primitive-load "/home/simon/.config/guix/current/bin/guix")
In guix/ui.scm:
   2300:7 12 (run-guix . _)
  2263:10 11 (run-guix-command _ . _)
In guix/scripts/import.scm:
    89:11 10 (guix-import . _)
In ice-9/boot-9.scm:
  1752:10  9 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In guix/scripts/import/pypi.scm:
    97:21  8 (_)
In guix/import/utils.scm:
    638:3  7 (recursive-import _ #:repo->guix-package _ #:guix-name _ #:version _ . _)
   600:31  6 (topological-sort _ #<procedure 7f444ff63a80 at guix/import/utils.scm:639:21 (node)> #<procedure 7f44557e8b00 at guix/import/utils.scm:645:21 (node)>)
In srfi/srfi-1.scm:
   586:29  5 (map1 _)
   586:29  4 (map1 (("gruut_lang_en" #f) ("jsonlines" #f) ("num2words" #f) ("python-crfsuite" #f)))
   586:29  3 (map1 (("jsonlines" #f) ("num2words" #f) ("python-crfsuite" #f)))
   586:17  2 (map1 (("num2words" #f) ("python-crfsuite" #f)))
In guix/import/utils.scm:
   630:33  1 (lookup-node "num2words" #f)
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Wrong number of values returned to continuation (expected 2)
--8<---------------cut here---------------end--------------->8---






Merged 62334 62765 63024. Request was from zimoun <zimon.toutoune <at> gmail.com> to control <at> debbugs.gnu.org. (Mon, 24 Apr 2023 08:54:03 GMT) Full text and rfc822 format available.

Severity set to 'important' from 'normal' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 02 May 2023 21:50:02 GMT) Full text and rfc822 format available.

Changed bug title to 'Guile's "sleep pipe" can leak into processes created by 'spawn'' from 'Python importer gets confused about network access' Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Tue, 02 May 2023 21:51:01 GMT) Full text and rfc822 format available.

bug closed, send any further explanations to 63024 <at> debbugs.gnu.org and "Timo Wilken" <guix <at> twilken.net> Request was from Ludovic Courtès <ludo <at> gnu.org> to control <at> debbugs.gnu.org. (Fri, 06 Sep 2024 20:58:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 05 Oct 2024 11:24:09 GMT) Full text and rfc822 format available.

This bug report was last modified 215 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.