[mythtv] memory leak in MainServer::FillStatusXML
zoiks2004-ivtv at yahoo.com
zoiks2004-ivtv at yahoo.com
Sat Jun 18 20:36:48 UTC 2005
George:
FWIW, I get the same thing. It's a P4 2.4GHz, with 1
GB RAM, running MythTV 0.18.1 with a 2.6.8 kernel.
Here is a session. Of course, I terminated it before
it killed the server, but I don't doubt it would have:
mythtv at capricorn:~/test> ps aux | head -n1 > test.log;
while :; do ps aux | grep -m 1 mythbackend >>
test.log; sleep 5; done &
[1] 5241
mythtv at capricorn:~/test> while :; do wget --quiet -O
/dev/null http://127.0.0.1:6544/xml; done &
[2] 5259
mythtv at capricorn:~/test> tail -f test.log
USER PID %CPU %MEM VSZ RSS TTY STAT
START TIME COMMAND
mythtv 4520 0.0 1.3 56644 13492 ? Ssl
12:48 0:00 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.0 1.3 56644 13492 ? Ssl
12:48 0:00 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.0 1.3 56644 13492 ? Ssl
12:48 0:00 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.1 1.3 57248 14372 ? Rsl
12:48 0:01 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.2 1.4 58056 15192 ? Ssl
12:48 0:03 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.4 1.5 58912 16036 ? Rsl
12:48 0:06 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.6 1.6 59720 16868 ? Rsl
12:48 0:08 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.8 1.7 60512 17688 ? Ssl
12:48 0:11 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 0.9 1.7 61384 18512 ? Ssl
12:48 0:13 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 1.1 1.8 62184 19348 ? Ssl
12:48 0:15 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 1.3 1.9 63036 20160 ? Ssl
12:48 0:18 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 1.4 2.0 63832 20992 ? Ssl
12:48 0:20 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 1.6 2.1 64700 21840 ? Ssl
12:48 0:22 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 1.8 2.1 65500 22656 ? Rsl
12:48 0:25 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 1.9 2.2 66300 23496 ? Rsl
12:48 0:27 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 2.1 2.3 67148 24308 ? Ssl
12:48 0:30 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 2.3 2.4 67960 25120 ? Ssl
12:48 0:32 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 2.4 2.5 68756 25940 ? Ssl
12:48 0:35 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 2.6 2.5 69540 26736 ? Rsl
12:48 0:37 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 2.7 2.6 70388 27560 ? Ssl
12:48 0:39 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 2.9 2.7 71172 28376 ? Rsl
12:48 0:42 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 3.1 2.8 71980 29180 ? Rsl
12:48 0:44 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 3.2 2.8 72832 29984 ? Rsl
12:48 0:47 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 3.4 2.9 73648 30808 ? Ssl
12:48 0:49 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 3.5 3.0 74464 31660 ? Rsl
12:48 0:52 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 3.7 3.1 75264 32476 ? Rsl
12:48 0:54 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 3.8 3.2 76064 33292 ? Ssl
12:48 0:57 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 4.0 3.2 76880 34096 ? Ssl
12:48 0:59 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 4.1 3.3 77680 34884 ? Ssl
12:48 1:01 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 4.3 3.4 78480 35700 ? Ssl
12:48 1:04 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 4.4 3.5 79336 36520 ? Rsl
12:48 1:06 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 4.6 3.6 80136 37328 ? Ssl
12:48 1:09 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 4.7 3.6 80952 38144 ? Rsl
12:48 1:11 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 4.9 3.7 81736 38972 ? Ssl
12:48 1:14 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 5.0 3.8 82520 39756 ? Rsl
12:48 1:16 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 5.2 3.9 83336 40560 ? Ssl
12:48 1:19 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 5.3 3.9 84144 41360 ? Ssl
12:48 1:21 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 5.5 4.0 84888 42132 ? Rsl
12:48 1:23 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 5.6 4.1 85680 42916 ? Rsl
12:48 1:26 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 5.7 4.2 86488 43720 ? Ssl
12:48 1:28 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 5.9 4.3 87312 44540 ? Ssl
12:48 1:31 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 6.0 4.3 88096 45320 ? Rsl
12:48 1:33 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 6.1 4.4 88896 46112 ? Ssl
12:48 1:36 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 6.3 4.5 89672 46924 ? Ssl
12:48 1:38 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 6.4 4.6 90480 47744 ? Rsl
12:48 1:41 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 6.6 4.6 91288 48528 ? Ssl
12:48 1:43 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 6.7 4.7 91964 49212 ? Ssl
12:48 1:45 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 6.8 4.8 92748 49980 ? Ssl
12:48 1:48 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.0 4.9 93548 50784 ? Ssl
12:48 1:50 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.1 4.9 94332 51564 ? Rsl
12:48 1:53 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.2 5.0 95068 52332 ? Rsl
12:48 1:55 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.4 5.1 95868 53112 ? Ssl
12:48 1:58 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.5 5.2 96612 53892 ? Rsl
12:48 2:00 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.6 5.2 97460 54692 ? Ssl
12:48 2:03 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.7 5.3 98136 55392 ? Rsl
12:48 2:05 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 7.9 5.4 98872 56120 ? Rsl
12:48 2:08 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.0 5.4 99548 56852 ? Rsl
12:48 2:10 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.1 5.5 100348 57608 ? Ssl
12:48 2:12 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.2 5.6 101092 58392 ? Ssl
12:48 2:15 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.4 5.5 98968 57156 ? Ssl
12:48 2:17 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.5 5.6 99992 58060 ? Ssl
12:48 2:20 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.6 5.6 101016 58932 ? Rsl
12:48 2:22 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.7 5.7 102040 59764 ? Rsl
12:48 2:25 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 8.9 5.8 103064 60532 ? Rsl
12:48 2:27 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.0 5.9 103064 61304 ? Ssl
12:48 2:29 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.1 6.0 104088 62152 ? Ssl
12:48 2:32 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.2 6.0 105112 62980 ? Rsl
12:48 2:34 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.3 6.1 106136 63852 ? Ssl
12:48 2:37 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.5 6.2 107160 64740 ? Ssl
12:48 2:40 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.6 6.3 108184 65588 ? Rsl
12:48 2:43 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.7 6.4 108184 66436 ? Ssl
12:48 2:45 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 9.9 6.5 109208 67304 ? Rsl
12:48 2:48 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.0 6.5 110232 68152 ? Rsl
12:48 2:51 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.1 6.6 111256 68988 ? Ssl
12:48 2:53 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.2 6.7 112280 69832 ? Rsl
12:48 2:56 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.3 6.8 113304 70600 ? Rsl
12:48 2:58 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.5 6.9 113304 71372 ? Rsl
12:48 3:01 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.6 6.9 114328 72216 ? Rsl
12:48 3:03 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.7 7.0 115352 73048 ? Ssl
12:48 3:06 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.8 7.1 116376 73868 ? Rsl
12:48 3:09 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 10.9 7.2 117400 74696 ? Rsl
12:48 3:11 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 11.1 7.3 117400 75568 ? Ssl
12:48 3:14 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 11.2 7.3 118424 76420 ? Rsl
12:48 3:17 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 11.3 7.4 119448 77280 ? Ssl
12:48 3:19 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 11.4 7.5 120472 78124 ? Ssl
12:48 3:22 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
mythtv 4520 11.6 7.6 121496 79004 ? Ssl
12:48 3:25 /usr/local/bin/mythbackend -d -l
/var/log/mythbackend.log
[...]
--- George Nassas <gnassas at mac.com> wrote:
> The past week or so I've been going batty trying to
> track down a memory
> leak that appears after you request either xml or
> html server status.
> It's not very hard to observe, on your server
> machine run this:
>
> while :; do wget --quiet -O /dev/null
> http://127.0.0.1:6544/xml; done
>
> and watch the backend's vsz increase by a meg every
> few seconds. It's
> about the same if you remove the xml bit.
>
> I've commented out various parts of FillStatusXML
> and FillProgramInfo
> hoping to find the line or section at fault but it's
> not so simple.
> There doesn't appear to be an unmanaged pointer
> anywhere nor am I
> hitting the server too hard for garbage collection
> to occur. Once the
> virtual size goes up it never comes down. I'm
> wondering if Qt or the
> malloc code is going awry in some complicated way.
> Or, maybe there's an
> obvious problem that I can't see because I've been
> staring at
> mainserver.cpp for too long.
>
> That's why I'm tossing this out to the list: do you
> also see the leak?
> If not, what setup are you running? I've observed
> this on three
> different systems, two running stock .18 and one
> with cvs from about a
> week ago. All are debian sarge more or less stable
> with whatever
> testing and unstable packages are required to get
> myth running.
>
> In real life I don't hit the server repeatedly like
> that. My
> application is a status thingie that polls a few
> times a minute so it
> takes a couple of hours to bring the server down.
>
> - George
>
> > _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
>
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>
More information about the mythtv-dev
mailing list