PostgreSQL 9.0.1 上的间歇性 Pg.dll 崩溃ActivePerl 1007 + Win2k3sp2 上的 Apache 2.2.17
最近,我们遇到了神秘的、间歇性的 Apache 崩溃,一天几次,但没有任何模式说明崩溃的时间、间隔时间或一天中的什么时间。
我会升级 DBD::Pg,但我找不到比我们使用的 (2.14.1) 更新的 PPD。也就是说,从那时起的变化似乎与我们的使用没有特别相关。
Windows 事件查看器显示了以下内容:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date: 2010-11-01
Time: 9:55:28 AM
User: N/A
Computer: myserver
Description:
Faulting application httpd.exe, version 2.2.17.0, faulting module Pg.dll, version 0.0.0.0, fault address 0x0000e8a5.
所以我查看了 Apache 日志,日志显示:
[Mon Nov 01 09:55:32 2010] [notice] Parent: child process exited with status 3221225477 -- Restarting.
不是很有帮助,所以我查看了 PostgreSQL 日志(Pg.dll 是 DBD::Pg
的一部分),并且他们说:
2010-11-01 09:55:32 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:32 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
但除此之外,我不知道原因,除非服务器负载可能更高(但不是那么高——我们的用户很少)。
有什么想法可能导致这种情况吗?
We've been having mysterious, intermittent Apache crashes lately, a few times a day, but without pattern as to when or how long in between or what time of day.
I would upgrade DBD::Pg, but I couldn't find a PPD out there for anything newer than the one we use (2.14.1). That said, the changes since then don't seem particularly relevant to our usage.
The Windows Event Viewer shows this:
Event Type: Error
Event Source: Application Error
Event Category: (100)
Event ID: 1000
Date: 2010-11-01
Time: 9:55:28 AM
User: N/A
Computer: myserver
Description:
Faulting application httpd.exe, version 2.2.17.0, faulting module Pg.dll, version 0.0.0.0, fault address 0x0000e8a5.
So I looked in the Apache logs, which said:
[Mon Nov 01 09:55:32 2010] [notice] Parent: child process exited with status 3221225477 -- Restarting.
Not terribly helpful, so I looked in the PostgreSQL logs (Pg.dll is part of DBD::Pg
), and they said:
2010-11-01 09:55:32 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:32 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
2010-11-01 09:55:33 EDT LOG: could not receive data from client: No connection could be made because the target machine actively refused it.
2010-11-01 09:55:33 EDT LOG: unexpected EOF on client connection
But other than that I have no clue as to the cause, except possibly times of higher (but not that high--we have very few users) server load.
Any ideas what could be causing this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
间歇性的网络问题可能会导致这种情况。我尝试使用运行在 VirtualBox 上的 Turnkey 中的 psql 登录 PostgreSQL,该服务器位于运行 PostgreSQL 的同一服务器上,有时会导致 PostgreSQL 线程占用更多 CPU,然后最终不允许登录。在 Turnkey 上安装 PostgreSQL 会使这种情况停止发生,因此 Windows 级别可能存在一般性网络问题,导致 PostgreSQL 和 Pg.dll 特别阻塞,然后导致 Apache 崩溃,因为 DBD::Pg 是通过 mod_perl 持久加载的。
Intermittent networking problems may cause this. I tried logging into PostgreSQL using psql from Turnkey running on VirtualBox on the same server PostgreSQL is running on, and it would sometimes cause PostgreSQL threads to take up a lot more CPU, and then not allow the login in the end. Installing PostgreSQL on Turnkey made this stop happening, so it's possible that there's a general networking problem at the Windows level that is causing PostgreSQL and Pg.dll in particular to choke, which then crashes Apache, since DBD::Pg is loaded persistently via mod_perl.