Nginx + Passenger - PassengerServer客户端线程中未捕获的异常

时间:2010-12-15 16:28:38

标签: ruby-on-rails nginx passenger

我已经在这里安装了带有Nginx的Passenger用于测试,并且在数千次请求后我一直收到此错误:

[ pid=57259 thr=0x40f07780 file=ext/nginx/HelperAgent.cpp:576 time=2010-12-15 14:04:25.876 ]: Uncaught exception in PassengerServer client thread:
   exception: write() failed: Socket is not connected (57)
   backtrace:
     in 'void Client::forwardResponse(Passenger::SessionPtr&, Passenger::FileDescriptor&)' (HelperAgent.cpp:368)
     in 'void Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:502)
     in 'void Client::threadMain()' (HelperAgent.cpp:595)

[ pid=57259 thr=0x40f07080 file=ext/nginx/HelperAgent.cpp:566 time=2010-12-15 14:04:26.416 ]: Couldn't forward the HTTP response back to the HTTP client: It seems the user clicked on the 'Stop' button in his browser.

我有2台服务器,我正在运行haproxy + apache + mongrel,我将其中一台换成haproxy + nginx + passenger(haproxy只是我测试的备份,所以我可以快速重定向到旧架构如果发生火灾)。

所以我注意到我的乘客在此消息后死亡。 我使用ruby-ee 1.8.7,rails 2.3.5和FreeBSD。

1 个答案:

答案 0 :(得分:2)

原来这是一个FreeBSD内核错误。我们正在慢慢地在Phusion Passenger代码库中添加更多变通方法来解决这个问题。