[mythtv] MythSocket class

John P Poet jppoet at gmail.com
Thu Jun 8 03:40:04 UTC 2006


On 6/7/06, Isaac Richards <ijr at case.edu> wrote:
> On Wednesday 07 June 2006 8:07 pm, Isaac Richards wrote:
> > On Wednesday 07 June 2006 7:52 pm, Isaac Richards wrote:
> > > On Wednesday 07 June 2006 4:59 pm, Isaac Richards wrote:
> > > > On Wednesday 07 June 2006 11:46 am, John P Poet wrote:
> > > > > On 6/6/06, Isaac Richards <ijr at case.edu> wrote:
> > > > > > John, try this patch (newly generated against TOT).  I set up a
> > > > > > slave backend and banged on things a bit (started/stopped
> > > > > > recordings/live-tv, remote frontend stuff & local playback as
> > > > > > well), and things seem stable here.  No speed differences that I
> > > > > > can tell, either.
> > > > > >
> > > > > > Isaac
> > > > >
> > > > > I will try this when I get home tonight.  Thanks!
> > > >
> > > > New patch, fixes a deadlock condition that could be reproduced by
> > > > removing all preview pixmaps and using mythweb to regenerate them all
> > > > at once.  Do a distclean if you're justreverting and reapplying, in
> > > > case the dependency stuff busted.
> > > >
> > > > Only issue that I see left is the really long timeout values (carryover
> > > > from the old QSocket code).  Do we really need a 300 second timeout for
> > > > reads?  If there's a disconnect at the wrong time, it makes things seem
> > > > like they're dead for quite a long time before it eventually recovers..
> > >
> > > And another.  Sheesh, you'd think I'd learn how to code sometime.  Fixes
> > > a really dumb race condition, and also helps prevents the backend from
> > > getting stuck if a preview generation (or other task) gets _really_
> > > broken.
> >
> > Heh.  Sent that out too soon.  Don't test, please.  Fixed one coming
> > shortly.
>
> And here's patch #8.  Contains all the fixed from 5, 6, and 7 this time,
> instead of dropping one. =)
>
> Isaac
>

*** Resending with logs in seperate messages due to size...

*Much* better, but not perfect.

I had to add "#include <assert.h>" to mythsocket.cpp for Fedora Core 5.

I seem to be able to consistently get it to fail to record a show....

I started up both backends and my frontend.  Went into the guide and
selected enough shows to record, to completely saturate my tuners.
Myth proceeded to record all the shows just fine.

Then, before those shows and finished recording, I:

* Stopped mythbackend on the slave.
* Deleted the backend log on the slave
* Stopped mythbackend on the master.
* Deleted the backend log on the master
* Started mythbackend on the master.
* Started mythbackend on the slave.

Myth *thinks* it started recording all the shows again, however one of
them did not record -- no file was even created for it.  The show that
failed to record is:

"Encore! With James Conlon".

According to the logs, myth thinks it was writing it to
/mythtv/cobalt/1014_20060607204400.mpg (on the slave backend).
However, this file was nowhere to be found afterwards.

I am attaching the logs which where created after the restart.

After all of these shows finished.  I tried those exact same steps
again, with the exact same result -- one of the shows on the slave
backend did not generate a file after restarting.

Let me know if you want me to do it again, without deleting the logs
during the restart.

John


More information about the mythtv-dev mailing list