Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
OpenSolaris
Description
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 it's workers 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.