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.

Reply via email to