1

I'm getting an error when starting passenger standalone (passenger start):

*** ERROR ***: Cannot execute 2.3.1: No such file or directory (2)

I'd like to know where this error is coming from so I can resolve it. Is there any kind of backtrace I can see so I can debug it?

In researching, I see others (here and here) have had the same error, but with executing usr/bin/ruby. I must have some configuration that is pointing to a wrong directory when it needs to point to ruby, but I can't see where that might be happening.

I don't get much helpful output when I run passenger start --log-level=7

[ D 2018-03-02 14:27:56.4550 25489/Te LveLoggingDecorator.h:67 ]: LVE not in [pid 25489, uid 501, min_uid 500]
[ D 2018-03-02 14:27:56.4556 25489/Te age/Cor/Spa/SmartSpawner.h:280 ]: Preloader process forked for appRoot=/home/judo/apps/foo/current: PID 25522
App 25522 stdout:
  App 25522 stderr: *** ERROR ***: Cannot execute 2.3.1: No such file or directory (2)
[ E 2018-03-02 14:27:56.5158 25489/Te age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/judo/apps/foo/current: An error occurred while starting up the preloader. It exited before signalling successful startup back to Phusion Passenger.
  Error ID: 058be22e
Error details saved to: /tmp/passenger-error-O5Bmb7.html

and the error details saved are just the same details. I also have been watching my application logs (~/apps/foo/current/log/passenger.3000.log), but it's also all more of the same thing.

Where in my configuration should I be specifying a path to an executable, rather than 2.3.1?


$ echo $PATH
/home/judo/.rvm/gems/ruby-2.3.1/bin:/home/judo/.rvm/gems/ruby-2.3.1@global/bin:/home/judo/.rvm/rubies/ruby-2.3.1/bin:/home/judo/.rvm/bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/jdk/bin:/home/judo/perl5/bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/cpanel/3rdparty/lib/path-bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/cpanel/composer/bin:/usr/local/easy/bin:/usr/local/bin:/usr/X11R6/bin:/home/judo/bin

Passenger 5.1.12, RVM 1.29.3, Ruby 2.3.1, CentOS 6.9, Apache 2.4.29


Update

One thing I noticed in the logs, with reference to 2.3.1 is this:

Parsing 550 bytes of HTTP header: "HEAD / HTTP/1.1\r[...]\n!~PASSENGER_RUBY: 2.3.1\

So it appears the passenger ruby variable is being set to 2.3.1, instead of /home/judo/.rvm/wrappers/ruby-2.3.1/ruby. However, in my apache pre_main_global.conf file, I have:

PassengerDefaultRuby /home/stevensp/.rvm/wrappers/ruby-2.3.1/ruby

and under the domain entry in my httpd.conf file, I have:

<Directory ~/foo/public/>
  Options FollowSymLinks
  AllowOverride all
  PassengerEnabled on
  Order allow,deny
  Allow from all
</Directory>

LoadModule passenger_module /home/judo/.rvm/gems/ruby-2.3.1/gems/passenger-5.2.1/buildout/apache2/mod_passenger.so
PassengerRoot /home/judo/.rvm/gems/ruby-2.3.1/gems/passenger-5.2.1
PassengerRuby /home/judo/.rvm/gems/ruby-2.3.1/wrappers/ruby
PassengerResolveSymlinksInDocumentRoot on

# DocumentRoot /home/judo/foo/public
DocumentRoot /home/judo/public_html/foo
Options -MultiViews

How where else could it be set?

Community
  • 1
  • 1
stevenspiel
  • 5,775
  • 13
  • 60
  • 89
  • 1
    I don’t see anything obvious from what you posted. To rule out the application, could you generate a vanilla rails app and see if it boots properly? Then you’ll know it’s something external to that in your config. Also try to make sure that the config files you’re showing here are actually the ones being loaded by introducing a change or removing them. – Edward Anderson Mar 02 '18 at 21:23

0 Answers0