openvpn で tun0 デバイス生やして通信していると、
ファイルサーバ経由で再生してた音楽が止まってしまう事象が発生。
どうも、samba が落ちてしまっているようだ。
再起動をかけたのだけれど、core 吐いて落ちる。
tun0 を止めると samba は再び起動できるようになる。
log.smbdの出力はこんな感じ。
From: https://www.samba.org/samba/docs/Samba3-HOWTO.pdf
[2013/03/16 01:24:32.325659, 0] lib/fault.c:55(fault_report)
===============================================================
ぐぐると、こんな情報を発見。
どうやら、FreeBSD特有の現象らしい。
微妙にsambaのバージョンが違うけれど、3.6.12でも治ってないんだろう。
さて、どーすんべ。
VPNは使いたいけれど、sambaが使えないのは困る。
しかたがないのでソースを追うことに。
lib/interfaces.c の中をみてみると、処理対象にするデバイス(“bge0″とか”em0”)
を列挙して重複を取り除こうとしている時に落ちてるっぽい。
ちなみに初期化の時の処理なので、
は効果がない。
ざっくり眺めてみたのだけれど、落ちそうな箇所は見当たらない。
上記の情報だと、デバイス名にeth0とかeth1が有ることを前提にされた
ソースらしいのだけれど……
しかたがないので、if文を追加して、デバイス名が tun0 の場合は
処理させないようにソースを改変した。
ソースを tar と gzip で固めて、/usr/ports/distfiles へコピー
ports の sha256 と サイズを修正したソースのものに変更。
で、ports の再インストール。
tun0 を生やして恐る恐る samba を起動。
お、大丈夫っぽい。
コメントを残す