python-gevent is broken on i686-linux (tests fail)

  • Done
  • quality assurance status badge
Details
2 participants
  • Jakub K?dzio?ka
  • Maxim Cournoyer
Owner
unassigned
Submitted by
Jakub K?dzio?ka
Severity
normal
J
J
Jakub K?dzio?ka wrote on 26 Jul 2020 20:35
(address . bug-guix@gnu.org)
20200726183503.pu7ll2fzm4a6bf5h@gravity
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
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEE5Xa/ss9usT31cTO54xWnWEYTFWQFAl8dzNcACgkQ4xWnWEYT
FWSaOA/+L5OHTOVIY7czGnkZUfJcPsLZrAcEJt5Tclf5JdlNGpy2P9F1W/6tfJMm
w7sBJI6pm8sZVt/OrCBMsWvkklj37ETuUnwi+dijrF8sZB2eMYaTgGTsOSEqvYeL
ZCUeSuRcc4R+KddoVMzhxDhYYNjlgbIEhEVQsZaUs+KZfNIZCplP+RUeBpmBObi8
gZhbnaOHa9Q0qkQ7G/MhaAEkrZiciV9XoyZ7ZNURqVCjgtUEFh1ERY7V2bDCE2/l
i5WH5KTdhuDPyVq5khxMoax4lIDcqdlMr1H2zVjHLvD0+POBjgHSK0jc+tcLUb1I
GK0ND5JJjPIWur3ySxQ3xPlNpxZhZYuENYWp8EPdZn7Yed9z/cYu11uQaNCa1IcD
ys+5TIsXEO0ryreUStJTSShjDqAwVat1jsk8xhEhKIvfgtAowH5chOw5VfNfbDvg
UsHUShoxeIOT5XAPD1DjvtVuVKA9MITr9HKKHgHr8stlid8hpE3EtNJf1QUGYkd7
9ytPZNhcrm2yXXYN/lLbE2nf0dMcSdV7IFabWFFIP9rbKeYEiZ3DKy4snS1+afO+
jVLOoNWEpo5n8uG6S9ZF/BoVyZcC2LxQuKRIGP/KG+uDIfXRLW/NXnh9U8ax8DEu
cDL49V7ijyb2V9gi3F5lxyFynbnrjJxTyyuqs+pvnwZ2K5IHrMg=
=cBKm
-----END PGP SIGNATURE-----


M
M
Maxim Cournoyer wrote on 29 Dec 2020 04:44
(name . Jakub K?dzio?ka)(address . kuba@kadziolka.net)(address . 42553@debbugs.gnu.org)
8735zpwa1u.fsf@gmail.com
Hello,

Jakub K?dzio?ka <kuba@kadziolka.net> writes:

Toggle quote (23 lines)
> 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
M
M
Maxim Cournoyer wrote on 14 Jul 2022 04:40
(name . Jakub K?dzio?ka)(address . kuba@kadziolka.net)(address . 42553-done@debbugs.gnu.org)
87leswzaaz.fsf@gmail.com
Hi,

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

Toggle quote (31 lines)
> Hello,
>
> Jakub K?dzio?ka <kuba@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
Closed
J
J
Jakub K?dzio?ka wrote on 14 Jul 2022 09:21
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)(address . 42553-done@debbugs.gnu.org)
CLF750RHIXX8.1OQ3MBUWMV4IK@gravity
On Thu Jul 14, 2022 at 4:40 AM CEST, Maxim Cournoyer wrote:
Toggle quote (4 lines)
> 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
Closed
M
M
Maxim Cournoyer wrote on 14 Jul 2022 16:15
(name . Jakub K?dzio?ka)(address . kuba@kadziolka.net)(address . 42553-done@debbugs.gnu.org)
87pmi7wzki.fsf@gmail.com
Hi Jakub,

Jakub K?dzio?ka <kuba@kadziolka.net> writes:

Toggle quote (10 lines)
> 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
Closed
?
Your comment

This issue is archived.

To comment on this conversation send an email to 42553@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 42553
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch