GNU bug report logs - #25988
python2-urwid tests fail

Previous Next

Package: guix;

Reported by: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Date: Sun, 5 Mar 2017 23:10:01 UTC

Severity: normal

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

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 25988 in the body.
You can then email your comments to 25988 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#25988; Package guix. (Sun, 05 Mar 2017 23:10:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 05 Mar 2017 23:10:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: bug-guix <bug-guix <at> gnu.org>
Subject: python2-urwid tests fail
Date: Sun, 05 Mar 2017 15:08:53 -0800
[Message part 1 (text/plain, inline)]
Hi,

I'm currently facing test failures from the python2-urwid package
required to build wicd. The errors are:

[Message part 2 (text/plain, inline)]
test_run (urwid.tests.test_event_loops.SelectEventLoopTest) ... ok

======================================================================
FAIL: test_horizontal_resize (urwid.tests.test_vterm.TermTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 169, in test_horizontal_resize
    + '3-' + ' ' * 76 + '-4')
  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 120, in expect
    self.assertEqual(got, what, desc)
AssertionError: Expected:
'1-                                                                            -2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4'
Got:
'Traceback (most recent call last):\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/vterm.py", l\nine 1389, in spawn\n    self.command()\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_v\nterm.py", line 44, in __call__\n    data = os.read(self.reader, 1024)\nOSError: [Errno 4] Interrupted system call'

