GNU bug report logs - #42553
python-gevent is broken on i686-linux (tests fail)

Previous Next

Package: guix;

Reported by: Jakub Kądziołka <kuba <at> kadziolka.net>

Date: Sun, 26 Jul 2020 18:36:02 UTC

Severity: normal

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

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 42553 in the body.
You can then email your comments to 42553 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#42553; Package guix. (Sun, 26 Jul 2020 18:36:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Jakub Kądziołka <kuba <at> kadziolka.net>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sun, 26 Jul 2020 18:36:02 GMT) Full text and rfc822 format available.

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

From: Jakub Kądziołka <kuba <at> kadziolka.net>
To: bug-guix <at> gnu.org
Subject: python-gevent is broken on i686-linux (tests fail)
Date: Sun, 26 Jul 2020 20:35:03 +0200
[Message part 1 (text/plain, inline)]
The package python-gevent doesn't build on i686-linux, the following
test failure occurs:

  ======================================================================
  FAIL: test_unlink (gevent.tests.test__core_stat.TestCoreStat)
  ----------------------------------------------------------------------
  Traceback (most recent call last):
    File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/errorhandler.py", line 47, in wrapper
      return method(self, *args, **kwargs)
    File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/errorhandler.py", line 34, in wrapper
      return method(self, *args, **kwargs)
    File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/testcase.py", line 182, in wrapper
      return method(self, *args, **kwargs)
    File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/tests/test__core_stat.py", line 114, in test_unlink
      self._check_attr('attr', True)
    File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/tests/test__core_stat.py", line 66, in _check_attr
      self.assertIsNone(x, name)
  AssertionError: os.stat_result(st_mode=997, st_ino=0, st_dev=74395714104328192, st_nlink=30000, st_uid=0, st_gid=0, st_size=6851593278123409408, st_atime=1595260873, st_mtime=0, st_ctime=-2) is not None : attr
  
  ----------------------------------------------------------------------
  Ran 48 tests in 1.238s

I have created a simple standalone script based on this test case:

import os, tempfile, gevent
fd, path = tempfile.mkstemp('.test')
os.close(fd)
hub = gevent.get_hub()
watcher = hub.loop.stat(path, interval=-1)
hub.loop.update_now()
gevent.spawn_later(0.5, os.unlink, path)
hub.wait(watcher)
print(watcher.attr)
print(watcher.prev)

