ChiliProject is not maintained anymore. Please be advised that there will be no more updates.
We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.
Mime::API error on admin pages
Added by Damian Zaremba at 2011-02-12 05:51 pm
Hi,
I'm getting a 500 thrown on some of the admin pages all with the same trace back. I'm not that familiar with Ruby and Google isn't being helpful today so I wonder if anyone around here knows what's wrong. I have a feeling it could by my Ruby install rather than ChiliProject but as I have an identical install to a working production server (that runs the latest stableRedmine - but this issue also happens with it) so I'm lost as to why.
I've included the log below.
Thanks,
Damian
production.log
# Logfile created on Sat Feb 12 17:41:00 +0000 2011 Processing WelcomeController#index (for xxxxx at 2011-02-12 17:41:04) [GET] Parameters: {"action"=>"index", "controller"=>"welcome"} Rendering template within layouts/base Rendering welcome/index Completed in 675ms (View: 586, DB: 59) | 200 OK [http://xxxx/] Processing AdminController#index (for xxxxx at 2011-02-12 17:41:20) [GET] Parameters: {"action"=>"index", "controller"=>"admin"} Rendering template within layouts/admin Rendering admin/index Completed in 28ms (View: 20, DB: 1) | 200 OK [http://xxxx/admin] Processing AdminController#projects (for xxxxx at 2011-02-12 17:41:23) [GET] Parameters: {"action"=>"projects", "controller"=>"admin"} Rendering template within layouts/admin Rendering admin/projects Completed in 1129ms (View: 1125, DB: 1) | 200 OK [http://xxxx/admin/projects] Processing AdminController#index (for xxxxx at 2011-02-12 17:41:25) [GET] Parameters: {"action"=>"index", "controller"=>"admin"} Rendering template within layouts/admin Rendering admin/index Completed in 14ms (View: 11, DB: 0) | 200 OK [http://xxxx/admin] Processing UsersController#index (for xxxxx at 2011-02-12 17:41:26) [GET] Parameters: {"action"=>"index", "controller"=>"users"} NameError (uninitialized constant Mime::API): /usr/local/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:440:in `load_missing_constant' /usr/local/ruby/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in `const_missing' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:162:in `const_get' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:162:in `method_missing' app/controllers/users_controller.rb:60:in `index' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:106:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:106:in `respond_to' app/controllers/users_controller.rb:58:in `index' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1331:in `send' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1331:in `perform_action_without_filters' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:617:in `call_filters' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/rescue.rb:160:in `perform_action_without_flash' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/flash.rb:146:in `perform_action' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in `send' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in `process_without_filters' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:606:in `process' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:391:in `process' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:386:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:437:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:87:in `dispatch' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:121:in `_call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack' /usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' /usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:9:in `cache' /usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:28:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/string_coercion.rb:25:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/params_parser.rb:15:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/session/cookie_store.rb:93:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/failsafe.rb:26:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:106:in `call' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/rack/request_handler.rb:96:in `process_request' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/utils.rb:479:in `safe_fork' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server.rb:357:in `__send__' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server.rb:180:in `start' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server.rb:357:in `__send__' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously' /usr/local/ruby/lib/ruby/gems/1.8/gems/passenger-3.0.2/helper-scripts/passenger-spawn-server:99 Rendering /var/www/vhosts/xxxx/public/500.html (500 Internal Server Error)
Gems installed
# gem list *** LOCAL GEMS *** abstract (1.0.0) actionmailer (3.0.4, 2.3.5) actionpack (3.0.4, 2.3.5) activemodel (3.0.4) activerecord (3.0.4, 2.3.5) activeresource (3.0.4, 2.3.5) activesupport (3.0.4, 2.3.5) arel (2.0.8) builder (2.1.2) bundler (1.0.10) daemon_controller (0.2.5) daemons (1.1.0) erubis (2.6.6) eventmachine (0.12.10) fastthread (1.0.7) file-tail (1.0.5) i18n (0.5.0) json (1.5.1) mail (2.2.15) mime-types (1.16) mysql (2.8.1) passenger (3.0.2) polyglot (0.3.1) rack (1.2.1, 1.0.1) rack-mount (0.6.13) rack-test (0.5.7) rails (3.0.4, 2.3.5) railties (3.0.4) rake (0.8.7) rubygems-update (1.5.2) spruz (0.2.5) thin (1.2.7) thor (0.14.6) treetop (1.4.9) tzinfo (0.3.24)
Replies (5)
RE: Mime::API error on admin pages - Added by Damian Zaremba at 2011-02-12 07:55 pm
Just as an update to this I have re-installed the whole ruby stack and the issue still persists. It also appears that it is not just limited to the admin pages as can be seen below (thin full traceback output)
Thanks,
Damian
NameError in ProjectsController#show uninitialized constant Mime::API RAILS_ROOT: /var/www/vhosts/xxxxx Application Trace | Framework Trace | Full Trace /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:440:in `load_missing_constant' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:80:in `const_missing' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:162:in `const_get' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:162:in `method_missing' /var/www/vhosts/xxxxx/app/controllers/projects_controller.rb:168:in `show' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:106:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/mime_responds.rb:106:in `respond_to' /var/www/vhosts/xxxxx/app/controllers/projects_controller.rb:166:in `show' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1331:in `send' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:1331:in `perform_action_without_filters' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:617:in `call_filters' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:610:in `perform_action_without_benchmark' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/local/ruby-1.8.7/lib/ruby/1.8/benchmark.rb:308:in `realtime' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activesupport-2.3.5/lib/active_support/core_ext/benchmark.rb:17:in `ms' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/rescue.rb:160:in `perform_action_without_flash' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/flash.rb:146:in `perform_action' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in `send' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:532:in `process_without_filters' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/filters.rb:606:in `process' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:391:in `process' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/base.rb:386:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:437:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:87:in `dispatch' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:121:in `_call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:9:in `cache' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:28:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/string_coercion.rb:25:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/head.rb:9:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/params_parser.rb:15:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/session/cookie_store.rb:93:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/failsafe.rb:26:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `synchronize' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:106:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/rack/adapter/rails.rb:74:in `call' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:76:in `pre_process' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:74:in `catch' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:74:in `pre_process' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:57:in `process' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/connection.rb:42:in `receive_data' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/backends/base.rb:57:in `start' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/server.rb:156:in `start' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/controllers/controller.rb:80:in `start' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/runner.rb:177:in `send' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/runner.rb:177:in `run_command' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/lib/thin/runner.rb:143:in `run!' /usr/local/ruby-1.8.7/lib/ruby/gems/1.8/gems/thin-1.2.7/bin/thin:6 /usr/local/ruby-1.8.7/bin/thin:19:in `load' /usr/local/ruby-1.8.7/bin/thin:19 Request Parameters: {"id"=>"xxxxx"} Show session dump Response Headers: {"Content-Type"=>"", "Cache-Control"=>"no-cache"}
RE: Mime::API error on admin pages - Added by Felix Schäfer at 2011-02-12 10:11 pm
I've found no mention of a "Mime::API" either on google nor in chiliproject/redmine, nor any mention of anything name-wise related to "API" in the code. Maybe Eric has a better idea here, but my next step will be to scourge rails for said stuff.
RE: Mime::API error on admin pages - Added by Holger Just at 2011-02-12 11:45 pm
I would guess this is used by either the low level rails code or even rack.
Generally, we (as in ChiliProject, Redmine and generally every Rails 2.3.5 project) seem to have some issues with too new libraries present on the system. So as a workaround you could try to remove the mime-types
gem and possibly and other gems depending in it (e.g. maybe rack 1.2.1 or the rails 3 stuff, but this is just a guess).
If you need those for other projects on your system, I would try to direct you towards RVM and its gemsets feature. We ChiliProject people should probably introduce actual dependency handling by using Bundler soon to prevent that issues soon. See https://github.com/finnlabs/chiliproject-gemfile for a working Gemfile, which is going to be usesd on our CI.
RE: Mime::API error on admin pages - Added by Eric Davis at 2011-02-14 01:33 am
Just a guess but this could be from Redmine's custom REST api templates. The stacktraces point to this code:
1# users_controller
2 respond_to do |format|
3 format.html { render :layout => !request.xhr? }
4 format.api # <<<<<<<<<<<<<<<
5 end
1# projects_controller
2 respond_to do |format|
3 format.html
4 format.api # <<<<<<<<<<<<
5 end
Let me check the commits to see where the "API" MIME type was added, I might have missed something (or it could be an actual bug).
Eric Davis
RE: Mime::API error on admin pages - Added by Eric Davis at 2011-02-14 01:38 am
It looks like ea59d93dc82d9675586c4b2e176fb4b7640e3158 is where the format.api
was added and it is monkey patching Rails' ActionController::MimeResponds::Responder
class which matches the error.
We should decide if 1) we should fix this bug or 2) if we are going to remove the custom REST API templates (discussion).
Eric Davis
(1-5/5)