-
Notifications
You must be signed in to change notification settings - Fork 150
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
長時間の連続録画時に録画が止まってしまう #533
Comments
まず、ServiceでIPCTimeoutエラーが出ていますが、プロセスが多重起動していないでしょうか? あと、録画や予約部分はOperatorに集約されていますので、 |
Operator/system.logを確認したのですが再起動の際にエラーログが消えてしまったらしいです。再発した際にログの抽出をします。申し訳ございません。 また、プロセス自体は以下の様にpsで確認したのですが、多重起動はしていないっぽいです。
ただ、IPCTimeOutエラーも定期的に出てくるので、再発した際にプロセスの確認をします。ログを取れておらず申し訳ございません。 |
dockerを使用しているようですが、なんのimageを使用しているのでしょうか? |
docker-compose.ymlのepgstationは以下の様になっており、DockerfileはFROM l3tnun/epgstation:master-debianとなっています。
また、epgstationのdocker内のプロセスを確認するためにdocker topコマンドを叩いた結果が以下のような感じになりました。このプロセスで大丈夫でしょうか。
|
また、先程予約をしておいた番組が録画スタートしていなかったため、その際のOperator/system.logを添付させていただきます。 Operator/system.log
長くなってしまい申し訳ありません。30分始めあたりと40分辺りでエラーが出ています。また、同時に放送開始した番組で問題なく録画が始まっている番組もありました。よろしくお願いします。 |
多重起動の件は問題なさそうです。Operator が応答できていないことが IPCTimeout の原因のようです。 次に、Operator の方ですが、正直何がどうなったらこのような事になるのか分かりません。 以下の点を確認させてください
|
あと使用しているデータベースの種類も教えて下さい。 |
何度か動作を確認していて、どうやらエンコードが全部終了すると録画を再開する挙動をしているのですが、現在config.ymlの設定で以下の様に書いています。
|
エンコードは Service 側で行われているので、基本的には録画処理を行っている Operator 側には影響はないはずです。 |
先ほど再起動し get execution errorが起動直後から発生しないかどうか確認しましたが、ルールに追加してある予約の登録がDEBUGで走るだけで特にERRORは吐かれませんでした。また再起動前に get execution errorをOperator/system.logから探しましたが上記に記載したログ以外は見当たりませんでした。 |
おそらくですが、ルール1件あたりの予約数が多いことで、この60秒を超過し予約処理が正常に実行できなかったのではないかと思います。 対策として、1つのルールで複数の放送局を指定して全録のようなことをされているように見えますが、 |
その後、ルールを放送局ごとに分けて予約を行うように設定を変えた所、/Service/system.logの方から以下のようなエラーが再起動後毎回発生するようになってしまいました。
また、予約自体は自動で入るのですが、その後録画中のデータも止まり/Operator/system.logの方では以下のようなログが出力されてます。
|
返信が遅くなってしまって、すいません。
Operator 側で ExecutionManagementModel を使用しているのは 予約を管理する ReservationManageModel だけなので、 ルールの全件更新時にしてもエラーが ↓まで落ちてくるのが謎です。 ReservationManageModel の updateAll() (全件更新時に呼ばれる) で、try catch しているのでそこで止まるはずなのと、 ExecutionManagementModel からロックを取得する際のタイムアウト時間は 60 秒に設定されているので、60秒おきであればまだわかるのですが... すいませんが、現状ではお力になれそうにないです。 |
色々調べていただきありがとうございます。一応現状再起動によりエラーを一時的に解消できるため、crontabからdocker-compose down && docker-compose up -dという形で対応しようと思います。 またここ数週間監視をしていたところ、ちょうど1週間の連続録画によりエラー発生の後録画が入らなくなるといった形でした。番組表自体は通常通り取得できているのですが、番組表のページにて赤枠も入っていない状態でした。番組表更新のタイミングで予約リストが更新されていない可能性もあるのかなと使っていて感じました。 こちらでもまた使用してみて何か気づいた点がありましたらお知らせさせて頂こうと思います。長い期間ありがとうございました。 |
こちらこそ、ありがとうございます。
おそらく、 |
連続投稿申し訳ございません。Mirakurun側を3.9.0-beta.21にアップデートしたのですが、その際にちょっと異なったエラーの出方をしたのでその部分を添付させていただきます。
|
異なったエラーというのは下記のエラーのことだと思いますが、これは MIrakurun 側でチューナの空きがないと言っています。
予約1件に対して1タイマーが設定されているので、予約の件数がかなり多い状況では、うまく処理しきれていないのかもしれません。 |
今件お世話になっております。チューナーの空きの方に関するエラーは解決しました。 get execution error の方に対してなのですが、epgstationはmirakurunsのような並列起動による1epgstationに対する予約件数の過多によるエラー解決は可能なのでしょうか。また、その際に録画済みデータの共有などは可能なのでしょうか。 もし実装されていないのなら新規機能としてご提案するとは可能でしょうか。 |
お世話になっております。先日epgstationをv2.6.20にアップデートしたところ、get execution errorの発生しているコードの位置が変わったため添付させていただきます。現状、BS/CSは録画できるのですが、地デジ全般が番組表で赤枠が入っているのに録画がスタートしない状態です。また、NHKEテレ1とテレビ東京1に関しては番組表は取得できているのですが、ルールに追加しても条件に引っかかるが予約が入らないといった状態になっています。 [2022-02-06T09:35:39.388] [ERROR] system - get execution error: 1 申し訳ありません。今再度確認したところ、エラー行数は前回と特に変わっていませんでした。 |
お世話になっております。その後少々環境変更を行い、動作確認やログ収取を行いました。その結果、録画が入らなくなる事に関しては解決しました。しかし、番組終了時に正常に終了しない不具合が発生しております。
現在はこのエラーのみが発生している状態です。5日ほど録画を放置していると録画中のタブが114件ほどになってしまう状況です。ただ、Mirakurun側では特にチューナー不足などは発生していない様なので、チューナー自体の開放はしている様です。 |
環境
2.6.3
3.7.1
14.15.4
6.14.14
Issue
...
複数チャンネルの同時録画を行っている状態で2日ほど放置で稼働させている際に予約は入っているのですが録画が開始されず、録画中のタブにもタスクが表示されない状態になってしまいます。サーバーの再起動をかけると再開されます。
構成はepgstationに対してmirakurunを40772と40773にて2つ起動しており、remoteMirakurunの設定にて40772に集め、CAS処理を分散させている状態です。
以下にlogを添付します。
・Service/system.log
よろしくお願いします。
The text was updated successfully, but these errors were encountered: