[mythtv] memory leak in MainServer::FillStatusXML

Neil neil at mailbox.co.za
Sun Jun 26 18:43:15 UTC 2005


On Mon, 20 Jun 2005 21:57:07 +0200
 "Neil" <neil at mailbox.co.za> wrote:
> On 19 Jun 2005 07:49:26 -0600
>  "Julien Hamaide" <julien.hamaide at gmail.com> wrote:
> > 
> > Try enabling the --show-reachable option. This will
> give
> > all allocated 
> > memory not freed but a pointer to the memory still
> exist.
> > 
> > Hope it help
> > 
> > Julien Hamaide
> > 
> > On 6/19/05, George Nassas <gnassas at mac.com> wrote:
> > > 
> > > On 19-Jun-05, at 9:57 AM, Stuart Auchterlonie wrote:
> > > 
> > > > Suggest running the backend under valgrind. It
> takes
> > a fair bit of
> > > > CPU & memory but it'll point you in the right
> > direction....
> > > 
> > > I tried valgrind before posting but it didn't turn up
> > much. 200 bytes
> > > here and there but nothing to account for the multi
> > megabytes that had
> > > been gushing. Possibly someone is still holding a
> > pointer to the lost
> > > memory? I'll try valgrind again and report back later
> > in the week.
> > > 
> > > - George
> > > 
> 
> I've been seeing this with my monitoring script as well
> since upgrading from 0.17 to 0.18 (just been too lazy to
> really have a look at it). From what I've seen it's not
> limited to the XML status page however. In addition to
> checking the status page, my script issues
> "QUERY_GETALLPENDING" requests to get more detailed
> information (for a backend VFD). Both of these requests
> present the same symptoms for me, so it may be a problem
> with something else in the backend that's common to both
> (I
> would guess the scheduler).
> 
> Neil

I found the trigger for the memory leak in
MainServer::FillStatusXML, although I don't know enough to
actually fix it. It's the call to
ProgramInfo::GetProgramRecordingProfile() - if you remove
this call the memory usage stays constant.

>From the code, it looks like that function just keeps on
instantiating ScheduledRecording() classes. Adding delete's
for these pointers doesn't seem to have any effect,
although I expect this is because ScheduledRecording has no
destructor. Perhaps someone with more knowledge about this
could have a look?

Neil
_____________________________________________________________________
For super low premiums, click here http://www.dialdirect.co.za/quote


More information about the mythtv-dev mailing list