l3tnun / EPGStation

Mirakurun を使用した録画管理ソフト
https://twitter.com/l3tnun
MIT License
547 stars 148 forks source link

CPU負荷が高い時 "preprec failed: xxx" エラーで録画が失敗する #653

Closed scimmia9286 closed 10 months ago

scimmia9286 commented 11 months ago

環境

Issue

エンコード処理を実行しているなどCPU負荷が高い時に録画が失敗することがしばしば発生する その際のログは以下の通り

[2023-10-02T02:59:45.004] [INFO] system - preprec: 26501
[2023-10-02T02:59:45.005] [INFO] system - execute cmd: /bin/bash %ROOT%/config/custom/recordingPreStart.bash
[2023-10-02T02:59:45.027] [INFO] system - finish: /bin/bash %ROOT%/config/custom/recordingPreStart.bash
[2023-10-02T03:00:00.430] [ERROR] system - get execution error: 1
[2023-10-02T03:00:00.430] [ERROR] system - preprec failed: 26501
[2023-10-02T03:00:00.431] [ERROR] system - Error: GetExecutionTimeoutError
    at Timeout._onTimeout (/app/dist/model/ExecutionManagementModel.js:69:24)
    at listOnTimeout (node:internal/timers:569:17)
    at processTimers (node:internal/timers:512:7)
[2023-10-02T03:00:05.434] [INFO] system - preprec: 26501
[2023-10-02T03:00:06.437] [ERROR] system - get execution error: 1
[2023-10-02T03:00:06.438] [ERROR] system - preprec failed: 26501
[2023-10-02T03:00:06.439] [ERROR] system - Error: GetExecutionTimeoutError
    at Timeout._onTimeout (/app/dist/model/ExecutionManagementModel.js:69:24)
    at listOnTimeout (node:internal/timers:569:17)
    at processTimers (node:internal/timers:512:7)
[2023-10-02T03:00:11.440] [INFO] system - preprec: 26501
[2023-10-02T03:00:12.430] [ERROR] system - get execution error: 1
[2023-10-02T03:00:12.431] [ERROR] system - preprec failed: 26501
[2023-10-02T03:00:12.431] [ERROR] system - Error: GetExecutionTimeoutError
    at Timeout._onTimeout (/app/dist/model/ExecutionManagementModel.js:69:24)
    at listOnTimeout (node:internal/timers:569:17)
    at processTimers (node:internal/timers:512:7)
[2023-10-02T03:00:17.432] [INFO] system - preprec: 26501
[2023-10-02T03:00:18.421] [ERROR] system - get execution error: 1
[2023-10-02T03:00:18.424] [ERROR] system - preprec failed: 26501
[2023-10-02T03:00:18.425] [ERROR] system - Error: GetExecutionTimeoutError
    at Timeout._onTimeout (/app/dist/model/ExecutionManagementModel.js:69:24)
    at listOnTimeout (node:internal/timers:569:17)
    at processTimers (node:internal/timers:512:7)
[2023-10-02T03:00:18.426] [INFO] system - cancel reservation: 26501
[2023-10-02T03:00:18.426] [INFO] system - execute cmd: /bin/bash %ROOT%/config/custom/notifyFailed.bash CAUTION 録画準備が失敗しました
[2023-10-02T03:00:18.456] [INFO] system - { insert: 0, update: 0, delete: 1 }
[2023-10-02T03:00:18.464] [INFO] system - successful cancel reservation: 26501
[2023-10-02T03:00:18.493] [INFO] system - finish: /bin/bash %ROOT%/config/custom/notifyFailed.bash CAUTION 録画準備が失敗しました

提案

原因は以下に示すタイムアウト値が10msと短いことに起因していると予想

https://github.com/l3tnun/EPGStation/blob/d38b2d2f830e25e21d43e4f66246331008d44dc0/src/model/operator/recording/RecordingUtilModel.ts#L329

l3tnun commented 11 months ago

報告ありがとうございます。 週末見てみます。

l3tnun commented 10 months ago

v2.7.2 にてタイムアウト値修正しましたので、クローズします。