GNU bug report logs - #36340
Test failures when networking is disabled

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guile; Reported by: Cyprien Nicolas <cyprien@HIDDEN>; dated Sun, 23 Jun 2019 11:45:02 UTC; Maintainer for guile is bug-guile@HIDDEN.

Message received at 36340 <at> debbugs.gnu.org:


Received: (at 36340) by debbugs.gnu.org; 7 Jul 2019 13:26:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 07 09:26:51 2019
Received: from localhost ([127.0.0.1]:56313 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hk7Br-0004Qn-71
	for submit <at> debbugs.gnu.org; Sun, 07 Jul 2019 09:26:51 -0400
Received: from cubran.fulax.net ([91.224.149.126]:35629 ident=cubran)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cyprien@HIDDEN>) id 1hk7Bo-0004Qf-Qs
 for 36340 <at> debbugs.gnu.org; Sun, 07 Jul 2019 09:26:50 -0400
Received: from [192.168.1.9] (static-176-139-30-77.ftth.abo.bbox.fr
 [176.139.30.77])
 by cubran.fulax.net (Postfix) with ESMTPSA id D8D8596036;
 Sun,  7 Jul 2019 13:26:46 +0000 (UTC)
Authentication-Results: cubran.fulax.net; dmarc=none header.from=nicolas.tf
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nicolas.tf; s=beta;
 t=1562506006; bh=ufkNouHpgWpyT5SNdrFgkqk08lrDu7axUioZb99toyM=;
 h=Subject:To:Cc:References:From:Date:In-Reply-To:From;
 b=HuOvKuILaEc5bs+Ir2kNlA0pCO3wwVdz+zRFC7sa10XiTAld91SJhfw3oCMRzeEsz
 2hW1fjFOkYpGkT8Z7slH272TbzA+vOqLtvK6mU9e4pBvy/UfHRZUreayjYb57rGopT
 5M3mOLeaeJ5V1PPk/scNhWe9HQ8EOAo6xUMxLXHEHGvfp0p+kdBtXvF58Jcw2UEhqp
 7NSnZRGVHkCOOwdLZzPvav0DX8tqiBsSu2ksq8QqVQJYoOKOyO8LU5Mfq9WjSjFsY7
 bSRnMxRqmkZW9EZlrNF6WvdyVTIp+RTLoSl06nJeyKwHOQZOf9MELJgOOKYnsWk6Zf
 s26I5TV6NpZQgRq1uYctNwXFnxGhra2903/cr68XNRoPn6Y21xaSbAIdRcRP3Nv/NV
 jOjzx8MNIEhF2q/KinL7tAmze24nwAGpbbhebRckFAsH3DibrqIFDVpKkczfyEd0mg
 PSV8k/CLIJM9z7d8LxlJd1CSNKQ5QwnBFXGrGPSnmmURRwphm8Xi/4rmOAJHm3/4aD
 WM72T17TAu9oEtKydp+q4EW+bgXNJAuZAKH2ve0YL62j42hcFxXv6/Rt9w0rQkJ0xs
 Qmjff43jARfArt8nvNv6a8hMdiWSQ+/Jd0QsrKGnJF9QCzQcTQYm8SX1rB8QQOBuxX
 wIxbw7M6SXkrb9HtCdiYQi1g=
Subject: Re: bug#36340: Test failures when networking is disabled
To: =?UTF-8?Q?Ludovic_Court=c3=a8s?= <ludo@HIDDEN>
References: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN>
 <878strb1pk.fsf@HIDDEN>
From: Cyprien Nicolas <cyprien@HIDDEN>
Message-ID: <7983c7cd-8c1c-3d8e-f35e-6204880ffb4f@HIDDEN>
Date: Sun, 7 Jul 2019 15:26:46 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.7.1
MIME-Version: 1.0
In-Reply-To: <878strb1pk.fsf@HIDDEN>
Content-Type: multipart/mixed; boundary="------------60E7FB9D4C5D81126F01399E"
Content-Language: en-US
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 36340
Cc: 36340 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

