Re: [vdr] Memory leak (was Re: Channel 4 HD on Freesat)

2012-03-26 Thread Tony Houghton
On Tue, 13 Mar 2012 20:06:25 +0100
Mario Schulz dr...@arcor.de wrote:

 Am 13.03.2012 17:52, schrieb Tony Houghton:
 
  memory leak
 
 I just met hepi, he also is a Doctor Who fan and is tuned to Astra2 as I am.
 He complained about the bad status of EEPG, restarting his server every
 three days or so due to a memory leak within that plugin.

I now also believe the leak is in the eepg plugin. I was probably still
running it when I thought I was testing without a few months ago,
because I didn't realise the debian init script/loader now automatically
loads all installed plugins, not just the ones in order.conf.

 As this is a 'must have' if you are on Freesat, it might be closely
 related, even if you feel it is not...

More important still with Freeview HD I think, because that doesn't even
have EIT p/f in plain text like Freesat does.

 I personally do not care because I have the receiver off most of the time.
 
 How would you analyze or debug a memory leak in a running environment:
 - which thread/plugin is the root cause?
 - which datastructure sees the growth?
 - which allocs are not bracketed by a proper de-alloc?

Debian also includes a script to run vdr in valgrind but it didn't find
the leak even when I added the --show-reachable option. Perhaps I need
to check the fork-related options.

I haven't tried static analysis of the source code so far because C++
isn't my forte. Are any of eepg's developers available to check into
this?

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Memory leak (was Re: Channel 4 HD on Freesat)

2012-03-26 Thread Dominic Evans
On 26 March 2012 15:44, Tony Houghton h...@realh.co.uk wrote:
 How would you analyze or debug a memory leak in a running environment:
 - which thread/plugin is the root cause?
 - which datastructure sees the growth?
 - which allocs are not bracketed by a proper de-alloc?

 Debian also includes a script to run vdr in valgrind but it didn't find
 the leak even when I added the --show-reachable option. Perhaps I need
 to check the fork-related options.

 I haven't tried static analysis of the source code so far because C++
 isn't my forte. Are any of eepg's developers available to check into
 this?

When I briefly ran vdr under valgrind earlier this month, it threw up
a number of potential memory leaks in eepg, so I'm surprised you're
not seeing those. I'll have a quick look on my box later to see if I
have the .log output handy.

EEPG also caused a segfault in VDR a few times whilst valgrind was
running. Tbh it should probably be rewritten from scratch, ideally
with separate plugins for each of the supported extended epg services,
so you can run a minimal set.

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Memory leak (was Re: Channel 4 HD on Freesat)

2012-03-26 Thread Gerald Dachs

Am 2012-03-26 16:44, schrieb Tony Houghton:

I was probably still
running it when I thought I was testing without a few months ago,
because I didn't realise the debian init script/loader now 
automatically

loads all installed plugins, not just the ones in order.conf.


I am not aware that this ever has been the case. Must be more than 5 
years ago then.


Gerald

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


[vdr] Memory leak (was Re: Channel 4 HD on Freesat)

2012-03-13 Thread Tony Houghton
On Tue, 13 Mar 2012 16:11:44 +0100
Klaus Schmidinger klaus.schmidin...@tvdr.de wrote:

 Can you give me an estimate of the rate at which memory is consumed?
 Maybe you could have a shell running the command
 
top -b -d 600 | grep -w vdr

At the moment:

25956 vdr   20   0  520m 213m 5136 S   0.7 11.3  28:27.27 vdr

After a restart:

24585 vdr   20   0  257m  43m 5316 S   0.0  2.3   0:00.88 vdr

It starts to have a noticeable impact on the box's general performance
when %MEM reaches 50% IME.

I'll run top for longer like you suggest, then try all plugins disabled
and with DVB-T and DVB-S lines removed from channels.conf in turn.

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Memory leak (was Re: Channel 4 HD on Freesat)

2012-03-13 Thread Mario Schulz
Am 13.03.2012 17:52, schrieb Tony Houghton:

 memory leak

I just met hepi, he also is a Doctor Who fan and is tuned to Astra2 as I am.
He complained about the bad status of EEPG, restarting his server every
three days or so due to a memory leak within that plugin.
As this is a 'must have' if you are on Freesat, it might be closely
related, even if you feel it is not...

I personally do not care because I have the receiver off most of the time.

How would you analyze or debug a memory leak in a running environment:
- which thread/plugin is the root cause?
- which datastructure sees the growth?
- which allocs are not bracketed by a proper de-alloc?

Here is the output:

 3621 vdruser   20   0  636m  80m  17m S2  1.1   0:00.78 vdr
 3621 vdruser   20   0  638m  96m  17m S3  1.3   0:17.30 vdr
 3621 vdruser   20   0  643m 100m  17m S3  1.3   0:34.20 vdr

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr