[mythtv] [mythtv-commits] Ticket #1381: Slow keyboard response over

mythtv at zacglen.com.au mythtv at zacglen.com.au
Sun Feb 26 03:48:55 UTC 2006

>> >We might be waiting for a while.  There's no such select() (or similar
>> > stuff)
>> >
>> >in the code that could be causing that. =)
>> Yes, there is.
>> Try an strace and find out the *truth*.
>> Anyone who has done any programming (like myself) will know
>> that QEventLoop()::exec invokes select().
>I didn't realize that I had to specifically put "in mythtv" in that sentenc
>since this is the mythtv mailing list & bug tracker and not the Qt one.  
>Silly me.
>> This is probably a major top-level design error.
>That only happens to a few people?  That's highly doubtful.

Really? So top level design flaws always immediate manifest themselves
and are instantly corrected?

Anyhow, for all those doubters out there, here are some stack traces.

#0  0x05449490 in select () from /lib/libc.so.6
#1  0x07173b68 in QEventLoop::processEvents () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#2  0x071e222b in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#3  0x071c94cf in QApplication::enter_loop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#4  0x045a750d in MythDialog::exec () from /usr/lib/libmyth-0.19.so.0
#5  0x0806497d in RunMenu (themedir=@0xbfd2b100) at main.cpp:498
#6  0x0806c93a in main (argc=1, argv=0xbfd2b1b4) at main.cpp:1062

> #0  0x05449490 in select () from /lib/libc.so.6
> #1  0x07450f48 in QSocketDevice::waitForMore () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
> #2  0x0478db0d in SipFsm::CheckRxEvent () from /usr/lib/mythtv/plugins/libmythphone.so
> #3  0x047911e2 in SipThread::CheckNetworkEvents () from /usr/lib/mythtv/plugins/libmythphone.so
> #4  0x04792b27 in SipThread::SipThreadWorker () from /usr/lib/mythtv/plugins/libmythphone.so
> #5  0x04792fbb in SipThread::run () from /usr/lib/mythtv/plugins/libmythphone.so
> #6  0x071c2378 in QThreadInstance::start () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
> #7  0x00373947 in start_thread () from /lib/libpthread.so.0
> #8  0x054502ce in clone () from /lib/libc.so.6

Goodness knows what the 'mythphone' stuff is trying to do - call home
I suppose. I have it disabled so why doesn't it just close itself and die?

Anyhow I figure that there might be excessive traffic from creating
new pixmaps when a menu selection highlighting needs to change.
But shouldn't they already exist as offscreen pixmaps?
That would certainly be much more efficient, not to mention faster.

More information about the mythtv-dev mailing list