This is a multi-part message in MIME format.
--------------60E7FB9D4C5D81126F01399E
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/06/2019 14:35, Ludovic Courtès wrote:
> Hi Cyprien!  :-)
> 
> Cyprien Nicolas <cyprien@HIDDEN> skribis:
> 
>> Is guile configured with --disable-networking still a supported
>> configuration?
> 
> In theory yes, but as you found out, it’s not well tested.
> 
> The way we’d normally addressing in the test suite is by testing:
> 
>    (provided? 'socket)
> 
> and/or:
> 
>    (provided? 'net-db)
> 
> and throwing to unresolved or skipping tests altogether.
> 
> Would you like to propose a patch that does that for all the instances
> that you found?

Do you mean also harmonizing current tests that uses

     (memq 'socket *features*) ; web-uri.test

and/or

     (defined? 'AF_INET) ; 00-socket.test

or only fixing failing ones?

The attached path mimics net-db.test style for skipping tests for
00-repl-server.test (I hope the indentation is correct).

However, we still have the ice-9 suspendable-ports module issue which
compiles fine but fails to load (actually not related to tests).

Thanks,

--------------60E7FB9D4C5D81126F01399E
Content-Type: text/x-patch;
 name="guile-tests-00-repl-server.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="guile-tests-00-repl-server.patch"

--- guile-2.2.6/test-suite/tests/00-repl-server.test.old	2017-04-14 23:26:40.000000000 +0200
+++ guile-2.2.6/test-suite/tests/00-repl-server.test	2019-07-07 15:14:59.681831790 +0200
@@ -105,47 +105,48 @@
 ;;; Since we call 'primitive-fork', these tests must run before any
 ;;; tests that create threads.
 
-(with-test-prefix "repl-server"
+(if (provided? 'socket)
+    (with-test-prefix "repl-server"
 
-  (pass-if-equal "simple expression"
-      "scheme@(repl-server)> $1 = 42\n"
-    (with-repl-server socket
-      (read-until-prompt socket %last-line-before-prompt)
-
-      ;; Wait until 'repl-reader' in boot-9 has written the prompt.
-      ;; Otherwise, if we write too quickly, 'repl-reader' checks for
-      ;; 'char-ready?' and doesn't print the prompt.
-      (match (select (list socket) '() (list socket) 3)
-        (((_) () ())
-         (display "(+ 40 2)\n(quit)\n" socket)
-         (read-string socket)))))
-
-  (pass-if "HTTP inter-protocol attack"           ;CVE-2016-8606
-    (with-repl-server socket
-      ;; Avoid SIGPIPE when the server closes the connection.
-      (sigaction SIGPIPE SIG_IGN)
-
-      (read-until-prompt socket %last-line-before-prompt)
-
-      ;; Simulate an HTTP inter-protocol attack.
-      (write-request (build-request (string->uri "http://localhost"))
-                     socket)
-
-      ;; Make sure the server reacts by closing the connection.  If it
-      ;; fails to do that, this test hangs.
-      (catch 'system-error
-        (lambda ()
-          (let loop ((n 0))
-            (display "(+ 40 2)\n(quit)\n" socket) ;trigger EPIPE
-            (read-string socket)
-            (if (> n 5)
-                #f                                ;failure
-                (begin
-                  (sleep 1)
-                  (loop (+ 1 n))))))
-        (lambda args
-          (->bool (memv (system-error-errno args)
-                        (list ECONNRESET EPIPE ECONNABORTED))))))))
+      (pass-if-equal "simple expression"
+          "scheme@(repl-server)> $1 = 42\n"
+        (with-repl-server socket
+          (read-until-prompt socket %last-line-before-prompt)
+
+          ;; Wait until 'repl-reader' in boot-9 has written the prompt.
+          ;; Otherwise, if we write too quickly, 'repl-reader' checks for
+          ;; 'char-ready?' and doesn't print the prompt.
+          (match (select (list socket) '() (list socket) 3)
+            (((_) () ())
+             (display "(+ 40 2)\n(quit)\n" socket)
+             (read-string socket)))))
+
+      (pass-if "HTTP inter-protocol attack"           ;CVE-2016-8606
+        (with-repl-server socket
+          ;; Avoid SIGPIPE when the server closes the connection.
+          (sigaction SIGPIPE SIG_IGN)
+
+          (read-until-prompt socket %last-line-before-prompt)
+
+          ;; Simulate an HTTP inter-protocol attack.
+          (write-request (build-request (string->uri "http://localhost"))
+                         socket)
+
+          ;; Make sure the server reacts by closing the connection.  If it
+          ;; fails to do that, this test hangs.
+          (catch 'system-error
+            (lambda ()
+              (let loop ((n 0))
+                (display "(+ 40 2)\n(quit)\n" socket) ;trigger EPIPE
+                (read-string socket)
+                (if (> n 5)
+                    #f                                ;failure
+                    (begin
+                      (sleep 1)
+                      (loop (+ 1 n))))))
+            (lambda args
+              (->bool (memv (system-error-errno args)
+                            (list ECONNRESET EPIPE ECONNABORTED)))))))))
 
 ;;; Local Variables:
 ;;; eval: (put 'with-repl-server 'scheme-indent-function 1)

--------------60E7FB9D4C5D81126F01399E--




Information forwarded to bug-guile@HIDDEN:
bug#36340; Package guile. Full text available.

Message received at 36340 <at> debbugs.gnu.org:


Received: (at 36340) by debbugs.gnu.org; 24 Jun 2019 12:35:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Jun 24 08:35:52 2019
Received: from localhost ([127.0.0.1]:55755 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hfOCN-00048n-On
	for submit <at> debbugs.gnu.org; Mon, 24 Jun 2019 08:35:52 -0400
Received: from eggs.gnu.org ([209.51.188.92]:46802)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1hfOCL-00048W-CP
 for 36340 <at> debbugs.gnu.org; Mon, 24 Jun 2019 08:35:50 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:36550)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1hfOCF-0006Os-1G; Mon, 24 Jun 2019 08:35:43 -0400
Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=43584 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1hfOC8-0001v7-QL; Mon, 24 Jun 2019 08:35:38 -0400
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Cyprien Nicolas <cyprien@HIDDEN>
Subject: Re: bug#36340: Test failures when networking is disabled
References: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN>
Date: Mon, 24 Jun 2019 14:35:35 +0200
In-Reply-To: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN> (Cyprien
 Nicolas's message of "Sun, 23 Jun 2019 13:44:26 +0200")
Message-ID: <878strb1pk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 36340
Cc: 36340 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Cyprien!  :-)

Cyprien Nicolas <cyprien@HIDDEN> skribis:

> Is guile configured with --disable-networking still a supported
> configuration?

In theory yes, but as you found out, it=E2=80=99s not well tested.

The way we=E2=80=99d normally addressing in the test suite is by testing:

  (provided? 'socket)

and/or:

  (provided? 'net-db)

and throwing to unresolved or skipping tests altogether.

Would you like to propose a patch that does that for all the instances
that you found?

Thanks!

Ludo=E2=80=99.




Information forwarded to bug-guile@HIDDEN:
bug#36340; Package guile. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 23 Jun 2019 11:44:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jun 23 07:44:41 2019
Received: from localhost ([127.0.0.1]:52932 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hf0vJ-0005e5-LV
	for submit <at> debbugs.gnu.org; Sun, 23 Jun 2019 07:44:41 -0400
Received: from lists.gnu.org ([209.51.188.17]:55858)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vG-0005dx-Mr
 for submit <at> debbugs.gnu.org; Sun, 23 Jun 2019 07:44:40 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:37432)
 by lists.gnu.org with esmtp (Exim 4.86_2)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vF-0006yC-Is
 for bug-guile@HIDDEN; Sun, 23 Jun 2019 07:44:38 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,URIBL_BLOCKED
 autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vE-0003tB-H6
 for bug-guile@HIDDEN; Sun, 23 Jun 2019 07:44:37 -0400
Received: from cubran.fulax.net ([2a03:7220:8081:7e00::1]:53452)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <cyprien@HIDDEN>) id 1hf0vE-0003Wk-2J
 for bug-guile@HIDDEN; Sun, 23 Jun 2019 07:44:36 -0400
Received: from [192.168.1.9] (static-176-139-30-77.ftth.abo.bbox.fr
 [176.139.30.77])
 by cubran.fulax.net (Postfix) with ESMTPSA id 0CA319600B
 for <bug-guile@HIDDEN>; Sun, 23 Jun 2019 11:44:27 +0000 (UTC)
Authentication-Results: cubran.fulax.net; dmarc=none header.from=nicolas.tf
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nicolas.tf; s=beta;
 t=1561290267; bh=XD1LbDW/ykmKAV3U7Xg6rBb0GpktVd0mVm+eiS2WYSE=;
 h=To:From:Subject:Date:From;
 b=fEeSn0A35Qb+N2s49gtBv3ce0/W2r3XYpAJyez03UVnNd6EfQMmAgFRVAKngRqPV1
 y2cBXWdq4DMjIILzb0Ur+/xDLbL2MEgMTJBfpKNoD2It3In4ekUU2OpdlBvmHA27sH
 PEMdu/pVQf/7IkTU/U7bjTWDCt1wupaNwgNXEAQ0c3pNdj+ZAFzzFVYiZjQdfudUk1
 Y2WVCCnuYrMW8WgECyvdmhdjM+mLBsLhk1CCQ6zDjnjfOiRC8GSX+e+Rjz2R04LBaP
 8BMiFyEMWSmR6AlSZvB0NZ4qol98fyK6qQGGzot28mGBJFlpz4PQ4Hz0962VkNWxkE
 0x7wAQHgo86DmeAhGUirk7yHNNPgi1N+WNrqV1yN9dp2xxWIpVRWsRe5q0gSuF37wQ
 APCllYOF8+rOJBeVyinvZo+AyJ522aX+9bB3Fb1cWsG4zN+gia4Mmv0/PdmqpnpbLT
 qDtgEQv4nJVKt41KIoeRdhdIZ/krMwJ/lsAzS45FFdn5SlznYKS2coZ0Nthc/MuMPv
 Zvagk0MEhAZlI01Kkyx6wgzcAbX6NENlwGA+WzBZmeaBpGeZHwR4bt1B+nSMEuW6Yf
 fLWBW/zBRCGaBCYXLVAJDDu7SzfApoRFRE8+mgvqz6rVjNLT4RPEcFMqsgZrLt6skk
 qINpGGgvKV5vV9D02VToEnFw=
To: bug-guile@HIDDEN
From: Cyprien Nicolas <cyprien@HIDDEN>
Subject: Test failures when networking is disabled
Message-ID: <52873187-7898-41ff-be3c-fd9fe2a8802b@HIDDEN>
Date: Sun, 23 Jun 2019 13:44:26 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.7.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 2a03:7220:8081:7e00::1
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

Hello,

Guile's configure script offers an option to disable networking support,
but when disabled, some test won't pass.

-----8<-----8<-----8<-----8<-----8<-----
Running 00-repl-server.test
ERROR: 00-repl-server.test: repl-server: simple expression - arguments:
((unbound-variable #f "Unbound variable: ~S" (make-socket-address) #f))
ERROR: 00-repl-server.test: repl-server: HTTP inter-protocol attack -
arguments: ((unbound-variable #f "Unbound variable: ~S"
(make-socket-address) #f))
----->8----->8----->8----->8----->8-----

The error is obviously related to the configure option. I have a patch
for catching unbound-variable and throw unresolved instead, tested on
2.2 and 2.0 branches. Reference: https://bugs.gentoo.org/629004

That patch is enough for stable-2.0 but there is another failure in
suspendable-ports in 2.2.5, as the suspendable-ports ice-9 module
overrides accept and connect functions, missing when networking is disabled.

-----8<-----8<-----8<-----8<-----8<-----
$ guile-2.2
GNU Guile 2.2.5
Copyright (C) 1995-2019 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)> (use-modules (ice-9 suspendable-ports))
While compiling expression:
In procedure public-lookup: No variable bound to accept in module (guile)
----->8----->8----->8----->8----->8-----

Is guile configured with --disable-networking still a supported
configuration?

Thanks,
Cyprien




Acknowledgement sent to Cyprien Nicolas <cyprien@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guile@HIDDEN. Full text available.
Report forwarded to bug-guile@HIDDEN:
bug#36340; Package guile. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 7 Jul 2019 13:30:02 UTC

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