【问题标题】:double free or corruption (!prev) httpd双重免费或损坏 (!prev) httpd
【发布时间】:2018-03-12 20:27:22
【问题描述】:

我的服务器由于零空间而崩溃。我增加了更多空间。 从那时起,我的 apache 服务器每隔几分钟/几小时就会重新启动一次。

我的筹码是apache -> python (a pip that servers the files.)

内存泄漏可能发生在 apache 或 python

*** Error in `/usr/sbin/httpd': double free or corruption (!prev): 0x00007f28dc67a6f0 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x7c503)[0x7f28d9746503]
/usr/lib64/libpython3.5m.so.1.0(PyThreadState_DeleteCurrent+0x40)[0x7f28cd50e420]
/usr/lib64/libpython3.5m.so.1.0(+0x165075)[0x7f28cd529075]
/lib64/libpthread.so.0(+0x7dc5)[0x7f28d9c96dc5]
/lib64/libc.so.6(clone+0x6d)[0x7f28d97c173d]

/etc/httpd/conf/httpd.conf 包含:

LoadModule wsgi_module /usr/lib64/python3.5/site-packages/mod_wsgi/server/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so

我可以做些什么来调试/解决这个问题?

【问题讨论】:

  • 这听起来不像是泄漏,而是一个错误。见serverfault.com/a/169886/20171
  • @FredLarson 感谢您的快速回复。我看到了那个答案。这没有什么意义,因为这个问题之前不存在。它是在磁盘空间问题之后开始的。

标签: python apache mod-wsgi cpython


【解决方案1】:

查找此问题的原因可能很困难,因为它可能存在于具有 C 扩展组件的 Python 的某些第三方模块中。我会建议两件事。

首先确保您使用的是 mod_wsgi 守护程序模式..

第二次确保您正在设置:

WSGIApplicationGroup %{GLOBAL}

后者可以帮助解决 Python 扩展模块未正确编写以与 Python 子解释器一起使用的问题。如果不是,它们可能会导致崩溃和死锁。

您可以在文档中找到有关守护程序模式的详细信息:

【讨论】:

  • 我如何确保mod_wsgi daemon mode?我在哪里检查?
猜你喜欢
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 2015-04-03
相关资源
最近更新 更多