boinc-client: 突然 boinc が走らなくなってしまった

FreeBSD サーバー上で、夜間だけ boinc を動かしていますが、プロセスが走っていないことに気付きました。

手動で起動すると、stderrdae.txt に

SIGSEGV: segmentation violation

Exiting...

というメッセージを残して、プロセスが終わってしまいます。

やむを得ず、boinc フォルダー以下を消去し初期化してみたところ、boinc-client は走るものの、プロジェクトクライアントが起動する時点で、上記エラーが記録されて終了してしまいます。
つまり、プロジェクトの計算段階になると、止まってしまう。

これで、約2週間悩んでいたのですが、ふと、私は boinc-client のバージョンを凍結していることを思い出しました。
凍結している理由は、BoincをLinuxエミュレーションで動かしているので、pkg コマンドでバイナリメンテナンスしてしまうと Linuxエミュレーションを使用しないバイナリーに更新されてしまうためです。そうなると、またソースから Linuxエミュレーションでビルドし直さないといけなくなります。これが面倒なので、boinc-client なんてサーバーと通信するのが役目だろう〜とロックして放置していました。
なので、Boinc clientのバージョンは 7.2.33 のまま。

ひょっとして、boinc-client のバージョンが古くなりすぎて、クライアントが対応できなくなってしまった?

確認するために、boinc-client のバージョンを上げてみることにしました。

まず、

pkg unlock boinc-client

でロックを解除し、その後、

pkg upgrade

で依存関係にあるパッケージもろともバイナリー更新。
続いて、/usr/ports/net/boinc-client/ に移動して、

make deinstall reinstall

を実行。(FreeBSD専用をアンインストールし、linuxエミュレーションのものをインストール)

この後、boinc-client  を起動し、プロジェクトを登録してみたところ、落ちません!ちゃんとプロジェクトが連続稼働します。原因は、boinc-client が古くなってしまったことのようです。

14-Apr-2019 19:17:50 [---] Starting BOINC client version 7.8.6 for i386-pc-freebsd
14-Apr-2019 19:17:50 [---] Version change (7.2.33 -> 7.8.6)

パッケージを凍結しているアプリも時々確認しなくちゃいけないのですが、これがなかなか難しい。
次回同様の現象が起きるのに備えて、記録しておくのが精一杯。

コメントを残す