bug-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#42553: python-gevent is broken on i686-linux (tests fail)


From: Jakub Kądziołka
Subject: bug#42553: python-gevent is broken on i686-linux (tests fail)
Date: Sun, 26 Jul 2020 20:35:03 +0200

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

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]