[mythtv-commits] Ticket #6734: Memory leak in EIT scanner (UK DVB-T)
MythTV
mythtv at cvs.mythtv.org
Mon Apr 19 23:13:41 UTC 2010
#6734: Memory leak in EIT scanner (UK DVB-T)
-----------------------------------------------------------------+----------
Reporter: Nick Morrott <knowledgejunkie (at) gmail (dot) com> | Owner: stuarta
Type: defect | Status: infoneeded_new
Priority: minor | Milestone: 0.23
Component: MythTV - EIT | Version: 0.22-fixes
Severity: medium | Mlocked: 0
-----------------------------------------------------------------+----------
Comment(by Nick Morrott <knowledgejunkie (at) gmail (dot) com>):
This evening I left valgrind running on a fresh checkout of trunk at
r24200 for about 3 hours. This is on a Fedora 11 box with 1 DVB-T card and
1 DVB-S card. EIT is enabled for both cards.
mythbackend details:
{{{
MythTV Version : exported
MythTV Branch : trunk
Network Protocol : 56
Library API : 0.23.20100417-1
QT Version : 4.6.2
Options compiled in:
linux debug use_hidesyms using_oss using_alsa using_pulse
using_pulseoutput using_backend using_dvb using_frontend using_hdpvr
using_iptv using_ivtv using_lirc using_mheg using_opengl_video
using_opengl_vsync using_qtdbus using_qtwebkit using_v4l using_valgrind
using_x11 using_xrandr using_xv using_xvmc using_xvmc_vld using_xvmcw
using_bindings_perl using_bindings_python using_opengl
using_ffmpeg_threads using_live using_mheg
}}}
The summary of the leaktest (valgrind was run for approx 3 hours) was:
{{{
==30155== LEAK SUMMARY:
==30155== definitely lost: 116 bytes in 1 blocks.
==30155== possibly lost: 962,816 bytes in 46,889 blocks.
==30155== still reachable: 4,914,033 bytes in 23,232 blocks.
==30155== suppressed: 0 bytes in 0 blocks.
}}}
The definitely lost record was:
{{{
==30155== 116 bytes in 1 blocks are definitely lost in loss record 362 of
475
==30155== at 0x4004E5C: calloc (vg_replace_malloc.c:397)
==30155== by 0x650D783: my_thread_init (in
/usr/lib/mysql/libmysqlclient_r.so.16.0.0)
==30155== by 0x6506BA4: mysql_server_init (in
/usr/lib/mysql/libmysqlclient_r.so.16.0.0)
==30155== by 0x6532438: mysql_init (in
/usr/lib/mysql/libmysqlclient_r.so.16.0.0)
==30155== by 0x401FDCD: (within
/usr/lib/qt4/plugins/sqldrivers/libqsqlmysql.so)
==30155== by 0x5C8D190: QSqlDatabase::open() (in
/usr/lib/libQtSql.so.4.6.2)
==30155== by 0x5482386: MSqlDatabase::OpenDatabase() (mythdbcon.cpp:87)
==30155== by 0xCBFFCD: clone (in /lib/libc-2.10.2.so)
}}}
Most of the "probably lost" memory was:
{{{
==30155== 958,124 bytes in 46,863 blocks are possibly lost in loss record
474 of 475
==30155== at 0x4006F3D: malloc (vg_replace_malloc.c:207)
==30155== by 0x5E393EC: qMalloc(unsigned int) (in
/usr/lib/libQtCore.so.4.6.2)
==30155== by 0x5E6C2C6: QMapData::node_create(QMapData::Node**, int,
int) (in /usr/lib/libQtCore.so.4.6.2)
==30155== by 0x46FA6A7: QMap<unsigned int, unsigned long
long>::node_create(QMapData*, QMapData::Node**, unsigned int const&,
unsigned long long const&) (qmap.h:428)
==30155== by 0xCBFFCD: clone (in /lib/libc-2.10.2.so)
}}}
The full valgrind log is attached.
--
Ticket URL: <http://svn.mythtv.org/trac/ticket/6734#comment:14>
MythTV <http://www.mythtv.org/>
MythTV
More information about the mythtv-commits
mailing list