Defect #8510

JRuby: Can't open administrator panel if scm command is not available

Added by Juan G over 6 years ago. Updated over 6 years ago.

Status:ClosedStart date:2011-06-03
Priority:NormalDue date:
Assignee:Toshi MARUYAMA% Done:

0%

Category:SCM
Target version:1.2.1
Resolution:Fixed Affected version:1.2.0

Description

I have a problem in redmine administration->setup page.

I can't access it since I've upgraded to 1.2.0 because an error caused by shelling out "darcs --version". I don't have installed darcs so this is normal. I am trying to disable that scm in database, SETTINGS table with NAME field = 'enabled_scm'. I've deleted that scm, updated "UPDATED_ON" field, but this isn't applied and the error persists.

My environment:


About your application's environment
Ruby version              1.8.7 (java)
RubyGems version          1.5.1
Rack version              1.1
Rails version             2.3.11
Active Record version     2.3.11
Active Resource version   2.3.11
Action Mailer version     2.3.11
Active Support version    2.3.11
Edge Rails revision       unknown
Application root          /opt/redmine-1.2.0
Environment               prod_ora
Database adapter          oracle_enhanced
Database schema version   20110511000000

Thanks!

jruby-darcs.diff Magnifier (1.18 KB) Toshi MARUYAMA, 2011-06-03 11:42


Related issues

Related to Redmine - Defect #4494: Mercurial access not working in jruby Closed 2009-12-28
Related to Redmine - Patch #5404: Fix Redmine tests for JRuby 1.4.x and 1.5.0 Closed 2010-04-29
Duplicated by Redmine - Defect #8525: can not publish(.war) to tomcat Closed 2011-06-04

Associated revisions

Revision 5999
Added by Toshi MARUYAMA over 6 years ago

scm: catch all exceptions to get scm command version in repository model (#8510).

If scm command does not exist,
Linux jruby 1.6.2 (ruby-1.8.7-p330) raises java.io.IOException in production environment.

Revision 6230
Added by Toshi MARUYAMA over 6 years ago

scm: catch all exceptions at adapter shellout() to fork scm command (#8510, #6713, #4725, #5404).

If scm command does not exist,
Linux JRuby 1.6.2 (ruby-1.8.7-p330) raises java.io.IOException in production environment.

History

#1 Updated by Toshi MARUYAMA over 6 years ago

  • Category changed from Administration to SCM
  • Assignee set to Toshi MARUYAMA
  • Target version set to 1.2.1

#2 Updated by Toshi MARUYAMA over 6 years ago

I can reproduce.

$ /WEB-DOWN/JRUBY/jruby-1.6.2/bin/jruby --version
jruby 1.6.2 (ruby-1.8.7-p330) (2011-05-23 e2ea975) (OpenJDK 64-Bit Server VM 1.6.0_18) [linux-amd64-java]
ActionView::TemplateError (Cannot run program "ddddd" (in directory "/REDMINE-1/hg-workdir/hg-bb-work"): java.io.IOException: error=2, No such file or directory) on line #28 of app/views/settings/_repositories.rhtml:
25:       <td>
26:          <%=
27:            image_tag(
28:               (scm_class.scm_available ? 'true.png' : 'exclamation.png'),
29:               :style => "vertical-align:bottom;" 
30:            )
31:            %>

    org/jruby/RubyIO.java:3541:in `popen'
    lib/redmine/scm/adapters/abstract_adapter.rb:221:in `shellout'
    lib/redmine/scm/adapters/darcs_adapter.rb:56:in `darcs_binary_version_from_command_line'
    lib/redmine/scm/adapters/darcs_adapter.rb:46:in `darcs_binary_version'
    lib/redmine/scm/adapters/darcs_adapter.rb:38:in `client_version'
    lib/redmine/scm/adapters/darcs_adapter.rb:42:in `client_available'
    app/models/repository.rb:300:in `scm_available'
    app/views/settings/_repositories.rhtml:28:in `block_called_from_erb?'
    org/jruby/RubyArray.java:2336:in `collect'
    app/views/settings/_repositories.rhtml:11:in `block_called_from_erb?'
    org/jruby/RubyProc.java:268:in `call'
    org/jruby/RubyProc.java:228:in `call'
    app/views/settings/_repositories.rhtml:1:in `_run_rhtml_app47views47settings47_repositories46rhtml_locals_object_repositories_tab'
    org/jruby/RubyKernel.java:2063:in `send'
    app/views/common/_tabs.rhtml:24:in `_run_rhtml_app47views47common47_tabs46rhtml_locals_object_tabs'
    org/jruby/RubyArray.java:1602:in `each'
    app/views/common/_tabs.rhtml:23:in `_run_rhtml_app47views47common47_tabs46rhtml_locals_object_tabs'
    org/jruby/RubyKernel.java:2063:in `send'
    app/helpers/application_helper.rb:218:in `render_tabs'
    app/views/settings/edit.rhtml:3:in `_run_rhtml_app47views47settings47edit46rhtml'
    org/jruby/RubyKernel.java:2063:in `send'
    app/controllers/settings_controller.rb:25:in `index'
    org/jruby/RubyKernel.java:2059:in `send'
    org/jruby/RubyKernel.java:2059:in `send'
    org/jruby/RubyProc.java:268:in `call'
    org/jruby/RubyProc.java:228:in `call'
    org/jruby/RubyArray.java:1602:in `each'
    /WEB-DOWN/JRUBY/jruby-1.6.2/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
    /WEB-DOWN/JRUBY/jruby-1.6.2/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
    /WEB-DOWN/JRUBY/jruby-1.6.2/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
    org/jruby/RubyProc.java:268:in `call'
    org/jruby/RubyProc.java:232:in `call'

Rendering /REDMINE-1/hg-workdir/hg-bb-work/public/500.html (500 Internal Server Error)

#3 Updated by Toshi MARUYAMA over 6 years ago

  • Subject changed from Can't disable scm (darcs) to JRuby: Can't open administrator panel if scm command is not available

#4 Updated by Toshi MARUYAMA over 6 years ago

Please apply this patch.

#5 Updated by Juan G over 6 years ago

Toshi MARUYAMA wrote:

Please apply this patch.

Your patch solves the issue.

Thanks very much Toshi for helping in this! :-D

BTW, should I mark this issue as solved?

#6 Updated by Toshi MARUYAMA over 6 years ago

After CI server tests pass in trunk, I will merge to 1.2-stable.
Then, I will close.
http://www.redmine.org/builds/index.html

#7 Updated by Toshi MARUYAMA over 6 years ago

  • Status changed from New to Closed
  • Resolution set to Fixed

Committed trunk r5999 and 1.2-stable r6000 and CI server tests pass.

Also available in: Atom PDF