Ferret on rails--lock doesn't get released when webrick exit


I’m no doubt doing something wrong here since I just started using
ferret. I’m following this tutorial:


My ferret_env.rb file looks like this:

require ‘ferret’
module FerretConfig
include Ferret

INDEX = Index::Index.new(:path => File.dirname(FILE) +

When I load webrick for the first time, everything works fine. But
when I exit with ctrl-c and try to load it again, I get this:

=> Booting WEBrick…
obtain': could not obtain lock: ./script/../config/../config/environments/../../searchindex/ferret-a214f46c3947bc95b17cb835bf48ae91write.lock (RuntimeError) from /usr/lib/ruby/gems/1.8/gems/ferret-0.2.2/lib/ferret/index/index_writer.rb:99:ininitialize’

Is there anything I can do to cause the lock to be released when webrick



In Ferret_environment.rb I have added following line
Dir["#{FT_PATH}/**/*.lock"].each{|f| File.unlink f}
Just remove all *.lock files on startup. I am not sure that it is the
solution, but it works for me.


Hi, Carl,

please have a look at
http://article.gmane.org/gmane.comp.lang.ruby.rails/26859 and use the
approach that luke describes. This is favorable to the approach that
I’ve described in the tutorial. You might also have a look at

Jan P.