[mythtv-commits] Ticket #6162: Remote control events queue then dequeue.

MythTV mythtv at cvs.mythtv.org
Fri Jan 23 13:46:22 UTC 2009


#6162: Remote control events queue then dequeue.
-------------------------------------+--------------------------------------
 Reporter:  Roo                      |       Owner:  ijr    
     Type:  defect                   |      Status:  new    
 Priority:  major                    |   Milestone:  unknown
Component:  MythTV - Video Playback  |     Version:  head   
 Severity:  high                     |     Mlocked:  0      
-------------------------------------+--------------------------------------
 '''Summary'''[[br]]
 It seems that there is a X11L / X11U pair in the
 MythMainWindow::customEvent code by way of the
 GetMythUI()->DoResetScreensaver() call, this looks like it is blocking the
 event dispatching. Disclaimer: I am not a Qt expert.

 '''Detail'''[[br]]
 When watching a recording if I skip forward (or backward) I trigger a
 problem where further remote events are queued up for some time before
 being processed.

 This is only triggered when sending a remote command after a skip forward.
 When the stall is introduced I then see keyboard events queued up as well
 as the network control socket.

 After some period of time the events appear to dequeue, I am not sure all
 events are seen later though. This delay can be a short as a few seconds
 or as long as a few minutes.

  * Reverting [19069] does not help fix the problem
  * I do not have xscreensaver or gnome screensaver installed
  * Problem still exists if I start frontend without a /dev/lircd

 '''mythfrontend.log'''[[br]]
 The attached diff shows where the verbose statements were added.
 At 2009-01-23 22:28:19.472 you can see that the TV::eventFilter was
 delayed approx 1:17. This is the typical behaviour seen when the problem
 was triggered although delay may be longer or shorter.

 Much the same thing was seen when debugging was added to
 MythMainWinow::eventFilter which can be seen here IIRC if pastebin is
 responding: http://pastebin.ca/1315604

 '''gdb1.txt'''[[BR]]
 First interesting backtrace I have got during the stalled time, thread 1
 looks like it is waiting on a lock, that would (I think) explain the delay
 in the handling of the events. It appears it is stalling the Qt event
 dispatching, for want of a better term.

 Reverting [19567] appears to "fix" the problem. I suspect there is a
 better fix though. For those that want to try this the svn commandline is:
 {{{
 svn merge -c -19567 mythtv/libs/libmythui/screensaver-x11.cpp
 }}}

 It is also possible that the events at
 http://cvs.mythtv.org/trac/browser/trunk/mythtv/libs/libmythui/mythmainwindow.cpp#L1608
 could be masked if the screensaver disabled.

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/6162>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list