Package: python3-gevent
Version: 1.4.0-1.2+b1
Severity: important

Dear Maintainer,

While investigating the FTBFS issue #973162, I have reduced the SEGV
problem to this short file:

    import gevent

    def thunk():
        return True

    gevent.spawn(thunk).get()

It causes a segmentation fault with either Python 3.8 or 3.9:

    noon@asus:~/git/python-opentracing$ python3.9 test_gevent.py
    <frozen importlib._bootstrap>:228: RuntimeWarning: greenlet.greenlet size 
changed, may indicate binary incompatibility. Expected 144 from C header, got 
152 from PyObject
    <frozen importlib._bootstrap>:228: RuntimeWarning: greenlet.greenlet size 
changed, may indicate binary incompatibility. Expected 144 from C header, got 
152 from PyObject
    <frozen importlib._bootstrap>:228: RuntimeWarning: greenlet.greenlet size 
changed, may indicate binary incompatibility. Expected 144 from C header, got 
152 from PyObject
    <frozen importlib._bootstrap>:228: RuntimeWarning: greenlet.greenlet size 
changed, may indicate binary incompatibility. Expected 144 from C header, got 
152 from PyObject
    Segmentation fault

I think gevent.spawn() is an essential part of python3-gevent, though
I'm not so sure; therefore, I'm marking this issue as "important".

Thanks!

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 
'testing-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.9.0-1-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=ANSI_X3.4-1968) 
(ignored: LC_ALL set to C), LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-gevent depends on:
ii  libc6             2.31-4
ii  python3           3.8.2-3
ii  python3-greenlet  0.4.17-1

python3-gevent recommends no packages.

Versions of packages python3-gevent suggests:
pn  python-gevent-doc   <none>
pn  python3-gevent-dbg  <none>
pn  python3-openssl     <none>

-- no debconf information
import gevent

def thunk():
    return True

gevent.spawn(thunk).get()

Reply via email to