[mythtv-users] Upgrade to 0.23 menu navigation and content playback of .ISO DVD images seems to hang frontend

Michael T. Dean mtdean at thirdcontact.com
Thu May 6 03:48:47 UTC 2010


On 05/05/2010 11:42 PM, Rick Nickle wrote:
>
> I’m replying to myself, trying to collect more data. As I said, I’m 
> watching an .ISO that is on an NFS mount from a NAS box over gigabit 
> Ethernet.
>

First, are you using current 0.23-fixes? If not, please upgrade. There 
are a lot of DVD fixes in 0.23-fixes that aren't in (and won't be put 
in) 0.22-fixes.

> Although some content seems to work for awhile, eventually things bog 
> down, especially on menus.
>
> In this particular example, someone tried to watch a video a couple of 
> hours ago. When I checked on the system it was hung. I looked at the 
> frontend log and saw that it was just writing this message over and over:
>
> 2010-05-05 21:21:00.001 AFD Error: Unknown decoding error
>
> 2010-05-05 21:21:00.002 [mpeg2video @ 0x8564960]get_buffer() failed 
> (stride changed)
>
> Here’s a backtrace:
>
> #0 0x0039c422 in __kernel_vsyscall ()
>
> #1 0x003cab5d in pthread_join () from /lib/tls/i686/cmov/libpthread.so.0
>
> #2 0x013c8396 in PlayerContext::SetNVP(NuppelVideoPlayer*) ()
>
> from /usr/lib/libmythtv-0.23.so.0
>
> #3 0x013c4a79 in PlayerContext::TeardownPlayer() ()
>
> from /usr/lib/libmythtv-0.23.so.0
>
> #4 0x013c48a7 in PlayerContext::~PlayerContext() ()
>
> from /usr/lib/libmythtv-0.23.so.0
>
> #5 0x012f1f8c in TV::~TV() () from /usr/lib/libmythtv-0.23.so.0
>
> #6 0x012d996d in TV::StartTV(ProgramInfo*, bool, bool, bool) ()
>
> from /usr/lib/libmythtv-0.23.so.0
>
> #7 0x0807ce74 in ?? ()
>
> #8 0x00a93be6 in MythMainWindow::HandleMedia(QString const&, QString 
> const&, QString const&, QString const&, QString const&, QString 
> const&, int, int, int, QString const&) () from 
> /usr/lib/libmythui-0.23.so.0
>
> #9 0x04df3fe0 in VideoPlayHandleMedia::Play() const ()
>
> from /usr/lib/mythtv/plugins/libmythvideo.so
>
> #10 0x04df53ea in VideoPlayerCommandPrivate::Play() const ()
>
> from /usr/lib/mythtv/plugins/libmythvideo.so
>
> #11 0x04df3aa7 in VideoPlayerCommand::Play() const ()
>
> from /usr/lib/mythtv/plugins/libmythvideo.so
>
> #12 0x04d9d118 in ?? () from /usr/lib/mythtv/plugins/libmythvideo.so
>
> #13 0x04dbc0f1 in ItemDetailPopup::OnPlay() ()
>
> from /usr/lib/mythtv/plugins/libmythvideo.so
>
> #14 0x04dba159 in ItemDetailPopup::qt_metacall(QMetaObject::Call, int, 
> void**)
>
> () from /usr/lib/mythtv/plugins/libmythvideo.so
>
> #15 0x01c14c9a in QMetaObject::metacall(QObject*, QMetaObject::Call, 
> int, void**) () from /usr/lib/libQtCore.so.4
>
> #16 0x01c233d5 in QMetaObject::activate(QObject*, QMetaObject const*, 
> int, void**) () from /usr/lib/libQtCore.so.4
>
> #17 0x00bb986b in MythUIButton::Clicked() () from 
> /usr/lib/libmythui-0.23.so.0
>
> #18 0x00aee886 in MythUIButton::Push(bool) () from 
> /usr/lib/libmythui-0.23.so.0
>
> #19 0x00aee6b7 in MythUIButton::keyPressEvent(QKeyEvent*) ()
>
> from /usr/lib/libmythui-0.23.so.0
>
> #20 0x00ad0cf3 in MythScreenType::keyPressEvent(QKeyEvent*) ()
>
> But here’s something else curious. I looked at /proc/1661/fd to see 
> what file descriptors were open. There were lots and lots of them…
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/83 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/84 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/85 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/86 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/87 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/88 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/89 -> 
> /dev/snd/controlC0
>
> l-wx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/9 -> pipe:[9058]
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/90 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/91 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/92 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/93 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/94 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/95 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/96 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/97 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/98 -> 
> /dev/snd/controlC0
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/99 -> 
> /dev/snd/controlC0
>
> That’s a lot of snd devices, why so many? I have over 160 of these 
> things open.
>
> If I excise those (and the sockets and pipes, which I’ll omit for 
> brevity, I had 15 sockets and 22 pipes associated with the frontend, a 
> lot of them easy to account for, like connections to SQL, etc.)
>
> lr-x------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/0 -> /dev/null
>
> l-wx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/1 -> 
> /var/log/mythtv/mythfrontend.log
>
> lr-x------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/149 -> 
> /mnt/nas1/ISO/video.ISO
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/151 -> 
> /dev/dri/card0
>
> lr-x------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/157 -> 
> /dev/snd/timer
>
> lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/158 -> 
> /dev/snd/pcmC0D0p
>
> l-wx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/2 -> 
> /var/log/mythtv/mythfrontend.log
>
> lr-x------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/30 -> 
> /tmp/mythtv_media
>
>

Yeah, there may be a leak that occurs in certain circumstances 
(seemingly always during catastrophic errors). If you can find the leak, 
we'd be happy to fix it. It may have also disappeared in 0.23-fixes or 
in trunk due to JYA's audio refactoring.

Mike


More information about the mythtv-users mailing list