Greetings!
This one has me stumped so any ideas or suggestions are greatly
appreciated.
Like many of you, I am using the attachment_fu plugin to handle
uploading files to the server via my application. I have it configured
to save the files to the filesystem. In my Dev sandbox and on my
staging server this works as expected. If the directories where the
files are to be stored don’t exist, attachment_fu creates them without
issue. If they do exist the files are saved inside just as they
should.
However, when deployed to Production the behavior is different. If the
directories don’t exist they are created as expected and all is good.
However, if the dirs already exist I receive the following error
message:
Errno::EEXIST (File exists - /home/vishi/sites/vidigreet/current/
config/…/public/user_audios):
/usr/lib/ruby/1.8/fileutils.rb:243:in mkdir' /usr/lib/ruby/1.8/fileutils.rb:243:in
fu_mkdir’
/usr/lib/ruby/1.8/fileutils.rb:217:in mkdir_p' /usr/lib/ruby/1.8/fileutils.rb:215:in
reverse_each’
/usr/lib/ruby/1.8/fileutils.rb:215:in mkdir_p' /usr/lib/ruby/1.8/fileutils.rb:201:in
each’
/usr/lib/ruby/1.8/fileutils.rb:201:in mkdir_p' /vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu/ backends/file_system_backend.rb:77:in
save_to_storage’
/vendor/plugins/attachment_fu/lib/technoweenie/attachment_fu.rb:
358:in after_process_attachment' /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ callbacks.rb:333:in
send’
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/
callbacks.rb:333:in callback' /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ callbacks.rb:330:in
each’
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/
callbacks.rb:330:in callback' /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ callbacks.rb:243:in
create_or_update’
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/
base.rb:1545:in save_without_validation' /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ validations.rb:752:in
save_without_transactions’
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/
transactions.rb:129:in save' /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ connection_adapters/abstract/database_statements.rb:59:in
transaction’
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/
transactions.rb:95:in transaction' /usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/ transactions.rb:121:in
transaction’
/usr/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/
transactions.rb:129:in save' /app/controllers/flash_player_controller.rb:238:in
audio_upload’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:1095:in send' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:1095:in
perform_action_without_filters’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:632:in call_filter' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:638:in
call_filter’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:438:in call' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:637:in
call_filter’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:638:in call_filter' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:438:in
call’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:637:in call_filter' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:638:in
call_filter’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:438:in call' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:637:in
call_filter’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:638:in call_filter' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:438:in
call’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:637:in call_filter' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:638:in
call_filter’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:438:in call' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:637:in
call_filter’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/filters.rb:619:in perform_action_without_benchmark' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/benchmarking.rb:66:in
perform_action_without_rescue’
/usr/lib/ruby/1.8/benchmark.rb:293:in measure' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/benchmarking.rb:66:in
perform_action_without_rescue’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/rescue.rb:83:in perform_action' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:430:in
send’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/base.rb:430:in process_without_filters' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/filters.rb:624:in
process_without_session_management_support’
/usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/
action_controller/session_management.rb:114:in process' /usr/lib/ruby/gems/1.8/gems/actionpack-1.13.3/lib/ action_controller/base.rb:330:in
process’
/usr/lib/ruby/gems/1.8/gems/rails-1.2.3/lib/dispatcher.rb:41:in
dispatch' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb: 78:in
process’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb:
76:in synchronize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/rails.rb: 76:in
process’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:618:in
process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in
each’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:617:in
process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in
run’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in
initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in
new’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:736:in
run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in
initialize’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in
new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel.rb:720:in
run’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/
configurator.rb:271:in run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/ configurator.rb:270:in
each’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/
configurator.rb:270:in run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:127:in
run’
/usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/lib/mongrel/command.rb:
211:in run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.0.1/bin/mongrel_rails:243 /usr/bin/mongrel_rails:16:in
load’
/usr/bin/mongrel_rails:16
Rendering /home/vishi/sites/vidigreet/current/config/…/public/
500.html (500 Error)
rendering section “request”
rendering section “session”
rendering section “environment”
rendering section “backtrace”
I have checked permissions on the directories and even changed them to
755 to be sure that wasn’t the issue.
I have a hunch something could be wrong with my deploy.rb so here are
the relevant pieces of that file:
task :after_symlink do
run “rm /home/vishi/sites/vidigreet/current/log”
run “ln -s /home/vishi/sites/vidigreet/shared/shared /home/vishi/
sites/vidigreet/current/log”
run “ln -nfs /home/vishi/sites/vidigreet/shared/files /home/vishi/
sites/vidigreet/current/public/files”
run “ln -nfs /home/vishi/sites/vidigreet/shared/image_uploads /home/
vishi/sites/vidigreet/current/public/image_uploads”
run “ln -nfs /home/vishi/sites/vidigreet/shared/user_videos /home/
vishi/sites/vidigreet/current/public/user_videos”
run “ln -nfs /home/vishi/sites/vidigreet/shared/user_audios /home/
vishi/sites/vidigreet/current/public/user_audios”
cleanup
end
Any ideas or suggestions you have to help me resolve this would be
great. Since this seems to be environmental opposed to code-related
I’m not sure even where to begin.
Thanks!
-bdeverea