【问题标题】:Update to pyodbc 4 causes "Segmentation fault"更新到 pyodbc 4 导致“分段错误”
【发布时间】: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?
  • 对不起,我的意思是说“它没有解决问题”,点击“重建环境”。我会更正问题

标签: pyodbc django-pyodbc django-pyodbc-azure


【解决方案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/… 请添加您可以添加的任何信息,以便尽快解决此问题。我不知道如何提供这样的信息。谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-05-17
  • 2021-03-02
  • 2016-03-02
  • 1970-01-01
  • 2011-11-06
  • 2020-12-31
  • 2019-07-21
  • 2018-07-28
相关资源
最近更新 更多