更新到 pyodbc 4 导致“分段错误”
Posted
技术标签:
【中文标题】更新到 pyodbc 4 导致“分段错误”【英文标题】:Update to pyodbc 4 causes "Segmentation fault" 【发布时间】:2017-02-24 20:55:23 【问题描述】:我有一个在 Elastic Beanstalk 上运行的 Django+celery 站点,该站点使用 pyodbc 3。由于另一个问题,我不得不更新到 pyodbc 4。
但是,网站开始给出错误 500,这是记录的信息:
[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: ...
在那段时间里,芹菜工人仍在运行并且工作得很好!我重新部署了整个服务器(在 AWS 中重建环境),但没有解决问题。
我不得不恢复到 pyodbc 3,它开始工作得很好。有什么想法吗?
django 1.10.4、pyodbc 4.0.11、django-pyodbc-azure 1.10.0.1
【问题讨论】:
如果您有理由相信这是 pyodbc 4.x 中的错误,那么您可能应该将其报告为问题 here。 @GordThompson 我不能说这是一个错误,我对 Linux 和 Django 还很陌生,所以很可能是配置问题 当您说“我已经重新部署了整个服务器并解决了问题”时,您的意思是它在重新部署后开始使用 pyodbc 4.x,还是重新将还原的 pyodbc 部署回 3.x? 对不起,我的意思是说“它没有解决问题”,点击“重建环境”。我会更正问题 【参考方案1】:我们也遇到了这个问题,并将在周一向pyodbc
提供堆栈跟踪和相关信息。我们通过固定我们的要求来修复它:
pyodbc==3.1.1
django-pyodbc-azure==1.10.4.0
虽然这还不能让您获得pyodbc
4.0,但它适用于您网站的其余部分。我们使用4.0.5
运行该站点时遇到了一些运气,但在迁移时遇到了一些问题。 (注意:如果你使用django-pyodbc-azure
,你应该使用与你的Django版本匹配的最高版本,即1.10.4.0
对于Django 1.10。)
祝你好运!
【讨论】:
谢谢,但我相信我需要 v4 来修复一些编码问题github.com/mkleehammer/pyodbc/issues/112 你知道这是否在 v3.1.1 中得到修复(我相信不是)。 直到明天我才有机会进行更多测试,但您可以尝试 pip install pyodbc==4.0.0? 此问题已在此处报告:github.com/mkleehammer/pyodbc/issues/… 请添加您可以添加的任何信息,以便尽快解决此问题。我不知道如何提供这样的信息。谢谢。以上是关于更新到 pyodbc 4 导致“分段错误”的主要内容,如果未能解决你的问题,请参考以下文章