<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal>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.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Although some content seems to work for awhile, eventually
things bog down, especially on menus.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>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:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>2010-05-05 21:21:00.001 AFD Error: Unknown decoding error<o:p></o:p></p>
<p class=MsoNormal>2010-05-05 21:21:00.002 [mpeg2video @ 0x8564960]get_buffer()
failed (stride changed)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>Here’s a backtrace:<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>#0 0x0039c422 in __kernel_vsyscall ()<o:p></o:p></p>
<p class=MsoNormal>#1 0x003cab5d in pthread_join () from
/lib/tls/i686/cmov/libpthread.so.0<o:p></o:p></p>
<p class=MsoNormal>#2 0x013c8396 in
PlayerContext::SetNVP(NuppelVideoPlayer*) ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/libmythtv-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#3 0x013c4a79 in PlayerContext::TeardownPlayer() ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/libmythtv-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#4 0x013c48a7 in PlayerContext::~PlayerContext() ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/libmythtv-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#5 0x012f1f8c in TV::~TV() () from
/usr/lib/libmythtv-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#6 0x012d996d in TV::StartTV(ProgramInfo*, bool, bool,
bool) ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/libmythtv-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#7 0x0807ce74 in ?? ()<o:p></o:p></p>
<p class=MsoNormal>#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<o:p></o:p></p>
<p class=MsoNormal>#9 0x04df3fe0 in VideoPlayHandleMedia::Play() const ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/mythtv/plugins/libmythvideo.so<o:p></o:p></p>
<p class=MsoNormal>#10 0x04df53ea in VideoPlayerCommandPrivate::Play() const ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/mythtv/plugins/libmythvideo.so<o:p></o:p></p>
<p class=MsoNormal>#11 0x04df3aa7 in VideoPlayerCommand::Play() const ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/mythtv/plugins/libmythvideo.so<o:p></o:p></p>
<p class=MsoNormal>#12 0x04d9d118 in ?? () from
/usr/lib/mythtv/plugins/libmythvideo.so<o:p></o:p></p>
<p class=MsoNormal>#13 0x04dbc0f1 in ItemDetailPopup::OnPlay() ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/mythtv/plugins/libmythvideo.so<o:p></o:p></p>
<p class=MsoNormal>#14 0x04dba159 in
ItemDetailPopup::qt_metacall(QMetaObject::Call, int, void**)<o:p></o:p></p>
<p class=MsoNormal> () from /usr/lib/mythtv/plugins/libmythvideo.so<o:p></o:p></p>
<p class=MsoNormal>#15 0x01c14c9a in QMetaObject::metacall(QObject*,
QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4<o:p></o:p></p>
<p class=MsoNormal>#16 0x01c233d5 in QMetaObject::activate(QObject*,
QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4<o:p></o:p></p>
<p class=MsoNormal>#17 0x00bb986b in MythUIButton::Clicked() () from
/usr/lib/libmythui-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#18 0x00aee886 in MythUIButton::Push(bool) () from
/usr/lib/libmythui-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#19 0x00aee6b7 in MythUIButton::keyPressEvent(QKeyEvent*) ()<o:p></o:p></p>
<p class=MsoNormal> from /usr/lib/libmythui-0.23.so.0<o:p></o:p></p>
<p class=MsoNormal>#20 0x00ad0cf3 in MythScreenType::keyPressEvent(QKeyEvent*)
()<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>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…<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/83
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/84
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/85
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/86
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/87
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/88
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/89
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>l-wx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/9
-> pipe:[9058]<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/90
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/91
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/92
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/93
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/94
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/95
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/96
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/97
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/98
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/99
-> /dev/snd/controlC0<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>That’s a lot of snd devices, why so many? I have
over 160 of these things open.<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>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.)<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>lr-x------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/0
-> /dev/null<o:p></o:p></p>
<p class=MsoNormal>l-wx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/1
-> /var/log/mythtv/mythfrontend.log<o:p></o:p></p>
<p class=MsoNormal>lr-x------ 1 user group 64 2010-05-05 23:22
/proc/1661/fd/149 -> /mnt/nas1/ISO/video.ISO<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22
/proc/1661/fd/151 -> /dev/dri/card0<o:p></o:p></p>
<p class=MsoNormal>lr-x------ 1 user group 64 2010-05-05 23:22
/proc/1661/fd/157 -> /dev/snd/timer<o:p></o:p></p>
<p class=MsoNormal>lrwx------ 1 user group 64 2010-05-05 23:22
/proc/1661/fd/158 -> /dev/snd/pcmC0D0p<o:p></o:p></p>
<p class=MsoNormal>l-wx------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/2
-> /var/log/mythtv/mythfrontend.log<o:p></o:p></p>
<p class=MsoNormal>lr-x------ 1 user group 64 2010-05-05 23:22 /proc/1661/fd/30
-> /tmp/mythtv_media<o:p></o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>