Project

General

Profile

Bug #1954

Post-processor command is blocking tuners

Added by Martin Mrvka over 7 years ago. Updated over 7 years ago.

Status:
New
Priority:
Normal
Assignee:
Category:
PVR / DVR
Target version:
-
Start date:
2014-01-28
Due date:
% Done:

0%

Estimated time:
Found in version:
3.9.376~g04492fb
Affected Versions:

Description

Sometimes the forked Post-processor child processes doesn't terminate, which also successively leads to unavailable tuners.

This childs are all related to the dvr_thread:

cat /proc/17529/stat /proc/16825/stat /proc/16115/stat

17529 (dvr_thread) S 14841 14841 14841 0 -1 1077960768 125 0 0 0 0 0 0 0 20 0 1 0 101148959 1372413952 4566 18446744073709551615 1 1 0 0 0 0 2147203605 0 21738 18446744073709551615 0 0 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0
16825 (dvr_thread) S 14841 14841 14841 0 -1 1077960768 125 0 0 0 0 0 0 0 20 0 1 0 100788959 1380806656 4553 18446744073709551615 1 1 0 0 0 0 2147203605 0 21738 18446744073709551615 0 0 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0
16115 (dvr_thread) S 14841 14841 14841 0 -1 1077960768 149 0 0 0 0 0 0 0 20 0 1 0 100428959 1380536320 4560 18446744073709551615 1 1 0 0 0 0 2147203605 0 21738 18446744073709551615 0 0 17 1 0 0 0 0 0 0 0 0 0 0 0 0 0

The "spawn: Executing" log entry isn't printed in this case and the child processes are waiting.

sudo strace -p 17529 -p 16825 -p 16115

[pid 16115] futex(0x7ffa0ba666d4, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 16825] futex(0x7ffa0ba666d4, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>
[pid 17529] futex(0x7ffa0ba666d4, FUTEX_WAIT_PRIVATE, 2, NULL <unfinished ...>

The lack of the "spawn: Executing" log entry is actually strange, since it's produced by the child directly after the fork without waiting for any lock https://github.com/tvheadend/tvheadend/blob/master/src/spawn.c#L254.

History

#1

Updated by Martin Mrvka over 7 years ago

Forgot to mention, that killing those childs brings the system back to normal - tuners are available again.

Also available in: Atom PDF