Just in case you haven’t noticed yet, http://wiki.rubyonrails.org/ is now running Phusion Passenger and Ruby Enterprise Edition. We migrated them a few days ago, and other than a MySQL failure yesterday, it had been rock solid ever since. People have complained about wiki.rubyonrails.org being down often, but the uptime should be a lot better now.
Written by Hongli Lai on July 24, 2008
General
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.)
A new version of Ruby Enterprise Edition has been released. The changes are as follows:
- Based on Ruby 1.8.6-p114
- The last Ruby Enterprise Edition release was based on Ruby 1.8.6-p111. We’ve rebased our patches against 1.8.6-p114. The security fixes are still included. We’ve also verified that this version passes the Rails unit tests.
- Upgraded to tcmalloc 0.98
- We’ve upgraded the memory allocator (tcmalloc) from 0.97 to 0.98. This fixes some crashes that some applications might experienced.
- Usability improvements in the installer
- The installer now forces the terminal to use a black background, so that the text is still readable if your terminal has a light background. Thanks to Igal Koshevoy.
- Fixed sqlite3-ruby permission problems
- The sqlite3-ruby gem installs files with the wrong permissions. The Ruby Enterprise Edition installer now fixes this for you.
Upgrade instructions
Via the source tarball
Please download the source tarball from the download page and run the builtin installer, as instructed on the download page. To upgrade, please install Ruby Enterprise Edition to the same prefix as you specified last time.
Via the Debian package
Please install the Debian package by downloading it from the download page.