recording-daemon logs LOG_ERR "Failed to open ... No such file or directory" when the metafile was already deleted (delete-delay = 0)
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 75/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- c
- 領域
- backend, observability
調査の方向性
recording-daemon/metafile.c の378行目付近と recording-daemon/inotify.c の52~55行目を読み、書き込み終了イベントと削除イベントの処理を追ってください。metafile_change() が開く前にメタファイルがなくなっているケースを再現するか追跡し、提案どおりに ENOENT の処理を調整してください。想定されるファイル欠落ケースが debug レベルでログに記録され、通常の削除処理が維持されていれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Version: mr26.2.1.2. Same code on master (recording-daemon/metafile.c:378, recording-daemon/inotify.c:52-55).
What happens
rtpengine writes the metafile with open-write-close for every update, and with delete-delay = 0 it deletes the metafile right after the last write when the call ends. The recording daemon watches the spool directory for IN_CLOSE_WRITE | IN_DELETE. By the time it handles the last IN_CLOSE_WRITE, the file is already gone, so metafile_change() logs, at LOG_ERR:
Failed to open <spool-dir>/<name>.meta: No such file or directory
It then handles the IN_DELETE that follows normally, and the recordings are complete. So nothing is lost, but the error-level noise is large: about 19,700 such lines between 17:00 and 23:00 one evening, which buried real errors.
A positive delete-delay avoids it (that is what we did), but delete-delay = 0 is a valid setting.
Suggestion
In metafile_change(), treat ENOENT as expected (the delete event is on its way) and log it at debug level.
- 主要言語
- Perl
- スター
- 992
- フォーク
- 459
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
sipwise/rtpengine のほかの issue
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
HTTP/WS worker threads spin forever in `__websocket_write_done()` (`sched_yield` loop) — 100% CPU with `--listen-http`対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug
難易度 4/5 3〜5日 初心者へのやさしさ 15/100
sipwise/rtpengine#2197 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
sipwise/rtpengine#2190 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 3/5 1〜2日 初心者へのやさしさ 45/100
sipwise/rtpengine#2162 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
possible regression regarding one-way audio calls in version 13.5.1.25, 13.5.1.27対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンbug
難易度 5/5 1週間以上 初心者へのやさしさ 8/100
sipwise/rtpengine#2161 · コメント 14 件 ·
メンテナーはふだん 1 日以内に返信
sipwise/rtpengine の issue をすべて見る
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
LMS-Community/slimserver#1692 · コメント 4 件 ·
メンテナーはふだん 1 日以内に返信
-
fix(api): API v3 Product Read ignores request language (lc) for sample products and image URLs対応中かも @muntasir-396 が 2 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
openfoodfacts/openfoodfacts-server#15042 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 78/100
libwww-perl/URI#214 ·