Forced download for SCM 'view' for binary files takes a long while to start up in Ruby Enterprise Edition
Added by Antonio García-Domínguez over 13 years ago
Hi everyone,
I've started test driving Ruby Enterprise Edition for running Redmine 1.2.1 inside Passenger 3.0.9. It looks like I could save a lot of memory, but I keep getting rogue processes using up 100% of a single CPU when trying to "view" large binary files through the "Repository" module. If I kill the rogue process with SIGABRT, I get a trace like this:
Processing RepositoriesController#annotate (for 10.182.221.1 at 2011-10-28 02:15:37) [GET] Parameters: {"action"=>"annotate", "id"=>"models2011-paper", "path"=>["demo-movie", "models2011-with-bubbles.wnk"], "controller"=>"repositories"} SignalException (SIGABRT): passenger (3.0.9) lib/phusion_passenger/abstract_request_handler.rb:440:in `install_useful_signal_handlers' lib/redmine/scm/adapters/subversion_adapter.rb:230:in `call' lib/redmine/scm/adapters/subversion_adapter.rb:230:in `read' lib/redmine/scm/adapters/subversion_adapter.rb:230:in `cat' lib/redmine/scm/adapters/abstract_adapter.rb:217:in `call' lib/redmine/scm/adapters/abstract_adapter.rb:217:in `shellout' lib/redmine/scm/adapters/abstract_adapter.rb:215:in `popen' lib/redmine/scm/adapters/abstract_adapter.rb:215:in `shellout' lib/redmine/scm/adapters/abstract_adapter.rb:194:in `shellout' lib/redmine/scm/adapters/subversion_adapter.rb:228:in `cat' app/models/repository.rb:128:in `cat' app/controllers/repositories_controller.rb:174:in `annotate' passenger (3.0.9) lib/phusion_passenger/rack/request_handler.rb:96:in `process_request' passenger (3.0.9) lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request' passenger (3.0.9) lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop' passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler' passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send' passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application' passenger (3.0.9) lib/phusion_passenger/utils.rb:479:in `safe_fork' passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application' passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `__send__' passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop' passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously' passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:180:in `start' passenger (3.0.9) lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start' passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application' passenger (3.0.9) lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add' passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application' passenger (3.0.9) lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize' passenger (3.0.9) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize' passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application' passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application' passenger (3.0.9) lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application' passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `__send__' passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop' passenger (3.0.9) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously' passenger (3.0.9) /helper-scripts/passenger-spawn-server:99
I don't seem to have this problem using the standard Ruby interpreter, though. Any ideas?
Regards,
Antonio