FCGI Issues on Dreamhost

Hey everyone,

I use DreamHost for my web hosting and have just setup the Mephisto blogging engine at http://blog.hanabi.co.uk

At the moment I am receiving a Rails Application error message. I contacted DreamHost support and they sent me the following;

Debugging your rails application is beyong our scope of support. Your fastcgi.crash.logs contained the following errors. I can suggest that you consult our member forum http://discussion.dreamhost.com. Often times you can receive tips from users who have encountered similar problems. If you have any additional questions, please let us know.

[08/Jan/2007:15:21:23 :: 4602] Dispatcher failed to catch: private method 'split' called for nil:NilClass (NoMethodError)

/usr/lib/ruby/1.8/cgi.rb:897:in `parse'

../config/../vendor/rails/actionpack/lib/action_controller/cgi_ext/raw_post_data_fix.rb:45:in `initialize_query'

/usr/lib/ruby/1.8/cgi.rb:2274:in `initialize'

/usr/lib/ruby/1.8/fcgi.rb:594:in `new'

/usr/lib/ruby/1.8/fcgi.rb:594:in `each_cgi'

../config/../vendor/rails/railties/lib/fcgi_handler.rb:141:in 'process_each_request!'

../config/../vendor/rails/railties/lib/fcgi_handler.rb:55:in 'process!'

../config/../vendor/rails/railties/lib/fcgi_handler.rb:25:in 'process!'

./dispatch.fcgi:24

killed by this error

Rick Olson who develops Mephisto assures me that this is not a Mephisto error.

I have left a message on the DreamHost Discussion forum, but thought I would post here as well to see if anyone has come up against a similar error and perhaps knows of a solution?

Thanks, Neil.

Run it with WEBrick on port 3000 and try to connect to it (that actually does work on DH)

./script/server -e production

Also, check your production logs. Make sure the app actually is running in production too.

It took me a little finagling to get it working on DH, too. There are specific instructions to follow to get it to work (i.e., did you freeze edge to vendor? That was one of my problems): http://mede.us/2006/12/1/mephisto-and-dreamhost

I think that's the one I used.

--Jeremy

Hey Jeremy,

Thanks for the reply.

I also used that guide to get it setup on the server. The installation ran okay using Terminal on Mac OSX, because at the end of the install - I was told to then login to the admin page.

It seems that there are a few people having FCGI problems with other apps on DreamHost.

Hey Brian,

Thanks for the reply.

I will certainly try the command that you have given. The production log was actually empty (the last time I ran it) - apart from the following message; # Logfile created on Sun Jan 07 07:09:58 -0800 2007 by logger.rb/1.5.2.9

Rick Olson said that means that no requests are actually being received.

Either that or you’re not running in production mode. Make sure you are. Edit config/environment.rb and set the mode to production… some of my apps on DH require that before I can run in prodction; others do not.

Just checked the environment.rb file, and it seems to be set correctly.

ENV['RAILS_ENV'] ||= 'production'

However, I have noticed at the top of the file that it says; # Be sure to restart your web server when you modify this file.

I originally edited the file before uploading any of the files for Mephisto - as this was the first time I installed it. So I assume it should automatically pick up the production environment?

Heh, I've finally got the application working - in part.

I had to uncomment the following rule in the .htaccess file;

RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]