FreeBSD: rtmpdump exited on signal 6 (core dumped)

FreeBSD 8.3 上でcron と radiko.sh シェルスクリプトを使ってラジオ放送をタイマー録音していますが、週末に rtmpdump コマンドにアップデートが掛かって rtmpdump-2.4.1 から rtmpdump-2.4.2 に上げたところ、ラジコが録音不能になってしまいました。

Abort trap (core dumped)

ってcron からの結果レポートが届いていて、/var/log/messages には、

exited on signal 6 (core dumped)

という行が複数(リトライ回数分)残っていました。
当然録音は失敗。rtmpdump コマンドを更新した後、動作確認していなかったことが反省ポイントですが、rtmpdump コマンドはビルドオプションにはドキュメントを作るか作らないかというオプションしかないため解決のためにオプションのOn/Offでトライアンドエラーのビルドを繰り返すわけにも行きません。
単純に、rtmpdump 2.4.1に戻すしかありませんが /usr/ports の下には 2.4.2のソースしかありませんので、/usr/ports の下が古いホストを捜すのがベストの選択ですが、次の録音時間が迫ってきているので、今回は 2.4.2 のパッケージを削除して、ports サーバーから rtmpdump のバイナリーを再インストールすることにしました。

# pkg_delete rtmpdump-2.4_2
# pkg_add -r rtmpdump
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.3-release/Latest/rtmpdump.tbz... Done.
Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.3-release/All/pkg-config-0.25_1.tbz... Done.

obsolete された pkg-config が依存関係で入ってしまったので、強制的に削除。

# pkg_delete -f pkg-config-0.25_1
pkg_delete: package 'pkg-config-0.25_1' is required by these other packages
and may not be deinstalled (but I'll delete it anyway):

テストしたところ、core dump は発生しないようなので、本番として使用することにしました。

何も問題なく動作している重要な「クライアント」プログラムは深刻なセキュリティーホールでも見つからない限り触るな!という良い教訓になりました。不特定の人が使って、どんな怪しいサイトにアクセスするかもしれない状況なら話は別ですが、今のところ、radiko.jp サイトにしかアクセスしないわけですからねぇ。

コメントを残す