2012-02-15 6 views
0

Я пытаюсь использовать «redmine_git_hosting» от git://github.com/ericpaulbishop/redmine_git_hosting.gitПочему рубин рушится?

При попытке доступа к нему я получаю сообщение об ошибке в /var/log/apache2/error.log:

/lib/redmine/scm/adapters/git_adapter.rb:26: warning: already initialized constant GIT_BIN 

я могу получить доступ к сайту Redmine, но затем, если я обновить я получаю:

/usr/share/redmine_dev/lib/redmine/scm/adapters/git_adapter.rb:26: warning: already initialized constant GIT_BIN 
[ pid=31351 thr=3075225872 file=ext/apache2/Hooks.cpp:817 time=2012-02-15 15:41:08.102 ]: The backend application (process 3677) did not send a valid HTTP response; instead, it sent nothing at all. It is possible that it has crashed; please check whether there are crashing bugs in this application. 
[ pid=3677 thr=-609445668 file=utils.rb:176 time=2012-02-15 15:41:08.103 ]: *** Exception NameError in application (uninitialized constant Redmine::Scm::Adapters::CommandFailed) (process 3677, thread #<Thread:0xb75931b8>): 

Я получаю внутреннюю ошибку 500.

От top Я вижу, что один рубиновый процесс был убит.

Моя среда:

  • Ubuntu 11,10
  • PostgreSQL 8,4
  • Apache2.20
  • рубин 1.8.7
  • Redmine 1.3.0
  • Phusion версия 3.0.11
  • Рельсы (2.3.14)
  • Rubygems 1.6.2
+0

Вы не дали нам достаточно работать на; Нам нужно увидеть исходный код. –

+0

Предупреждение может быть или не быть частью проблемы - это всего лишь предупреждение. Похоже, что большая проблема связана с выходом: '*** Exception NameError в приложении (неинициализированная константа Redmine :: Scm :: Adapters :: CommandFailed) (процесс 3677, поток # <Тема: 0xb75931b8>):' – jefflunt

ответ

0

Это, кажется, та же ошибка, как этот отчётный против вилки Chiliproject: https://www.chiliproject.org/issues/828

Кажется, это происходит только в режиме разработки, после первого запроса (от второго запрос), поскольку рельсы выгружают ваши модули, поэтому вам не нужно перезапускать приложение каждый раз, когда вы вносите изменения. В application_controller все классы репозитория scm снова загружаются с require_dependency по каждому запросу. Но модули, на которые эти scm зависят, например, от git_adapter и abstract_adapter, загружаются стандартным рубином, поэтому они не загружаются снова. Следовательно, неинициализированные постоянные ошибки в развитии.

Там предложенное решение было

... удалить требует от внутри модулей и интегрировать их в application_controller:

require_dependency 'redmine/scm/adapters/abstract_adapter' 
    Redmine::Scm::Base.all.each do |scm| 
     require_dependency "repository/#{scm.underscore}" 
     require_dependency "redmine/scm/adapters/#{scm.underscore}_adapter" 
    end