Redmine 2.0.1: Can't view repository in private projects

Added by Kimbro Staken over 7 years ago

We're testing an upgrade to Redmine 2.0.1 coming from 1.4.2 and have noticed that repository browsing seems to fail on projects that are not public. Public projects work fine but removing the public flag and then running reposman results in the message: "The entry or revision was not found in the repository." to display when accessing the Repository tab. Converting back to public and re-running reposman restores access.

Running this identical test worked correctly in releases through 1.4.2. Has anything changed in how subversion needs to be configured with 2.0?

The repository is on the same host as redmine and accessed via a file:// URI. Subversion is version 1.6.6.

When it fails the following is found in production.log:

Started GET "/projects/test3/repository" for 192.168.1.18 at Thu May 31 10:33:04 -0700 2012
Processing by RepositoriesController#show as HTML
Parameters: {"id"=>"test3"}
Settings cache cleared.
Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>
/usr/lib/ruby/1.8/rexml/parsers/treeparser.rb:28:in `parse'
/usr/lib/ruby/1.8/rexml/document.rb:228:in `build'
/usr/lib/ruby/1.8/rexml/document.rb:43:in `initialize'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/xml_mini/rexml.rb:30:in `new'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/xml_mini/rexml.rb:30:in `parse'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/xml_mini.rb:80:in `__send__'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/xml_mini.rb:80:in `parse'
/var/data/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:275:in `parse_xml'
/var/data/redmine/lib/redmine/scm/adapters/subversion_adapter.rb:106
/var/data/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:230:in `call'
/var/data/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:230:in `shellout'
/var/data/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:227:in `popen'
/var/data/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:227:in `shellout'
/var/data/redmine/lib/redmine/scm/adapters/abstract_adapter.rb:210:in `shellout'
/var/data/redmine/lib/redmine/scm/adapters/subversion_adapter.rb:100:in `entries'
/var/data/redmine/app/models/repository.rb:170:in `entries'
/var/data/redmine/app/controllers/repositories_controller.rb:116:in `show'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/abstract_controller/base.rb:167:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/rendering.rb:10:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:18:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:469:in `_run__201853326__process_action__285360939__callbacks'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `send'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `__run_callback'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `send'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:17:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/rescue.rb:29:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/instrumentation.rb:30:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/notifications.rb:123:in `instrument'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/notifications.rb:123:in `instrument'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/instrumentation.rb:29:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/params_wrapper.rb:205:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activerecord-3.2.3/lib/active_record/railties/controller_runtime.rb:18:in `process_action'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/abstract_controller/base.rb:121:in `process'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/abstract_controller/rendering.rb:45:in `process'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal.rb:203:in `dispatch'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal/rack_delegation.rb:14:in `dispatch'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_controller/metal.rb:246
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:73:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:73:in `dispatch'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:36:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/journey-1.0.3/lib/journey/router.rb:68:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/journey-1.0.3/lib/journey/router.rb:56:in `each'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/journey-1.0.3/lib/journey/router.rb:56:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/routing/route_set.rb:600:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-openid-1.3.1/lib/rack/openid.rb:98:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/etag.rb:23:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/conditionalget.rb:25:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/head.rb:14:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/params_parser.rb:21:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/flash.rb:242:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:205:in `context'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/session/abstract/id.rb:200:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/cookies.rb:338:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activerecord-3.2.3/lib/active_record/query_cache.rb:64:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:467:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/callbacks.rb:28:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `_run__1016568512__call__4__callbacks'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `send'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `__run_callback'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `send'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/railties-3.2.3/lib/rails/rack/logger.rb:26:in `call_app'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/railties-3.2.3/lib/rails/rack/logger.rb:16:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/request_id.rb:22:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/methodoverride.rb:21:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/runtime.rb:17:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/activesupport-3.2.3/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-1.4.1/lib/rack/lock.rb:15:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/static.rb:62:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:136:in `forward'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:245:in `fetch'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:185:in `lookup'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:66:in `call!'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/rack-cache-1.2/lib/rack/cache/context.rb:51:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/railties-3.2.3/lib/rails/engine.rb:479:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/railties-3.2.3/lib/rails/application.rb:220:in `call'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `send'
/var/data/redmine/vendor/bundle/ruby/1.8/gems/railties-3.2.3/lib/rails/railtie/configurable.rb:30:in `method_missing'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:120:in `run'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:65:in `spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/utils.rb:252:in `safe_fork'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:58:in `spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/rack/application_spawner.rb:41:in `spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:150:in `spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/spawn_manager.rb:278:in `handle_spawn_application'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `__send__'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
/usr/lib/ruby/gems/1.8/gems/passenger-2.2.15/bin/passenger-spawn-server:61
...
No close tag for /lists/list
Line: 4
Position: 74
Last 80 unconsumed characters:

Output was:

<lists>
<list
path="file:///var/data/svn/test3">

Rendered common/error.html.erb within layouts/base (0.7ms)
Completed 404 Not Found in 437ms (Views: 94.9ms | ActiveRecord: 177.0ms)

Replies (4)

RE: Redmine 2.0.1: Can't view repository in private projects - Added by Kimbro Staken over 7 years ago

Found the problem. For some reason this upgrade to Redmine switched the user it's running under through Passenger. This created a permissions problem on private repositories.

RE: Redmine 2.0.1: Can't view repository in private projects - Added by Geordee Naliyath over 7 years ago

Hi,
How did you fix the problem?

Thanks,
Geordee

RE: Redmine 2.0.1: Can't view repository in private projects - Added by Kimbro Staken over 7 years ago

By default Passenger picks up the user from the ownership of certain files in the file system. Previously it detected that this was a Rails app but with Rails 3 it now considers it just a RACK app. I suspect this is related to the version of Passenger in use so the version of Passenger we had switched to using the owner of config.ru to set the user instead of taking the owner of config/environment.rb

RE: Redmine 2.0.1: Can't view repository in private projects - Added by scott shipman almost 7 years ago

Kimbro,

I am running Passenger v 3.0.18 and Apache. both the config.ru and config/environment.rb are owned by user apache on my system. What should they be owned by in order for the permission to be correct?

What specifically did you change?

(1-4/4)