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

Gunicorn Segfault #156

Closed
ttbek opened this issue Jan 26, 2021 · 2 comments
Closed

Gunicorn Segfault #156

ttbek opened this issue Jan 26, 2021 · 2 comments

Comments

@ttbek
Copy link

ttbek commented Jan 26, 2021

Well, this is a fun one:

pheweb serve            
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
<frozen importlib._bootstrap>:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 144 from C header, got 152 from PyObject
[2021-01-26 01:20:04 +0000] [812647] [INFO] Starting gunicorn 20.0.4
[2021-01-26 01:20:04 +0000] [812647] [INFO] Listening at: http://0.0.0.0:5000 (812647)
[2021-01-26 01:20:04 +0000] [812647] [INFO] Using worker: gevent
[2021-01-26 01:20:04 +0000] [812649] [INFO] Booting worker with pid: 812649
[2021-01-26 01:20:04 +0000] [812650] [INFO] Booting worker with pid: 812650
[2021-01-26 01:20:04 +0000] [812651] [INFO] Booting worker with pid: 812651
[2021-01-26 01:20:04 +0000] [812652] [INFO] Booting worker with pid: 812652
[2021-01-26 01:20:04 +0000] [812653] [INFO] Booting worker with pid: 812653
[2021-01-26 01:20:04 +0000] [812654] [INFO] Booting worker with pid: 812654
Segmentation fault (core dumped)

The Ubuntu error reporting utility also shows me it is from package python3.8-minimal 3.8.5-1~20.04, title: python3.8 crashed with SIGSEGV in PyDict_GetItem()
Dissassembly: => 0x7f1babaec20e: Cannot access memory at 0x7f1babaec20e
SIGSEGV Analysis says PC (0x7f1babaec20e) ok and SP (0x7ffcdf8f0490) ok Reason could not be automatically determined

If this thread is correct: python-greenlet/greenlet#178 Then pheweb may need to use newer gevent and greenlet for Python 3.8.

@ttbek
Copy link
Author

ttbek commented Jan 26, 2021

pip3 install --upgrade gevent
Seems to fix it, but the package upgrade does give:
ERROR: pheweb 1.1.25 has requirement gevent~=1.4, but you'll have gevent 21.1.2 which is incompatible.
Seems to install and work anyway though.

Edit:
My issue is addressed, but I will leave this open for tracking in case you want to adjust package dependencies before closing.

@pjvandehaar
Copy link
Collaborator

pjvandehaar commented Jan 26, 2021

Thanks. Yeah, it's certainly worrying to see a segfault in python.

I fixed this with f8014cd in November but didn't make a new release. Looking back, I also fixed your URL issue back then. I just pushed version 1.1.26 with those fixes and another.

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