======================================================================
FAIL: test_vertical_resize (urwid.tests.test_vterm.TermTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 186, in test_vertical_resize
    self.expect('\n' * (y - 2) + '3-' + ' ' * 76 + '-4', desc)
  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 120, in expect
    self.assertEqual(got, what, desc)
AssertionError: try to rescale to 80x22.
Expected:
'\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4'
Got:
'\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4\n\nTraceback (most recent call last):\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/vterm.py", l\nine 1389, in spawn\n    self.command()\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_v\nterm.py", line 44, in __call__\n    data = os.read(self.reader, 1024)\nOSError: [Errno 4] Interrupted system call'

----------------------------------------------------------------------
Ran 278 tests in 1.073s

FAILED (failures=2)
phase `check' failed after 5.2 seconds
builder for `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed with exit code 1
@ build-failed /gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv - 1 builder for `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed with exit code 1
guix build: error: build failed: build of `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed
[Message part 3 (text/plain, inline)]
I'm using GuixSD with ext4 partition and kernel Linux 4.9.5. The
package definitions are from git master. The system itself is using git
master from about a month ago.

lfam or #guix said he could reproduce the issue with Linux 4.9.13 on a
ext4 fileystem but not on a btrfs one.

I could not reproduce the issue myself on an Ubuntu 14.04 running Linux
4.2.0 with a ext4 partition .

Maxim
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#25988; Package guix. (Mon, 06 Mar 2017 00:53:01 GMT) Full text and rfc822 format available.

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

From: Leo Famulari <leo <at> famulari.name>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 25988 <at> debbugs.gnu.org
Subject: Re: bug#25988: python2-urwid tests fail
Date: Sun, 5 Mar 2017 19:51:57 -0500
[Message part 1 (text/plain, inline)]
On Sun, Mar 05, 2017 at 03:08:53PM -0800, Maxim Cournoyer wrote:
> I'm using GuixSD with ext4 partition and kernel Linux 4.9.5. The
> package definitions are from git master. The system itself is using git
> master from about a month ago.
> 
> lfam or #guix said he could reproduce the issue with Linux 4.9.13 on a
> ext4 fileystem but not on a btrfs one.

It's the other way around: I can build it on btrfs but not on ext4.

Also, I noticed yesterday that some of the urwid builds failed on Hydra.
I restarted them, and now Hydra has built both python-urwid and
python2-urwid for all 4 architectures on Linux.
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#25988; Package guix. (Wed, 19 Apr 2017 15:21:01 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: 25988 <at> debbugs.gnu.org
Subject: Re: bug#25988: python2-urwid tests fail
Date: Thu, 20 Apr 2017 00:20:42 +0900
[Message part 1 (text/plain, inline)]
Hi,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:

> Hi,
>
> I'm currently facing test failures from the python2-urwid package
> required to build wicd. The errors are:
>
> test_run (urwid.tests.test_event_loops.SelectEventLoopTest) ... ok
>
> ======================================================================
> FAIL: test_horizontal_resize (urwid.tests.test_vterm.TermTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 169, in test_horizontal_resize
>     + '3-' + ' ' * 76 + '-4')
>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 120, in expect
>     self.assertEqual(got, what, desc)
> AssertionError: Expected:
> '1-                                                                            -2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4'
> Got:
> 'Traceback (most recent call last):\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/vterm.py", l\nine 1389, in spawn\n    self.command()\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_v\nterm.py", line 44, in __call__\n    data = os.read(self.reader, 1024)\nOSError: [Errno 4] Interrupted system call'
>
> ======================================================================
> FAIL: test_vertical_resize (urwid.tests.test_vterm.TermTest)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 186, in test_vertical_resize
>     self.expect('\n' * (y - 2) + '3-' + ' ' * 76 + '-4', desc)
>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 120, in expect
>     self.assertEqual(got, what, desc)
> AssertionError: try to rescale to 80x22.
> Expected:
> '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4'
> Got:
> '\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4\n\nTraceback (most recent call last):\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/vterm.py", l\nine 1389, in spawn\n    self.command()\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_v\nterm.py", line 44, in __call__\n    data = os.read(self.reader, 1024)\nOSError: [Errno 4] Interrupted system call'
>
> ----------------------------------------------------------------------
> Ran 278 tests in 1.073s
>
> FAILED (failures=2)
> phase `check' failed after 5.2 seconds
> builder for `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed with exit code 1
> @ build-failed /gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv - 1 builder for `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed with exit code 1
> guix build: error: build failed: build of `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed


The same problem occurred again today while attempting to reconfigure my
system (same errors, while attempting to build the same python2-urwid
dependency of wicd).

I wonder why there are so such failures on hydra
(https://hydra.gnu.org/job/gnu/master/python2-urwid-1.3.1.x86_64-linux). I
also wonder why my system is trying to build this package if it already
exists on Hydra. I have both the bayfront & gnu mirror substitute
servers enabled.

Maxim
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#25988; Package guix. (Wed, 19 Apr 2017 21:23:02 GMT) Full text and rfc822 format available.

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

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 25988 <at> debbugs.gnu.org
Subject: Re: bug#25988: python2-urwid tests fail
Date: Wed, 19 Apr 2017 23:22:18 +0200
Hi Maxim,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> Maxim Cournoyer <maxim.cournoyer <at> gmail.com> writes:
>
>> Hi,
>>
>> I'm currently facing test failures from the python2-urwid package
>> required to build wicd. The errors are:
>>
>> test_run (urwid.tests.test_event_loops.SelectEventLoopTest) ... ok
>>
>> ======================================================================
>> FAIL: test_horizontal_resize (urwid.tests.test_vterm.TermTest)
>> ----------------------------------------------------------------------
>> Traceback (most recent call last):
>>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 169, in test_horizontal_resize
>>     + '3-' + ' ' * 76 + '-4')
>>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 120, in expect
>>     self.assertEqual(got, what, desc)
>> AssertionError: Expected:
>> '1-                                                                            -2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4'
>> Got:
>> 'Traceback (most recent call last):\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/vterm.py", l\nine 1389, in spawn\n    self.command()\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_v\nterm.py", line 44, in __call__\n    data = os.read(self.reader, 1024)\nOSError: [Errno 4] Interrupted system call'
>>
>> ======================================================================
>> FAIL: test_vertical_resize (urwid.tests.test_vterm.TermTest)
>> ----------------------------------------------------------------------
>> Traceback (most recent call last):
>>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 186, in test_vertical_resize
>>     self.expect('\n' * (y - 2) + '3-' + ' ' * 76 + '-4', desc)
>>   File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_vterm.py", line 120, in expect
>>     self.assertEqual(got, what, desc)
>> AssertionError: try to rescale to 80x22.
>> Expected:
>> '\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4'
>> Got:
>> '\n\n\n\n\n\n\n\n\n\n\n3-                                                                            -4\n\nTraceback (most recent call last):\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/vterm.py", l\nine 1389, in spawn\n    self.command()\n  File "/tmp/guix-build-python2-urwid-1.3.1.drv-0/urwid-1.3.1/urwid/tests/test_v\nterm.py", line 44, in __call__\n    data = os.read(self.reader, 1024)\nOSError: [Errno 4] Interrupted system call'
>>
>> ----------------------------------------------------------------------
>> Ran 278 tests in 1.073s
>>
>> FAILED (failures=2)
>> phase `check' failed after 5.2 seconds
>> builder for `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed with exit code 1
>> @ build-failed /gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv - 1 builder for `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed with exit code 1
>> guix build: error: build failed: build of `/gnu/store/d3nn0jqa41d7i28qvs78np7mcii2ljn2-python2-urwid-1.3.1.drv' failed
>
>
> The same problem occurred again today while attempting to reconfigure my
> system (same errors, while attempting to build the same python2-urwid
> dependency of wicd).
>
> I wonder why there are so such failures on hydra
> (https://hydra.gnu.org/job/gnu/master/python2-urwid-1.3.1.x86_64-linux). I
> also wonder why my system is trying to build this package if it already
> exists on Hydra. I have both the bayfront & gnu mirror substitute
> servers enabled.

I’ve seen the failure once and it succeeded on a subsequent rebuild, so
I came to the conclusion that this is a non-deterministic failure.  That
would explain why the problem doesn’t show up on Hydra.

Does it fail systematically for you?

Thanks,
Ludo’.




Information forwarded to bug-guix <at> gnu.org:
bug#25988; Package guix. (Sun, 30 Apr 2017 06:45:01 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: 25988 <at> debbugs.gnu.org
Subject: [PATCH] bug#25988: python2-urwid tests fail
Date: Sun, 30 Apr 2017 15:44:12 +0900
[Message part 1 (text/plain, inline)]
Hi Ludovic,

ludo <at> gnu.org (Ludovic Courtès) writes:

[...]

>
> I’ve seen the failure once and it succeeded on a subsequent rebuild, so
> I came to the conclusion that this is a non-deterministic failure.  That
> would explain why the problem doesn’t show up on Hydra.
>
> Does it fail systematically for you?
>

Yes, it does! I can re-run the `guix system reconfigure ...' as
many times as I want and always get the same two failures. However, if I
keep the failed derivation and run the tests manually, I've found that
using 'strace' will cause more failures/errors; so it seems
non-deterministic; maybe a racing issue?

I've opened an issue on their GitHub tracker
(https://github.com/urwid/urwid/issues/230). Interestingly the same
tests run fine with Python 3, with or without using strace.

I've attached a patch that disables the problematic vterm tests, only
for the python2-urwid package.

Maxim

[0001-gnu-Disable-vterm-tests-for-python2-urwid.patch (text/x-patch, inline)]
From 56e769bee4a47136e0eee251c87a58b8359a8611 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Date: Sun, 30 Apr 2017 14:55:47 +0900
Subject: [PATCH] gnu: Disable vterm tests for python2-urwid

* gnu/packages/python.scm (python2-urwid)['delete-test_vterm]: Add phase to
delete problematic test modules.
---
 gnu/packages/python.scm | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 22fadea275..c6c0978038 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -5509,7 +5509,18 @@ features useful for text console applications.")
     (license license:lgpl2.1+)))
 
 (define-public python2-urwid
-  (package-with-python2 python-urwid))
+  (let ((python2-urwid (package-with-python2 python-urwid)))
+    (package
+      (inherit python2-urwid)
+      (arguments
+       (append
+        '(#:phases
+          (modify-phases %standard-phases
+            ;; Disable the vterm tests because of non-deterministic failures
+            ;; with Python 2. See https://github.com/urwid/urwid/issues/230.
+            (add-after 'unpack 'delete-test_vterm.py
+              (delete-file "urwid/tests/test_vterm.py"))))
+        (package-arguments python-urwid))))))
 
 (define-public python-openid
   (package
-- 
2.12.0

[signature.asc (application/pgp-signature, inline)]

Reply sent to ludo <at> gnu.org (Ludovic Courtès):
You have taken responsibility. (Mon, 01 May 2017 14:48:02 GMT) Full text and rfc822 format available.

Notification sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
bug acknowledged by developer. (Mon, 01 May 2017 14:48:02 GMT) Full text and rfc822 format available.

Message #22 received at 25988-done <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: 25988-done <at> debbugs.gnu.org
Subject: Re: [PATCH] bug#25988: python2-urwid tests fail
Date: Mon, 01 May 2017 16:47:17 +0200
Hi Maxim,

Maxim Cournoyer <maxim.cournoyer <at> gmail.com> skribis:

> ludo <at> gnu.org (Ludovic Courtès) writes:
>
> [...]
>
>>
>> I’ve seen the failure once and it succeeded on a subsequent rebuild, so
>> I came to the conclusion that this is a non-deterministic failure.  That
>> would explain why the problem doesn’t show up on Hydra.
>>
>> Does it fail systematically for you?
>>
>
> Yes, it does! I can re-run the `guix system reconfigure ...' as
> many times as I want and always get the same two failures. However, if I
> keep the failed derivation and run the tests manually, I've found that
> using 'strace' will cause more failures/errors; so it seems
> non-deterministic; maybe a racing issue?
>
> I've opened an issue on their GitHub tracker
> (https://github.com/urwid/urwid/issues/230). Interestingly the same
> tests run fine with Python 3, with or without using strace.
>
> I've attached a patch that disables the problematic vterm tests, only
> for the python2-urwid package.

Sounds reasonable to me.

> Maxim
>
> From 56e769bee4a47136e0eee251c87a58b8359a8611 Mon Sep 17 00:00:00 2001
> From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
> Date: Sun, 30 Apr 2017 14:55:47 +0900
> Subject: [PATCH] gnu: Disable vterm tests for python2-urwid
>
> * gnu/packages/python.scm (python2-urwid)['delete-test_vterm]: Add phase to
> delete problematic test modules.

Applied, thanks!

Ludo’.




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

This bug report was last modified 6 years and 332 days ago.

Previous Next


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