Phusion Passenger’s development continues on. A few bugs have been found and fixed. These fixes are deemed to be important enough to backport to the 2.0.x series, so today we present you with Phusion Passenger 2.0.2. 🙂

Changes

Fixed a file descriptor leak If a system error occurs while receiving the response data from a Rails application, then the file descriptor that connects Apache to the Rails application is not properly cleaned up. This has been fixed. Thanks to TonyLa for reporting and analyzing this problem. Fixed a memory leak Due to an unfortunate little mistake, each time a client disconnects from the ApplicationPoolServerExecutable will result in a small memory leak. In practice, it means this: if your Apache is configured to restart* worker threads or worker processes often (say, every 10 requests or so), then each time that happens, a small memory leak will occur. For most people this is not a problem, because by far most Apache servers are configured to never restart worker threads/processes, or only restart a worker thread/process after several hundred thousand requests. This leak didn’t catch our attention because we used a standard Apache configuration (Ubuntu default).

Once again, many thanks to TonyLa for reporting and analyzing this problem.

(* = This has got nothing to do with the ‘apachectl restart’ or ‘apachectl graceful’ command. These commands restart Phusion Passenger entirely, and will not result in any memory leaks. We were only referring to Apache’s internal process of restarting worker threads and worker processes.) Fixed a compilation problem for some people This has been fixed.

How do I upgrade to 2.0.2?

Via a gem

Please install it with the following command:

gem install passenger

Next, run:

passenger-install-apache2-module

Please don’t forget to copy & paste the Apache config snippet that the installer gives you.

Via a native Linux package

Neil Wilson from Brightbox has kindly provided an Ubuntu 8.04 package for Phusion Passenger. The package is available from the Brightbox repository which you can find at:

http://apt.brightbox.net

Add the following line to the Third Party Software Sources:

deb http://apt.brightbox.net hardy main

(The simplest way to do that is to create a file in /etc/apt/sources.list.d/ containing the deb anstruction, and then run ‘apt-get update‘).

Once you’ve done this then you can install Phusion Passenger by running:

apt-get install libapache2-mod-passenger

(Note that Neil is currently packaging 2.0.2, so it might take a while before this release shows up in the apt repository.)