I am trying to deploy a Rails 3 application on a Ubuntu production server using Phusion passenger and RVM. I have installed Phusion passenger successfully, but I get the following error when accessing the server on my browser :
Ruby (Rack) application could not be started
These are the possible causes:
There may be a syntax error in the application's code. Please check for such errors and fix them.
A required library may not installed. Please install all libraries that this application requires.
The application may not be properly configured. Please check whether all configuration files are written correctly, fix any incorrect configurations, and restart this application.
A service that the application relies on (such as the database server or the Ferret search engine server) may not have been started. Please start that service.
Further information about the error may have been written to the application's log file. Please check it in order to analyse the problem.
Error message: invalid byte sequence in US-ASCII
Exception class: ArgumentError
Here is the backtrace :
0 /usr/lib/ruby/1.9.1/rubygems/specification.rb 575 in `normalize_yaml_input'
1 /usr/lib/ruby/1.9.1/rubygems/specification.rb 487 in `from_yaml'
2 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler.rb 294 in `block in load_gemspec_uncached'
3 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler.rb 291 in `chdir'
4 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler.rb 291 in `load_gemspec_uncached'
5 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler.rb 282 in `load_gemspec'
6 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/source.rb 411 in `block in load_spec_files'
7 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/source.rb 410 in `each'
8 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/source.rb 410 in `load_spec_files'
9 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/source.rb 799 in `load_spec_files'
10 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/source.rb 381 in `local_specs'
11 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/source.rb 774 in `specs'
12 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/lazy_specification.rb 53 in `__materialize__'
13 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/spec_set.rb 86 in `block in materialize'
14 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/spec_set.rb 83 in `map!'
15 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/spec_set.rb 83 in `materialize'
16 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/definition.rb 113 in `specs'
17 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/definition.rb 158 in `specs_for'
18 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/definition.rb 147 in `requested_specs'
19 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/environment.rb 23 in `requested_specs'
20 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/runtime.rb 11 in `setup'
21 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler.rb 116 in `setup'
22 /var/lib/gems/1.9.1/gems/bundler-1.2.2/lib/bundler/setup.rb 17 in `'
23 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb 59 in `require'
24 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb 59 in `rescue in require'
25 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb 35 in `require'
26 /home/juniormarketing/trndclone/config/setup_load_paths.rb 14 in `'
27 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb 36 in `require'
28 /usr/lib/ruby/1.9.1/rubygems/custom_require.rb 36 in `require'
29 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/utils.rb 301 in `prepare_app_process'
30 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/rack/application_spawner.rb 156 in `block in initialize_server'
31 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/utils.rb 563 in `report_app_init_status'
32 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/rack/application_spawner.rb 154 in `initialize_server'
33 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/abstract_server.rb 204 in `start_synchronously'
34 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/abstract_server.rb 180 in `start'
35 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/rack/application_spawner.rb 129 in `start'
36 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/spawn_manager.rb 253 in `block (2 levels) in spawn_rack_application'
37 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/abstract_server_collection.rb 132 in `lookup_or_add'
38 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/spawn_manager.rb 246 in `block in spawn_rack_application'
39 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/abstract_server_collection.rb 82 in `block in synchronize'
40 prelude> 10:in `synchronize'
41 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/abstract_server_collection.rb 79 in `synchronize'
42 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/spawn_manager.rb 244 in `spawn_rack_application'
43 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/spawn_manager.rb 137 in `spawn_application'
44 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/spawn_manager.rb 275 in `handle_spawn_application'
45 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/abstract_server.rb 357 in `server_main_loop'
46 /var/lib/gems/1.9.1/gems/passenger-3.0.18/lib/phusion_passenger/abstract_server.rb 206 in `start_synchronously'
47 /var/lib/gems/1.9.1/gems/passenger-3.0.18/helper-scripts/passenger-spawn-server 99 in `'
From what I understand, Bundler.setup() is called when starting the app and stumbles upon a non ascii character. This makes sense since the application is for a french website, but I made sure to add # -*- encoding : utf-8 -*-
on top of every source file containing non-ascii characters.
Here is my Gemfile :
# -*- encoding : utf-8 -*-
source 'https://rubygems.org'
gem 'rails', '3.2.7'
gem "will_paginate", :git => "https://github.com/p7r/will_paginate.git", :branch => "rails3"
gem "lorem"
gem 'paperclip'
gem 'rails3-jquery-autocomplete'
gem 'spreadsheet'
group :development, :test do
gem 'sqlite3', '1.3.5'
gem 'rspec-rails', '2.10.0'
gem 'faker', '0.3.1', :require => false
end
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '3.2.4'
gem 'coffee-rails', '3.2.2'
gem 'uglifier', '1.2.3'
gem 'jquery-datatables-rails', github: 'rweng/jquery-datatables-rails'
gem 'jquery-ui-rails'
end
gem 'jquery-rails', '2.0.2'
group :test do
gem 'capybara', '1.1.2'
gem 'factory_girl_rails', '1.0'
gem 'webrat'
gem 'cucumber-rails', '1.2.1', :require => false
gem 'database_cleaner', '0.7.0'
end
group :production do
#gem 'pg', '0.12.2'
end
Any ideas as to what is going wrong ?