[mythtv] deadlocks when "use real-time threads" enabled in mythfrontend

Piotr Oniszczuk piotr.oniszczuk at gmail.com
Fri Dec 29 00:03:05 UTC 2017


Peter,

I’m wonder Your opinion:

Recently I enabled „use real-time threads” in mythtv config and started to have frequent system hangs (complete UI stale; sometimes whole system becomes non-responsive).

I looked via TOP utility how myth allocates priorities to threads and discover that:

-after startup all is OK (all threads are prio=0)

-first playback gives one thread starting to have prio=-83. all others have prio=0

-exiting first playback leaves mythfrontend process with few threads with prio=-34

  PID  PR USER      NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   10  RT root       0     0    0    0 S    0  0.0   0:00.02 migration/0
   13  RT root       0     0    0    0 S    0  0.0   0:00.01 migration/1
   18  RT root       0     0    0    0 S    0  0.0   0:00.01 migration/2
   23  RT root       0     0    0    0 S    0  0.0   0:00.02 migration/3
23429 -34 minimyth   0 6345m 616m 137m S    2 15.6   0:19.86 mythfrontend
24241 -34 minimyth   0 6345m 616m 137m S    0 15.6   0:00.02 SignalingTimer
    4   0 root     -20     0    0    0 I    0  0.0   0:00.00 kworker/0:0H

-entering playback again gives now bunch of threads with prio=-34

  PID  PR USER      NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   10  RT root       0     0    0    0 S    0  0.0   0:00.02 migration/0
   13  RT root       0     0    0    0 S    0  0.0   0:00.01 migration/1
   18  RT root       0     0    0    0 S    0  0.0   0:00.01 migration/2
   23  RT root       0     0    0    0 S    0  0.0   0:00.02 migration/3
23429 -83 minimyth   0 6392m 636m 144m S    2 16.1   0:23.25 mythfrontend
24523 -34 minimyth   0 6392m 636m 144m S    0 16.1   0:00.00 TVBrowseHelper
24529 -34 minimyth   0 6392m 636m 144m S    0 16.1   0:00.09 MythSocketThrea
24530 -34 minimyth   0 6392m 636m 144m S    1 16.1   0:00.42 MythSocketThrea
24533 -34 minimyth   0 6392m 636m 144m S    1 16.1   0:00.09 RingBuffer
24542 -34 minimyth   0 6392m 636m 144m S    0 16.1   0:00.01 AudioOutputBase
24546 -34 minimyth   0 6392m 636m 144m S    6 16.1   0:00.78 Decoder
    4   0 root     -20     0    0    0 I    0  0.0   0:00.00 kworker/0:0H  

-after some normal playback/exit cycles, I started to have growing set of zombie threads with prio=-34 & -83 when frontend is in idle:

   PID  PR USER      NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   10  RT root       0     0    0    0 S    0  0.0   0:00.02 migration/0
   13  RT root       0     0    0    0 S    0  0.0   0:00.01 migration/1
   18  RT root       0     0    0    0 S    0  0.0   0:00.02 migration/2
   23  RT root       0     0    0    0 S    0  0.0   0:00.02 migration/3
27650 -83 minimyth   0 6365m 638m 141m S    0 16.1   0:00.01 PT13
27651 -83 minimyth   0 6365m 638m 141m S    0 16.1   0:00.00 PT14
27652 -83 minimyth   0 6365m 638m 141m S    0 16.1   0:00.00 PT15
27653 -83 minimyth   0 6365m 638m 141m S    0 16.1   0:00.00 PT16
27654 -83 minimyth   0 6365m 638m 141m S    0 16.1   0:00.00 PT17
27655 -83 minimyth   0 6365m 638m 141m S    0 16.1   0:00.00 PT18
23429 -34 minimyth   0 6365m 638m 141m S    2 16.1   0:51.32 mythfrontend
27505 -34 minimyth   0 6365m 638m 141m S    0 16.1   0:00.00 PT11
27510 -34 minimyth   0 6365m 638m 141m S    0 16.1   0:00.00 PT12
27806 -34 minimyth   0 6365m 638m 141m S    0 16.1   0:00.02 SignalingTimer
    4   0 root     -20     0    0    0 I    0  0.0   0:00.00 kworker/0:0H

(pls see: now we have PT8/9/20 alt the time siting with priority -34)

Why after playback exit frontend leaves any thread with prio different than 0?

All tests are on: current myth master, minimyth2 OS, ION2 with 4.14.8 kernel and Nvidia 340.104



 



More information about the mythtv-dev mailing list