/usr/local/lib/ruby/site_ruby/1.8/depot.rb:184:in
`mod_out': no item found (DepotError_ENOITEM)
from
/usr/local/lib/ruby/site_ruby/1.8/depot.rb:184:in `delete'
from /usr/local/bin/bsfilter:696:in `sub_scalar'
from /usr/local/bin/bsfilter:1766:in
`update_probability'
from /usr/local/bin/bsfilter:1759:in `each'
from /usr/local/bin/bsfilter:1759:in
`update_probability'
from /usr/local/bin/bsfilter:3348:in `run'
from /usr/local/bin/bsfilter:3345:in `each'
from /usr/local/bin/bsfilter:3345:in `run'
from /usr/local/bin/bsfilter:3412
組合わせで、
bsfilter --add-spam --sub-clean --update message
をやると
/usr/local/lib/ruby/site_ruby/1.8/depot.rb:184:in
`mod_out': no item found (DepotError_ENOITEM)
from
/usr/local/lib/ruby/site_ruby/1.8/depot.rb:184:in `delete'
from /usr/local/bin/bsfilter:696:in `sub_scalar'
from /usr/local/bin/bsfilter:1766:in
`update_probability'
from /usr/local/bin/bsfilter:1759:in `each'
from /usr/local/bin/bsfilter:1759:in
`update_probability'
from /usr/local/bin/bsfilter:3348:in `run'
from /usr/local/bin/bsfilter:3345:in `each'
from /usr/local/bin/bsfilter:3345:in `run'
from /usr/local/bin/bsfilter:3412
となることがあります。
これはclass TokenQDBMのなかでsub_scalarが
QDBMからくる例外DepotError_ENOITEMを
捕獲していないためではないかと思っているのですが
いかがでしょうか?
つまり、valueyやadd_hashと同様にこの例外を捕獲する
必要があるのではないでしょうか?
sub_hashにも同様の問題があるのではないかと思われます。