Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

recording-daemon logs LOG_ERR "Failed to open ... No such file or directory" when the metafile was already deleted (delete-delay = 0)

オープン 初心者向け
#2,218 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
75/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
c

調査の方向性

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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

sipwise/rtpengine のほかの issue

sipwise/rtpengine の issue をすべて見る

似ている issue

Perl の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。