Phusion white papers Phusion overview

Phusion Passenger 4.0.7 released

By Hongli Lai on July 4th, 2013


Phusion Passenger is software that deploys Ruby and Python web apps, by integrating into Apache and Nginx and turning them into a fully-featured application server. It is very fast, stable and robust and thus used by the likes of New York Times, AirBnB, Symantec, Pixar, etc. It comes with many features that make your life easier and your application perform better.

Phusion Passenger is under constant maintenance and development. Version 4.0.7 is a bugfix releases. UPDATE: this announcement was originally about 4.0.6, but there was a regression in 4.0.6 that sometimes prevents PassengerLoggingAgent from starting up. Unfortunately this slipped our release testing. This regression has been fixed in 4.0.7 and we’ve updated our test suite to check for these kinds of regressions. Our apologies for the inconvenience!

Phusion Passenger also has an Enterprise version which comes with a wide array of additional features. By buying Phusion Passenger Enterprise you will directly sponsor the development of the open source version.

Recent changes

  • Fixed a potential 100% CPU lock up in the crash handler, which only occurs
    on OS X. Fixes issue #908.
  • Fixed a crash in request handling, when certain events are trigger after
    the client has already disconnected. Fixes issue #889.
  • Phusion Passenger will no longer crash when the Phusion Passenger
    native_support Ruby extension cannot be compiled, e.g. because the Ruby
    development headers are not installed or because the current user has no
    permission to save the native extension file. Fixes issue #890.
  • Fixed OS X 10.9 support. Fixes issue #906.
  • Removed dependency on bash, so that Phusion Passenger works out of the box
    on BSD platforms without installing/configuring bash. Fixes issue #911.
  • Fix ‘PassengerPoolIdleTime 0′ not being respected correctly. Issue #904.
  • Admin tools improvement: it is now possible to see all currently running
    requests by invoking passenger-status --show=requests.
  • A new feature called Flying Passenger allows you to decouple the life time
    of Phusion Passenger from the web server, so that both can be restarted
    indepedently from each other. Please refer to this article for an introduction.
  • [Apache] Fixed compatibility with Apache pipe logging. Previously this
    would cause Phusion Passenger to lock up with 100% CPU during Apache
    restart.
  • [Nginx] The Nginx configure script now checks whether ‘ruby’ is in $PATH.
    Previously, if ‘ruby’ is not in $PATH, then the compilation process fails
    with an obscure error.
  • [Nginx] passenger-install-nginx-module now works properly even when Phusion
    Passenger is installed through the Debian packages. Before, the installer
    would tell you to install Phusion Passenger through the gem or tarball
    instead.
  • [Enterprise] Added pretty printing helpers to the Live IRB Console.
  • Fixed permissions on a subdirectory in the server instance directory. The
    server instance directory is a temporary directory that Phusion Passenger
    uses to store working files, and is deleted after Phusion Passenger exits.
    A subdirectory inside it is world-writable (but not world-readable) and is
    used for storing Unix domain sockets created by different apps, which may
    run as different users. These sockets had long random filenames to prevent
    them from being guessed. However because of a typo, this subdirectory was
    created with the setuid bit, when it should have sticky bit (to prevent
    existing files from being deleted or renamed by a user that doesn’t own the
    file). This has now been fixed.
  • If the server instance directory already exists, it will now be removed
    first in order get correct directory permissions. If the directory still
    exists after removal, Phusion Passenger aborts to avoid writing to a
    directory with unexpected permissions. Fixes issue #910.
  • The installer now checks whether the system has enough virtual memory, and
    prints a helpful warning if it doesn’t.
  • Linux/AArch64 compatibility fixes. Patch contributed by Dirk Mueller.
  • Improved documentation.

Installing 4.0.7

Quick install/upgrade

Phusion Passenger Enterprise users can download the Enterprise version of 4.0.7 from the Customer Area.

Open source users can install the open source version of 4.0.7 with the following commands:

gem install passenger
passenger-install-apache2-module
passenger-install-nginx-module