After adding a (delete 'check) to python-gevent's arguments, we observe
the following:

% ./pre-inst-env guix environment --ad-hoc python python-gevent -- python3 ~/tmp/gevent-test.py
None
os.stat_result(st_mode=33152, st_ino=44162375, st_dev=2052, st_nlink=1, st_uid=1000, st_gid=1000, st_size=0, st_atime=1595787602, st_mtime=1595787602, st_ctime=1595787602)
% ./pre-inst-env guix environment --system=i686-linux --ad-hoc python python-gevent -- python3 ~/tmp/gevent-test.py
os.stat_result(st_mode=1000, st_ino=0, st_dev=189675956338688000, st_nlink=1000, st_uid=0, st_gid=0, st_size=6853855360088801280, st_atime=1595787555, st_mtime=0, st_ctime=-2)
os.stat_result(st_mode=33152, st_ino=2052, st_dev=2052, st_nlink=1, st_uid=1000, st_gid=1000, st_size=17592186044416, st_atime=1595787555, st_mtime=1595787555, st_ctime=0)

Namely, the i686 variant returns entirely bogus values.

I have tried reproducing this in a Guix-less environment in a Docker
container based on the i386/debian:bullseye image, but I haven't had any
luck.

Regards,
Jakub Kądziołka
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#42553; Package guix. (Tue, 29 Dec 2020 03:45:01 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Jakub Kądziołka <kuba <at> kadziolka.net>
Cc: 42553 <at> debbugs.gnu.org
Subject: Re: bug#42553: python-gevent is broken on i686-linux (tests fail)
Date: Mon, 28 Dec 2020 22:44:29 -0500
Hello,

Jakub Kądziołka <kuba <at> kadziolka.net> writes:

> The package python-gevent doesn't build on i686-linux, the following
> test failure occurs:
>
>   ======================================================================
>   FAIL: test_unlink (gevent.tests.test__core_stat.TestCoreStat)
>   ----------------------------------------------------------------------
>   Traceback (most recent call last):
>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/errorhandler.py", line 47, in wrapper
>       return method(self, *args, **kwargs)
>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/errorhandler.py", line 34, in wrapper
>       return method(self, *args, **kwargs)
>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/testcase.py", line 182, in wrapper
>       return method(self, *args, **kwargs)
>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/tests/test__core_stat.py", line 114, in test_unlink
>       self._check_attr('attr', True)
>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/tests/test__core_stat.py", line 66, in _check_attr
>       self.assertIsNone(x, name)
>   AssertionError: os.stat_result(st_mode=997, st_ino=0, st_dev=74395714104328192, st_nlink=30000, st_uid=0, st_gid=0, st_size=6851593278123409408, st_atime=1595260873, st_mtime=0, st_ctime=-2) is not None : attr
>   
>   ----------------------------------------------------------------------
>   Ran 48 tests in 1.238s
>

Just a follow-up to mention that this still occurs when building with
--system=i686-linux, even with the recent python-gevent update to
20.9.0.

Maxim




Reply sent to Maxim Cournoyer <maxim.cournoyer <at> gmail.com>:
You have taken responsibility. (Thu, 14 Jul 2022 02:41:02 GMT) Full text and rfc822 format available.

Notification sent to Jakub Kądziołka <kuba <at> kadziolka.net>:
bug acknowledged by developer. (Thu, 14 Jul 2022 02:41:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Jakub Kądziołka <kuba <at> kadziolka.net>
Cc: 42553-done <at> debbugs.gnu.org
Subject: Re: bug#42553: python-gevent is broken on i686-linux (tests fail)
Date: Wed, 13 Jul 2022 22:40:20 -0400
Hi,

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

> Hello,
>
> Jakub Kądziołka <kuba <at> kadziolka.net> writes:
>
>> The package python-gevent doesn't build on i686-linux, the following
>> test failure occurs:
>>
>>   ======================================================================
>>   FAIL: test_unlink (gevent.tests.test__core_stat.TestCoreStat)
>>   ----------------------------------------------------------------------
>>   Traceback (most recent call last):
>>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/errorhandler.py", line 47, in wrapper
>>       return method(self, *args, **kwargs)
>>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/errorhandler.py", line 34, in wrapper
>>       return method(self, *args, **kwargs)
>>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/testing/testcase.py", line 182, in wrapper
>>       return method(self, *args, **kwargs)
>>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/tests/test__core_stat.py", line 114, in test_unlink
>>       self._check_attr('attr', True)
>>     File "/tmp/guix-build-python-gevent-20.6.2.drv-0/gevent-20.6.2/build/lib.linux-i686-3.8/gevent/tests/test__core_stat.py", line 66, in _check_attr
>>       self.assertIsNone(x, name)
>>   AssertionError: os.stat_result(st_mode=997, st_ino=0, st_dev=74395714104328192, st_nlink=30000, st_uid=0, st_gid=0, st_size=6851593278123409408, st_atime=1595260873, st_mtime=0, st_ctime=-2) is not None : attr
>>   
>>   ----------------------------------------------------------------------
>>   Ran 48 tests in 1.238s
>>
>
> Just a follow-up to mention that this still occurs when building with
> --system=i686-linux, even with the recent python-gevent update to
> 20.9.0.

Finally disabled the test in 692c2ad327.

Closing.

Thanks for the report!

Maxim




Information forwarded to bug-guix <at> gnu.org:
bug#42553; Package guix. (Thu, 14 Jul 2022 07:22:02 GMT) Full text and rfc822 format available.

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

From: Jakub Kądziołka <kuba <at> kadziolka.net>
To: "Maxim Cournoyer" <maxim.cournoyer <at> gmail.com>
Cc: 42553-done <at> debbugs.gnu.org
Subject: Re: bug#42553: python-gevent is broken on i686-linux (tests fail)
Date: Thu, 14 Jul 2022 09:21:53 +0200
On Thu Jul 14, 2022 at 4:40 AM CEST, Maxim Cournoyer wrote:
> Finally disabled the test in 692c2ad327.
>
> Closing.

Are we sure this is the appropriate course of action? It sounds like the
test is exposing a bug in our packaging that might affect users of
python-gevent. It might be better to have the package build than not, of
course, but still we might want to investigate why the test fails.

Regards,
Kuba




Information forwarded to bug-guix <at> gnu.org:
bug#42553; Package guix. (Thu, 14 Jul 2022 14:16:02 GMT) Full text and rfc822 format available.

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

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Jakub Kądziołka <kuba <at> kadziolka.net>
Cc: 42553-done <at> debbugs.gnu.org
Subject: Re: bug#42553: python-gevent is broken on i686-linux (tests fail)
Date: Thu, 14 Jul 2022 10:15:09 -0400
Hi Jakub,

Jakub Kądziołka <kuba <at> kadziolka.net> writes:

> On Thu Jul 14, 2022 at 4:40 AM CEST, Maxim Cournoyer wrote:
>> Finally disabled the test in 692c2ad327.
>>
>> Closing.
>
> Are we sure this is the appropriate course of action? It sounds like the
> test is exposing a bug in our packaging that might affect users of
> python-gevent. It might be better to have the package build than not, of
> course, but still we might want to investigate why the test fails.

The issue was reported and closed upstream many versions ago.  I'm
positive python-gevent works fine in Guix.  It's just the test_unlink
test that fails for unknown reasons on i686.  I wouldn't loose sleep on
it.

Thanks,

Maxim




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 12 Aug 2022 11:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 229 days ago.

Previous Next


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