Uploaded image for project: 'Olio'
  1. Olio
  2. OLIO-37

Running Olio Rails with Lighttpd on OpenSolaris fails with "Permission denied - /root/.ruby_inline"

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • rails-app
    • 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.

      Attachments

        Activity

          People

            tekgrrl Amanda Waite
            tekgrrl Amanda Waite
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 24h
                24h
                Remaining:
                Remaining Estimate - 24h
                24h
                Logged:
                Time Spent - Not Specified
                Not Specified