On Sat, 25 Jun 2005, Jonas Hartmann wrote:

> when I run a script [1] from the command line, it works. it asks for cgi 
> pairs - key/value - cause it is in offline mode.
>
> when i run it through mod_fastcgi => ruby it does not work.
>
> a ruby script printing out the http_enviroment via FastCGI works (so FastCGI 
> works).
>
> If i run the script via browser (on http://localhost/ruby/db_connect.rb) I 
> get the following error + backtrace:
>
> -- ERROR: FSDB::Database::DirIsImmutableError
> -- BACKTRACE:
> ./fsdb/lib/fsdb/database.rb:404:in `open_write_lock
> ./fsdb/lib/fsdb/database.rb:620:in `[]=
> ./fsdb/lib/fsdb/database.rb:619:in `object_exclusive
> ./fsdb/lib/fsdb/database.rb:358:in `sync_object_exclusive
> ./fsdb/lib/fsdb/database.rb:102:in `synchronize
> ./fsdb/lib/fsdb/database.rb:102:in `sync_object_exclusive
> ./fsdb/lib/fsdb/database.rb:358:in `object_exclusive
> ./fsdb/lib/fsdb/database.rb:357:in `use_cache_entry
> ./fsdb/lib/fsdb/database.rb:357:in `object_exclusive
> ./fsdb/lib/fsdb/database.rb:619:in `[]=
> /Library/WebServer/Documents/ruby/db_connect.rb:10/usr/local/lib/ruby/1.8/apache/ruby-run.rb:53:in 
> `load
> /usr/local/lib/ruby/1.8/apache/ruby-run.rb:53:in `handler
>
> It seems to mean that I cannot change/write to the dir, right?
>
> I have no clue what I should do about that. How can i make the script access 
> the dir /tmp/my-data correctly? What is causing this error?

you ran once as normal user - now user www (or whatever) can't access it.
blow away the dir and try again OR do a recursive chown of the dir to apache
as root.

>
> It should just print "Hello world, and hello database!\n" (and does that in 
> offlinemode via "ruby db_connect.rb" + CTRL+D
>
>
> [1]: http://rafb.net/paste/results/6VIFri64.html
>

-a
-- 
===============================================================================
| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
| phone :: 303.497.6469
| My religion is very simple.  My religion is kindness.
| --Tenzin Gyatso
===============================================================================