Forums: users (Thread #39642)

sdbm_store failed (SDBMError)が発生します (2018-06-05 19:05 by Gibson #81436)

お世話になります。bsfilterを使わせていただいております。

今までCentOS5でbsfilterを使っていました。
今回CentOS7.4上でdbを作り直そうとしたところ、エラーが発生しました。
bsfilterは1.0.19(Rev.1.87)で、Rubyは2.0.0です。

メールはMaildir形式で、cleanとspamのフォルダから、それぞれ
新しい順に2000通のファイルをコピーして、

rm -f ~/.bsfilter/*
bsfilter --add-clean ~/tmp/clean/*
bsfilter --add-spam ~/tmp/spam/*
まではうまくいくのですが、その後
bsfilter --update
とすると

/usr/local/bin/bsfilter:681:in `[]=': sdbm_store failed (SDBMError)
from /usr/local/bin/bsfilter:681:in `set'
from /usr/local/bin/bsfilter:450:in `set_scalar'
from /usr/local/bin/bsfilter:1856:in `block in update_probability'
from /usr/local/bin/bsfilter:1845:in `each'
from /usr/local/bin/bsfilter:1845:in `update_probability'
from /usr/local/bin/bsfilter:3429:in `block in run'
from /usr/local/bin/bsfilter:3426:in `each'
from /usr/local/bin/bsfilter:3426:in `run'
from /usr/local/bin/bsfilter:3493:in `<main>'

と表示されてしまいます。

コピーするファイルの数を2000通から1000通に変え、同じように
操作したところ、エラーは表示されませんでした。

メモリ容量の問題なのか(4GByteです)、あるいは、いずれかのファイルに
bsfilterを誤動作させる文字列が含まれているのか、また、その場合は
どのようにそのファイルを絞り込めば良いのか、など見当も付かない状況です。

どのように調べればよいか、アドバイスをいただけると幸いです。
よろしくお願いいたします。

Gibson

Répondre à 81436×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion

Re: sdbm_store failed (SDBMError)が発生します (2018-06-06 00:31 by nabeken #81440)

macOS 10.13.5 の ruby 2.3.3p222 でも再現し、SDBMのバグ臭いと思ったのですが、
何かの拍子に再現しなくなってしまいました。
調査は難航そうです。

--db オプションで、データベースとしてSDBM以外を指定して貰えないでしょうか。
(CentOSでの追加インストールも必要かもしれません)
Répondre à #81436

Répondre à 81440×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion

Re: sdbm_store failed (SDBMError)が発生します (2018-06-06 08:41 by Gibson #81443)

ご返信ありがとうございます。
dbの形式をGDBMにしたところ、エラーは発生しなくなり、今のところ大変
快調です。これでしばらく運用したいと思います。

別件で恐縮ですが、今まで、ある種のspam、およびそれに類似したspamの
一部で、学習をたくさんしているはずなのにprobabilityが上がらないという
ことがありました。
dbをGDBMにしたところ、その問題まで解決したような気がしています。
ただ、これはまだ詳しく調査したわけではありませんので、本当に
「気がしている」だけなのかもしれません。

Windows版バイナリでもGDBMが使えたらうれしく思いますので、
一応リクエストとさせてください。

ありがとうございました。
Répondre à #81440

Répondre à 81443×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion

Re: sdbm_store failed (SDBMError)が発生します (2018-06-06 09:24 by Gibson #81446)

なお、エラーが出たときのclean、spamのそれぞれ2000通のメールは
そのままの形で保存してありますので、もしご協力できることが
ありましたらおっしゃってください。
よろしくお願いします。
Répondre à #81440

Répondre à 81446×

You can not use Wiki syntax
Vous n'êtes pas connecté. Pour distinguer vos messages en provenance du reste, vous devez choisir un surnom. (L'unicité du surnom est pas réservé. Il est possible que quelqu'un d'autre pourrait utiliser exactement le même surnom. Si vous voulez l'assurance de votre identité, nous vous recommandons de vous connecter avant de poster.) Connexion