Running Olio Rails with Lighttpd on OpenSolaris fails with "Permission denied -
/root/.ruby_inline"
---------------------------------------------------------------------------------------------------
Key: OLIO-37
URL: https://issues.apache.org/jira/browse/OLIO-37
Project: Olio
Issue Type: Bug
Components: rails-app
Environment: OpenSolaris
Reporter: Mandy Waite
Assignee: Shanti Subramanyam
When running Olio Rails with Lighttpd and Fastcgi an exception occurs when
viewing the main page (and most other pages):
ActionView::TemplateError (Permission denied - /root/.ruby_inline) on line #10
of events/_filtered_events.html.erb:
7: <% which_class = cycle('even_event', 'odd_event') -%>
8: <li id="event_<%= event.id %>_details" class="event_item <%=
which_class %>" style="padding: 7px;" onmouseover="Element.findChildren(this,
'extra_details', true, 'div').first().show();"
onmouseout="Element.findChildren(this, 'extra_details', true,
'div').first().hide();">
9: <div class="thumbnail_for_list">
10: <%= thumbnail(get_image(event), event_path(event), :small) %>
11: </div>
12: <div class="event_details_for_list">
13: <h2 class="tight_heading"><%= link_to h(event.title), event
%></h2>
/var/ruby/1.8/gem_home/gems/RubyInline-3.8.1/lib/inline.rb:858:in `stat'
/var/ruby/1.8/gem_home/gems/RubyInline-3.8.1/lib/inline.rb:858:in
`assert_secure'
/var/ruby/1.8/gem_home/gems/RubyInline-3.8.1/lib/inline.rb:141:in
`directory'
/var/ruby/1.8/gem_home/gems/RubyInline-3.8.1/lib/inline.rb:375:in `so_name'
/var/ruby/1.8/gem_home/gems/RubyInline-3.8.1/lib/inline.rb:498:in
`load_cache'
/var/ruby/1.8/gem_home/gems/RubyInline-3.8.1/lib/inline.rb:818:in `inline'
/var/ruby/1.8/gem_home/gems/image_science-1.1.3/lib/image_science.rb:84
/usr/ruby/1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in
`gem_original_require'
/usr/ruby/1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:36:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in
`new_constants_in'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in
`require'
vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/processors/image_science_processor.rb:1
/usr/ruby/1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
/usr/ruby/1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in
`new_constants_in'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:101:in
`require_or_load'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:260:in
`load_missing_constant'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:467:in
`const_missing'
vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:86:in
`const_get'
vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:86:in
`has_attachment'
app/models/image.rb:21
/usr/ruby/1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`gem_original_require'
/usr/ruby/1.8/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in
`new_constants_in'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509:in
`require'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:101:in
`require_or_load'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:260:in
`load_missing_constant'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:467:in
`const_missing'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:479:in
`const_missing'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/base.rb:1907:in
`compute_type'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/reflection.rb:129:in
`send'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/reflection.rb:129:in
`klass'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/associations/belongs_to_association.rb:44:in
`find_target'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:196:in
`load_target'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/associations/association_proxy.rb:99:in
`reload'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/associations.rb:1084:in
`image'
app/helpers/application_helper.rb:56:in `get_image'
app/views/events/_filtered_events.html.erb:10:in
`_run_erb_47app47views47events47_filtered_events46html46erb'
app/views/events/_filtered_events.html.erb:6:in `each'
app/views/events/_filtered_events.html.erb:6:in
`_run_erb_47app47views47events47_filtered_events46html46erb'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in
`execute'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:20:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:30:in
`benchmark'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:19:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in
`render_template'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/partials.rb:110:in
`render_partial'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:273:in
`render'
app/views/events/_event_list.html.erb:52:in
`_run_erb_47app47views47events47_event_list46html46erb'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in
`execute'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:20:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:30:in
`benchmark'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/partial_template.rb:19:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in
`render_template'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/partials.rb:110:in
`render_partial'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:273:in
`render'
app/views/events/index.html.erb:1:in
`_run_erb_47app47views47events47index46html46erb'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:338:in
`execute'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template_handlers/compilable.rb:29:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template.rb:35:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/template.rb:22:in
`render_template'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_view/base.rb:245:in
`render_file'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:1108:in
`render_for_file'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:865:in
`render_with_no_layout'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:880:in
`render_with_no_layout'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/layout.rb:251:in
`render_without_benchmark'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in
`render'
/var/ruby/1.8/gem_home/gems/activesupport-2.1.0/lib/active_support/core_ext/benchmark.rb:8:in
`realtime'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:51:in
`render'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:131:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:131:in
`custom'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:160:in
`call'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:160:in
`respond'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:154:in
`each'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:154:in
`respond'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/mime_responds.rb:107:in
`respond_to'
app/controllers/events_controller.rb:39:in `index'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:1162:in
`perform_action_without_filters'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/filters.rb:580:in
`call_filters'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/filters.rb:573:in
`perform_action_without_benchmark'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
/usr/ruby/1.8/lib/ruby/1.8/benchmark.rb:293:in `measure'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/benchmarking.rb:68:in
`perform_action_without_rescue'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/rescue.rb:201:in
`perform_action_without_caching'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:13:in
`perform_action'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in
`cache'
/var/ruby/1.8/gem_home/gems/activerecord-2.1.0/lib/active_record/query_cache.rb:8:in
`cache'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/caching/sql_cache.rb:12:in
`perform_action'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in
`send'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:529:in
`process_without_filters'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/filters.rb:569:in
`process_without_session_management_support'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/session_management.rb:130:in
`process'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/base.rb:389:in
`process'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:149:in
`handle_request'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:107:in
`dispatch'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in
`synchronize'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:104:in
`dispatch'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:120:in
`dispatch_cgi'
/var/ruby/1.8/gem_home/gems/actionpack-2.1.0/lib/action_controller/dispatcher.rb:35:in
`dispatch'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:103:in
`process_request'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:153:in
`with_signal_handler'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:101:in
`process_request'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:78:in
`process_each_request'
/var/ruby/1.8/gem_home/gems/fcgi-0.8.7/lib/fcgi.rb:612:in `each_cgi'
/var/ruby/1.8/gem_home/gems/fcgi-0.8.7/lib/fcgi.rb:609:in `each'
/var/ruby/1.8/gem_home/gems/fcgi-0.8.7/lib/fcgi.rb:609:in `each_cgi'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:77:in
`process_each_request'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:76:in `catch'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:76:in
`process_each_request'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:50:in `process!'
/var/ruby/1.8/gem_home/gems/rails-2.1.0/lib/fcgi_handler.rb:24:in `process!'
public/dispatch.fcgi:24
Lighttpd usually runs as a non-root user, on OpenSolaris this is 'webservd' .
It seems that image_science cannot access the library that was created for it
by RubyInline because the root users RubyInline cache directory is not readable
by the webservd user.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.