[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#62334: Network is unreachable only for recursive pypi import
From: |
Simon Tournier |
Subject: |
bug#62334: Network is unreachable only for recursive pypi import |
Date: |
Thu, 27 Apr 2023 15:32:24 +0200 |
Hi,
On mar., 25 avril 2023 at 14:23, Simon Tournier <zimon.toutoune@gmail.com>
wrote:
> Using the diff below,
diff --git a/guix/build/download.scm b/guix/build/download.scm
index db0a39084b..2eee984b31 100644
--- a/guix/build/download.scm
+++ b/guix/build/download.scm
@@ -409,18 +409,24 @@ (define addresses
(socket (addrinfo:fam ai) SOCK_STREAM IPPROTO_IP))))
(catch 'system-error
(lambda ()
- (connect* s (addrinfo:addr ai) timeout)
-
+ (pk 'uri (uri->string uri))
+ (pk 'before s (addrinfo:addr ai) timeout)
+ (pk 'connect* (connect* s (addrinfo:addr ai) timeout))
+ (pk 'done)
;; Buffer input and output on this port.
(setvbuf s 'block)
;; If we're using a proxy, make a note of that.
(when http-proxy (set-http-proxy-port?! s #t))
s)
(lambda args
+ (pk 'failed s)
;; Connection failed, so try one of the other addresses.
(close s)
+ (pk 'closed)
(if (null? (cdr addresses))
- (apply throw args)
+ (begin
+ (pk 'boum)
+ (apply throw args))
(loop (cdr addresses))))))))
(define (setup-http-tunnel port uri)
@@ -465,6 +471,7 @@ (define https-proxy (let ((proxy (getenv "https_proxy")))
(parameterize ((current-http-proxy https-proxy))
(thunk))
(thunk)))))))
+
(with-https-proxy
(let ((s (open-socket-for-uri uri #:timeout timeout)))
;; Buffer input and output on this port.
> for some mysterious reasons, ’connect*’ throws the
> error:
>
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix import pypi -r cdlib
> [...]
> Starting download of /tmp/guix-file.Ujg3KY
> From
> https://files.pythonhosted.org/packages/49/01/21337857631a97ab551bb2e3b5691ed6b1b9586011aa6a5355b9694a37fa/demon-2.0.6.tar.gz...
>
> ;;; (uri
> "https://files.pythonhosted.org/packages/49/01/21337857631a97ab551bb2e3b5691ed6b1b9586011aa6a5355b9694a37fa/demon-2.0.6.tar.gz")
>
> ;;; (before #<input-output: socket 14> #(2 2454407487 443) 10)
>
> ;;; (failed #<input-output: socket 14>)
>
> ;;; (closed)
>
> ;;; (uri
> "https://files.pythonhosted.org/packages/49/01/21337857631a97ab551bb2e3b5691ed6b1b9586011aa6a5355b9694a37fa/demon-2.0.6.tar.gz")
>
> ;;; (before #<input-output: socket 14> #(10
> 55849932267565577100763269369304187673 443 0 0) 10)
>
> ;;; (failed #<input-output: socket 14>)
>
> ;;; (closed)
>
> ;;; (boum)
> In procedure connect: Network is unreachable
> --8<---------------cut here---------------end--------------->8---
>
> and note it is an issue on our side:
>
> --8<---------------cut here---------------start------------->8---
> $ ./pre-inst-env guix import pypi -r demon
> ;;; (uri "https://pypi.org/pypi/demon/json")
>
> ;;; (before #<input-output: socket 13> #(2 2539978975 443) #f)
>
> ;;; (connect* #t)
>
> ;;; (done)
>
> Starting download of /tmp/guix-file.G5r627
> From
> https://files.pythonhosted.org/packages/49/01/21337857631a97ab551bb2e3b5691ed6b1b9586011aa6a5355b9694a37fa/demon-2.0.6.tar.gz...
>
> ;;; (uri
> "https://files.pythonhosted.org/packages/49/01/21337857631a97ab551bb2e3b5691ed6b1b9586011aa6a5355b9694a37fa/demon-2.0.6.tar.gz")
>
> ;;; (before #<input-output: socket 14> #(2 2454407487 443) 10)
>
> ;;; (connect* #<unspecified>)
>
> ;;; (done)
> ….6.tar.gz 7KiB 4.2MiB/s 00:00 ▕██████████████████▏
> 100.0%
>
> Starting download of /tmp/guix-file.4L0Phu
> From
> https://files.pythonhosted.org/packages/96/85/5f9146e3f8d7324d8741cd3bea9b99926d5ee75571b9610c661b1bbd06f5/demon-2.0.6-py3-none-any.whl...
>
> ;;; (uri
> "https://files.pythonhosted.org/packages/96/85/5f9146e3f8d7324d8741cd3bea9b99926d5ee75571b9610c661b1bbd06f5/demon-2.0.6-py3-none-any.whl")
>
> ;;; (before #<input-output: socket 15> #(2 2454407487 443) 10)
>
> ;;; (connect* #<unspecified>)
>
> ;;; (done)
> …3-none-any.whl 7KiB 5.5MiB/s 00:00 ▕██████████████████▏
> 100.0%
> (define-public python-demon
> (package
> (name "python-demon")
> (version "2.0.6")
> (source (origin
> (method url-fetch)
> (uri (pypi-uri "demon" version))
> (sha256
> (base32
> "0nd370yjfb3jirmxd0wa03c75dl7jac4xfsq1rvp5483mxddirb0"))))
> (build-system python-build-system)
> (propagated-inputs (list python-networkx python-tqdm))
> (home-page "https://github.com/GiulioRossetti/DEMON")
> (synopsis "Community Discovery algorithm")
> (description "Community Discovery algorithm")
> (license license:bsd-2)))
> --8<---------------cut here---------------end--------------->8---
>
>
> Maybe, it is a regression from some recent updates of Guile?
Anyone else is able to reproduce the same error?
Cheers,
simon