Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Segfault in gevent 20.6.2 with greenlet 0.4.17 #1678

Closed
pinodeca opened this issue Sep 23, 2020 · 1 comment
Closed

Segfault in gevent 20.6.2 with greenlet 0.4.17 #1678

pinodeca opened this issue Sep 23, 2020 · 1 comment

Comments

@pinodeca
Copy link

pinodeca commented Sep 23, 2020

  • gevent version: 20.6.2
  • Python version: Python 3.7.9 from standard packages/RPMs
  • Operating System: Amazon Linux 2 AMI

Description:

Does greenlet 0.4.17 break gevent 20.6.2? I don't need this version combination; I'm just trying to understand a segfault I saw yesterday.

Yesterday, I installed dependencies for a DB archival tool (https://github.com/wal-e/wal-e). By chance, the install occurred between publication of the new tags of gevent and greenlet. The build picked up greenlet 0.4.17 and gevent 20.6.2.

When run with these versions of its dependencies, the tool segfaults:

Sep 23 21:34:25 sfcvd5mzytvfwjaypmpzbdlomce kernel: wal-e[16482]: segfault at 78 ip 00007fe41ed8886e sp 00007ffcd0536a30 error 4 in _gevent_cgreenlet.cpython-37m-x86_64-linux-gnu.so[7fe41ed68000+34000]
# /usr/local/pgsql-12/bin/wal-e-push wal-push pg_wal/000000010000000100000024
/usr/lib64/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
  return f(*args, **kwds)
(those 2 lines repeat 6 more times)

The tool is fine (no segfault) with either of these version combinations:

  • greenlet 0.4.16 and gevent 20.6.2
  • greenlet 0.4.17 and gevent 20.9.0
@jamadden
Copy link
Member

Thank you for the detailed report. Please see #1675 and others for details. In short, as the release announcement says, do not use greenlet 0.4.17 with any version of gevent other than 20.9 (on python 3.7)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants