Passenger 5.0.28: rails server, Nginx 1.10, memleak fix
Version 5.0.28 of the Phusion Passenger application server for Ruby, Node.js, Meteor and Python has been released. Besides a few improvements it contains the complete rails server
integration fix, as well as a memory leak fix and working dynamic Nginx module compilation for Linux.
If you hadn't already, be sure to check out the many major improvements that the 5.x series of Passenger introduces. And please be aware that you can enjoy enterprise features and sponsor the open source development directly by buying Phusion Passenger Enterprise.
"on_event" errors fixed (rails server)
Due to an incomplete commit, the fix for the "on_event" errors associated with the rails server
integration (available since 5.0.26) was incomplete. This has been resolved and the issue (GH-1768) is now closed.
Nginx 1.10.0 & build fixes
-
The preferred Nginx version for Passenger was changed to the new stable 1.10.x line.
-
The patch submitted in 5.0.26 for supporting compilation of Passenger as a dynamic Nginx module was discovered to have a compilation issue on Linux (GH-1793).
The build was fixed by splitting out the objects specifically meant for linking to Nginx and compiling them with the-fPIC
flag (rewrite of a PR by Andrei Belov). -
The build depended on the PCRE library, which might not be available (such as when compiling with
--without-http_rewrite_module
) (GH-1796). We fixed the build by adding a fallback for this situation.
High concurrency memory leak fixed
Internal testing revealed a memory leak that could occur in the Passenger Core whenever more than 1024 concurrent requests are handled (GH-1797). This situation was more likely to occur when using the options for higher concurrency support (added in 5.0.24).
Passenger maintains an internal list that promotes object reuse to increase performance. Overflowing this list could lead to objects not being released and leaking, which has now been fixed.
Various improvements
- Integrates with CloudLinux LVE and CageFS (security checks and a new option
PassengerLveMinUid
). Thanks to Oleksiy Shchukin from CloudLinux Inc. for contributing this. - Extends
passenger-memory-stats
filter to show the instance dir toucher too (as well as the core in valgrind debug runs). - Changes the default for friendly error pages to "off" unless the environment is set to "development", rather than "on" unless "staging" or "production". Closes GH-1782.
Installing 5.0.28
Please see the installation guide.
Upgrading to 5.0.28
We strongly advise staying up to date with the latest version.
See also the upgrade notes below!
OS X |
Debian |
Ubuntu |
Heroku |
Red Hat |
CentOS |
Ruby gem |
Tarball |
Docker |
If you are upgrading from 4.x, please read the 5.0 upgrade notes to learn about potential upgrade caveats.
Special notes about capistrano-passenger
If you are using Capistrano and [capistrano-passenger], then it may fail with this error:
SSHKit::Runner::ExecuteError: Exception while executing as user@99.99.99.99: undefined method `[]' for nil:NilClass
NoMethodError: undefined method `[]' for nil:NilClass
Tasks: TOP => passenger:restart
This is due to an incompatibility in capistrano-passenger with Passenger 5.0.22 and later. Please upgrade capistrano-passenger to 0.2.0 or later.