須藤です。 In <CAK6jzgdRN2=WntZC****@mail*****> "Re: [milter-manager-users-ja] milterライブラリを使ったmilterがmilter-managerから素通りされることがある" on Thu, 10 Oct 2019 12:02:03 +0900, Kiyoshi SATOH <satoh****@hakub*****> wrote: > 他に調査するとするなら > >> [children][error][message-processing] None of milters are processing message. >> [leader][error] None of milters are processing message. > > のエラーを出している場所はわかっているので、ここで止めてその時の状況調べてみるとかがいいでしょうか。 イベントループ+コールバックで非同期に処理をしているので止め て調べるというのは難しいと思います。。。 全力でログを出すようにして、問題が発生したときのログを https://github.com/milter-manager/milter-manager/issues/new に貼っておいてもらえると助かります。 たぶん、milter managerのバグだと思うので後で調べてみます。 手元で再現できなかったら再現を手伝ってもらうと思います。 > ログレベルprofileは自分の見落としだと思います。すみません。 メモリーの状況を確認するために↓らへんで使っています。 https://github.com/milter-manager/milter-manager/blob/master/milter/core/milter-memory-profile.c#L114-L125 > もう一つ疑問だったことがあり、質問させてください。 > milter-managerの設定で define_envelope_from_stopper > だとそこだけで止めることが出来るのですが、全く同じコードで define_envelope_recipient_stopper > にすると止められない、ということがありました。 > そこで参考になりそうな restrict_accounts_by_list のコードを参照すると、一旦 > define_envelope_recipient_stopper で止めた後、その結果を保持しておいて > define_data_stoppter でも止めるようになっていたため、そのようにしたところ止まるようになりました。 > なので解決は出来たのですが、なぜこのような動きになるのか(このようにしないといけないのか)教えていただけないでしょうか。 define_envelope_recipient_stopperはRCPT毎に動くんですが、そ こでREJECTとかしても、SMTPではそのRCPTをREJECTするだけになっ て、そのセッションはREJECTできないんです。なので、RCPTの後段 のDATAまで待ってそのセッションをREJECTとかする必要があるので す。