んたのブログ

週末になると出没します。

shairport syncに接続不可

当初は順調に稼働していたshairport-syncですが、使い始めてから何日か経ってからいきなり繋がらなくなりました。

systemctlから起動はするんですが、接続すると使えませんと出ます。

$ sudo systemctl start shairport-sync.service
$ ps -ef|grep shai
shairpo+   16645       1 10 22:19 ?        00:00:01 /usr/bin/shairport-sync --log-to-syslog

$ sudo systemctl status shairport-sync.service 
〜〜〜
 6月 13 22:19:05 ホスト名 systemd[1]: Started Shairport Sync - AirPlay Audio Receiver.
 6月 13 22:20:17 ホスト名 systemd[1]: shairport-sync.service: Deactivated successfully.
 6月 13 22:20:17 ホスト名 systemd[1]: shairport-sync.service: Consumed 1.556s CPU time.

iPhoneから接続したタイミングでプロセスが停止してます。


ログを見てみるとこんな感じ。

 6月 13 22:19:05 ホスト名 systemd[1]: Started Shairport Sync - AirPlay Audio Receiver.
 6月 13 22:19:05 ホスト名 sudo[16640]: pam_unix(sudo:session): session closed for user root
 6月 13 22:19:09 ホスト名 rtkit-daemon[920]: Supervising 7 threads of 5 processes of 1 users.
 6月 13 22:19:09 ホスト名 rtkit-daemon[920]: Supervising 7 threads of 5 processes of 1 users.
 6月 13 22:20:17 ホスト名 rtkit-daemon[920]: Supervising 7 threads of 5 processes of 1 users.
 6月 13 22:20:17 ホスト名 rtkit-daemon[920]: Supervising 7 threads of 5 processes of 1 users.
 6月 13 22:20:17 ホスト名 systemd[1]: shairport-sync.service: Deactivated successfully.
 6月 13 22:20:17 ホスト名 rtkit-daemon[920]: Supervising 7 threads of 5 processes of 1 users.
 6月 13 22:20:17 ホスト名 systemd[1]: shairport-sync.service: Consumed 1.556s CPU time.
 6月 13 22:20:17 ホスト名 rtkit-daemon[920]: Failed to look up client: No such file or directory
 6月 13 22:20:17 ホスト名 shairport-sync[16645]: fatal error: An unrecoverable error, "output_device_error_2", has been detected. Doing an emergency exit>

なんか致命的なエラーが発生したみたいなんですが、なにが悪いのかが読み取れず。「output_device_error_2」って何を指してるの?


プロセス再起動はもちろん、OS再起動やshairport-syncの再インストールも試してみたんですが効果なし。うんうんと頭抱えてたんですが、ふと自ユーザで起動したらどうなんだろう、と思いついて実行してみました。

$ shairport-sync &
[1] 15130

やったぜ!ちゃんと曲も再生できてます。じゃあ.bashrcの末尾にコマンドを追記して自動起動するようにして。  

$ tail -1 .bashrc 
/usr/bin/shairport-sync --log-to-syslog &

そして忘れずにshairport syncをsystemctlから起動しないように変更して。

$ sudo systemctl disable shairport-sync.service

これで一旦決着です。


できれば原因も追求したいけど、どこから手を付ければいいんだろうなあ。