I've been seeing similar issues as well. I've recently moved my Rails
app from ruby1.8.7+Rails2.3.4+Passenger2.x to the env mentioned below.
Frequently, after a fresh deploy, I see that my app fails to respond.
> Try passenger-status --show=backtraces
"rvmsudo bundle exec passenger-status' hangs (backtraces follow),
while passenger-memory-stats runs fine. There are no Rails processes
running as seen on 'ps ax | fgrep Rails'. The passenger max pool size
is at 6. (Underlying mysql pool size is far greater at 20; so can't be
a DB hang).
===
Env: {rvm + ruby1.9.2 + Rails2.3.11} / {nginx 0.8.54 + passenger
3.0.3} / {Linux 2.6.31-302-ec2 #7-Ubuntu SMP Tue Oct 13 19:06:04 UTC
2009 i686 unknown unknown GNU/Linux}
===
$ nginx -V
nginx version: nginx/0.8.54
built by gcc 4.4.1 (Ubuntu 4.4.1-4ubuntu9)
TLS SNI support enabled
configure arguments: --prefix=/opt/nginx --with-http_ssl_module --with-
pcre=/tmp/root-passenger-1271/pcre-8.10 --add-module=/home/ubuntu/.rvm/
gems/ruby-1.9.2-p180@rails/gems/passenger-3.0.3/ext/nginx
===
$ rvmsudo bundle exec passenger-status --show=backtraces
Thread 'Main thread':
in 'void Server::mainLoop()' (HelperAgent.cpp:915)
in 'int main(int, char**)' (HelperAgent.cpp:976)
Thread 'Client thread 1':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'MessageServer thread':
in 'void Passenger::MessageServer::mainLoop()' (MessageServer.h:
543)
Thread 'Client thread 2':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 3':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 4':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 5':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 6':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 7':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 8':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 9':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 10':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 11':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 12':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 13':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 14':
in 'Passenger::ProcessPtr
Passenger::SpawnManager::sendSpawnCommand(const
Passenger::PoolOptions&)' (SpawnManager.h:347)
in 'virtual Passenger::ProcessPtr
Passenger::SpawnManager::spawn(const
Passenger::PoolOptions&)' (SpawnManager.h:573)
in
'std::pair<boost::shared_ptr<Passenger::ApplicationPool::Pool::ProcessInfo>,
boost::shared_ptr<Passenger::ApplicationPool::Pool::Group> >
Passenger::ApplicationPool::Pool::checkoutWithoutLock(boost::unique_lock<boost::timed_mutex>&,
const Passenger::PoolOptions&)' (Pool.h:963)
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 15':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 16':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 18':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 17':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 20':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 19':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 23':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 21':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 22':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'Client thread 24':
in 'virtual Passenger::SessionPtr
Passenger::ApplicationPool::Pool::get(const
Passenger::PoolOptions&)' (Pool.h:1136)
in 'void
Client::handleRequest(Passenger::FileDescriptor&)' (HelperAgent.cpp:
472)
in 'void Client::threadMain()' (HelperAgent.cpp:595)
Thread 'ApplicationPool analytics collector':
in 'void
Passenger::ApplicationPool::Pool::analyticsCollectionThreadMainLoop()' (Pool.h:
790)
Thread 'ApplicationPool cleaner':
(empty)
Thread 'MessageServer client thread 35':
in 'void
Passenger::ApplicationPool::Server::processInspect(Passenger::MessageServer::CommonClientContext&,
Passenger::ApplicationPool::Server::SpecificContext*, const
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >&)' (Server.h:400)
in 'void
Passenger::MessageServer::clientHandlingMainLoop(Passenger::FileDescriptor&)' (MessageServer.h:
470)
Thread 'MessageServer client thread 37':
in 'void
Passenger::ApplicationPool::Server::processInspect(Passenger::MessageServer::CommonClientContext&,
Passenger::ApplicationPool::Server::SpecificContext*, const
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >&)' (Server.h:400)
in 'void
Passenger::MessageServer::clientHandlingMainLoop(Passenger::FileDescriptor&)' (MessageServer.h:
470)
Thread 'MessageServer client thread 38':
in 'void
Passenger::ApplicationPool::Server::processInspect(Passenger::MessageServer::CommonClientContext&,
Passenger::ApplicationPool::Server::SpecificContext*, const
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >&)' (Server.h:400)
in 'void
Passenger::MessageServer::clientHandlingMainLoop(Passenger::FileDescriptor&)' (MessageServer.h:
470)
Thread 'MessageServer client thread 39':
in 'void
Passenger::ApplicationPool::Server::processInspect(Passenger::MessageServer::CommonClientContext&,
Passenger::ApplicationPool::Server::SpecificContext*, const
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > > >&)' (Server.h:400)
in 'void
Passenger::MessageServer::clientHandlingMainLoop(Passenger::FileDescriptor&)' (MessageServer.h:
470)
Thread 'MessageServer client thread 40':
in 'virtual bool
Passenger::BacktracesServer::processMessage(Passenger::MessageServer::CommonClientContext&,
boost::shared_ptr<Passenger::MessageServer::ClientContext>&, const
std::vector<std::basic_string<char, std::char_traits<char>,
std::allocator<char> >, std::allocator<std::basic_string<char,
std::char_traits<char>, std::allocator<char> > >
>&)' (BacktracesServer.h:47)
in 'void
Passenger::MessageServer::clientHandlingMainLoop(Passenger::FileDescriptor&)' (MessageServer.h:
470)
===
Aborting with ctrl-c gives this familiar trace:
$ rvmsudo bundle exec passenger-status
^C/home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/passenger-3.0.3/
lib/phusion_passenger/message_channel.rb:221:in `read': Interrupt
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/lib/phusion_passenger/message_channel.rb:221:in
`read_scalar'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/lib/phusion_passenger/message_client.rb:137:in
`read_scalar'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/lib/phusion_passenger/message_client.rb:93:in `status'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/lib/phusion_passenger/admin_tools/server_instance.rb:
246:in `status'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/bin/passenger-status:46:in `block in show_status'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/lib/phusion_passenger/admin_tools/server_instance.rb:
214:in `connect'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/bin/passenger-status:42:in `show_status'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/bin/passenger-status:192:in `start'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/gems/
passenger-3.0.3/bin/passenger-status:211:in `<top (required)>'
from /home/ubuntu/app_home/gshared/bundle/ruby/1.9.1/bin/
passenger-status:19:in `load'
===
$ rvmsudo bundle exec passenger-memory-stats
------------- Apache processes -------------
*** WARNING: The Apache executable cannot be found.
Please set the APXS2 environment variable to your 'apxs2' executable's
filename, or set the HTTPD environment variable to your 'httpd' or
'apache2' executable's filename.
-------- Nginx processes ---------
PID PPID VMSize Private Name
----------------------------------
7791 1 6.0 MB 0.2 MB nginx: master process /opt/nginx/sbin/
nginx
7792 7791 7.9 MB 2.0 MB nginx: worker process
7793 7791 7.3 MB 1.4 MB nginx: worker process
### Processes: 3
### Total private dirty RSS: 3.56 MB
---- Passenger processes ----
PID VMSize Private Name
-----------------------------
4549 10.3 MB 0.1 MB Passenger spawn server
7752 4.1 MB 0.2 MB PassengerWatchdog
7755 18.6 MB 1.7 MB PassengerHelperAgent
7757 10.3 MB 0.1 MB Passenger spawn server
7786 9.2 MB 0.5 MB PassengerLoggingAgent
### Processes: 5
### Total private dirty RSS: 2.63 MB
===
On May 4, 4:15 am, Hongli Lai <
hon...@phusion.nl> wrote:
> On Tue, May 3, 2011 at 1:36 PM, Viktor Trón <
viktor.t...@gmail.com> wrote:
>
> > On Thursday, 28 April 2011 20:44:25 UTC+1, Hongli Lai wrote:
>
> >> Try passenger-status
>
> > if I restart apache, it shows this rather uninteresting snippet below, but
> > if i
> > put a request in that is passed on to passenger, it hangs
> > and passenger-status hangs as well.
>
> Try passenger-status --show=backtraces
> Also try setting PassengerLogLevel to 2.
>
> --
> Phusion | Ruby & Rails deployment, scaling and tuning solutions
>
> Web:
http://www.phusion.nl/
> E-mail:
i...@phusion.nl