You can also download the tarball at the Release Archive page. We strongly encourage you to cryptographically verify files after downloading them.

In-depth instructions

In-depth installation and upgrade instructions can be found in the Installation section of the documentation. The documentation covers:

  • Detailed tarball installation instructions.
  • Detailed upgrade instructions.
  • Installation troubleshooting.
  • Installation through APT and YUM.

You can view the documentation online here:

Final

If you would like to stay up to date with Phusion news, please fill in your name and email address below and sign up for our newsletter. We won’t spam you, we promise.



  • http://blog.cloud-mes.com/ Eric Guo

    seems Ubuntu 12.04 LTS can not start the 4.0.6 but v4.0.5 works. (fresh install and compile from source code)

    root@cvprcsip01:~# /etc/init.d/nginx stop
    * Stopping Nginx Server… [ OK ]
    root@cvprcsip01:~# vi /opt/nginx/conf/nginx.conf
    root@cvprcsip01:~# /etc/init.d/nginx start
    * Starting Nginx Server… nginx: [alert] Unable to start the Phusion Passenger watchdog because it encountered the following error during startup: Unable to start the Phusion Passenger logging agent: it seems to have crashed during startup for an unknown reason, with exit code 1 (-1: Unknown error)
    root@cvprcsip01:~# ruby -v
    ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux]
    root@cvprcsip01:~# uname -a
    Linux cvprcsip01 3.2.0-49-generic-pae #75-Ubuntu SMP Tue Jun 18 18:00:21 UTC 2013 i686 i686 i386 GNU/Linux

  • Jim Nicholls

    My RHEL 6 with apache also has this problem.

    [ 2013-07-05 19:16:49.4200 13310/7f0233b73720 agents/HelperAgent/Main.cpp:596 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.13304/generation-0/request
    [ 2013-07-05 19:16:49.4279 13315/7ff8ccd717e0 agents/LoggingAgent/Main.cpp:303 ]: *** ERROR: Cannot bind Unix socket ‘/tmp/passenger.1.0.13304/generation-0/logging_admin’: Permission denied (errno=13)
    in ‘void Passenger::MessageServer::startListening()’ (MessageServer.h:333)

  • Jim Nicholls

    Reverted back to 4.0.5 and everything is fine again.

    [ 2013-07-05 19:34:30.8661 19180/7ff323560720 agents/HelperAgent/Main.cpp:555 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.19174/generation-0/request
    [ 2013-07-05 19:34:30.8696 19177/7fd4de784720 agents/Watchdog/Main.cpp:564 ]: All Phusion Passenger agents started!
    [ 2013-07-05 19:34:30.8737 19185/7f5630cb87e0 agents/LoggingAgent/Main.cpp:271 ]: PassengerLoggingAgent online, listening at unix:/tmp/passenger.1.0.19174/generation-0/logging

  • http://about.me/pawelgoscicki Paweł Gościcki

    Ubuntu 13.04:

    [ 2013-07-05 11:47:00.0430 3771/7f24d6da6740 agents/HelperAgent/Main.cpp:596 ]: PassengerHelperAgent online, listening at unix:/tmp/passenger.1.0.3762/generation-0/request

    [ 2013-07-05 11:47:00.0539 3776/7f511ef8d780 agents/LoggingAgent/Main.cpp:303 ]: *** ERROR: Cannot bind Unix socket ‘/tmp/passenger.1.0.3762/generation-0/logging_admin’: Permission denied (errno=13)

    in ‘void Passenger::MessageServer::startListening()’ (MessageServer.h:333)

  • http://www.phusion.nl/ Hongli Lai

    Thank you for reporting this. This is a regression that unfortunately has slipped our release testing. We’re fixing this immediately.

  • bl4d3

    I have the same issue too, how to fix it?

  • http://www.phusion.nl/ Hongli Lai

    Please send an email to the community discussion forum with details.

  • http://blog.cloud-mes.com/ Eric Guo

    after upgrade to 4.0.7, it’s resolved. FYI