Diego Jancic
Diego Jancic

Reputation: 7450

Update to pyodbc 4 causes "Segmentation fault"

I have a Django+celery site running on Elastic Beanstalk that used pyodbc 3. Because of another issue, I had to update to pyodbc 4.

However, the web site starting giving error 500 and this is the information logged:

[Fri Feb 24 20:02:14.448536 2017] [core:notice] [pid 27978] AH00052: child pid 28292 exit signal Segmentation fault (11)
[Fri Feb 24 20:02:15.145503 2017] [core:error] [pid 27988] [client 205.165.34.225:50040] End of script output before headers: wsgi.py, referer: ...

During that time the Celery worker was still running and working just fine! I've re-deployed the whole server (Rebuild Environment in AWS) and it didn't fix the issue.

I had to revert to pyodbc 3 and it started working just fine. Any ideas?

django 1.10.4, pyodbc 4.0.11, django-pyodbc-azure 1.10.0.1

Upvotes: 1

Views: 705

Answers (1)

FlipperPA
FlipperPA

Reputation: 14331

We have run into this issue as well, and will be providing a stack trace and related information to pyodbc on Monday. We've fixed it by pinning our requirements like this:

pyodbc==3.1.1
django-pyodbc-azure==1.10.4.0

While this doesn't get you pyodbc 4.0 yet, it will work for the rest of your site. We had some luck using 4.0.5 for running the site, but ran into some issues with migrations. (Note: if you use django-pyodbc-azure, you should use the highest version that matches your Django version, I.e. 1.10.4.0 for Django 1.10.)

Good luck!

Upvotes: 2

Related Questions