[mythtv-commits] Ticket #9345: mythbackend appears to leak memory

MythTV noreply at mythtv.org
Sun Jul 3 20:23:33 UTC 2011


#9345: mythbackend appears to leak memory
------------------------------+----------------------------
 Reporter:  udovdh@…          |          Owner:
     Type:  Bug Report        |         Status:  new
 Priority:  trivial           |      Milestone:  unknown
Component:  MythTV - General  |        Version:  0.24-fixes
 Severity:  low               |     Resolution:
 Keywords:  leak              |  Ticket locked:  1
------------------------------+----------------------------

Comment (by beirdo):

 Here are the highlights of the log:

 {{{
 ==29663== 7,258 (144 direct, 7,114 indirect) bytes in 1 blocks are
 definitely lost in loss record 5,138 of 5,194
 ==29663==    at 0x4A05974: operator new(unsigned long)
 (vg_replace_malloc.c:220)
 ==29663==    by 0x3F6A968F91: QObject::QObject(QObject*) (in
 /usr/lib64/libQtCore.so.4.6.3)
 ==29663==    by 0x4E34372: Setting::Setting(Storage*) (settings.h:81)
 ==29663==    by 0x4E3ABF5: RecordingType::RecordingType(RecordingProfile
 const&) (settings.h:259)
 ==29663==    by 0x4E32F79: RecordingProfile::loadByID(int)
 (recordingprofile.cpp:1295)
 ==29663==    by 0x4E2E969: RecordingProfile::loadByType(QString const&,
 QString const&) (recordingprofile.cpp:1356)
 ==29663==    by 0x52CE861: load_profile(QString, void*, RecordingInfo*,
 RecordingProfile&) (tv_rec.cpp:4012)
 ==29663==    by 0x52D312B: TVRec::SetupDTVSignalMonitor(bool)
 (tv_rec.cpp:1973)
 ==29663==    by 0x5241EC4: SignalMonitor::IsChannelTuned()
 (signalmonitor.cpp:528)
 ==29663==    by 0x53DD94C: DVBSignalMonitor::UpdateValues()
 (dvbsignalmonitor.cpp:235)
 ==29663==    by 0x52439A0: SignalMonitor::MonitorLoop()
 (signalmonitor.cpp:322)
 ==29663==    by 0x52407B9: SignalMonitor::SpawnMonitorLoop(void*)
 (signalmonitor.cpp:355)
 ==29663==
 ==29663== 7,300 (192 direct, 7,108 indirect) bytes in 1 blocks are
 definitely lost in loss record 5,139 of 5,194
 ==29663==    at 0x4A05974: operator new(unsigned long)
 (vg_replace_malloc.c:220)
 ==29663==    by 0x3F6A86F532: ??? (in /usr/lib64/libQtCore.so.4.6.3)
 ==29663==    by 0x3F6A870F3A: ??? (in /usr/lib64/libQtCore.so.4.6.3)
 ==29663==    by 0x3F6A968FC1: QObject::QObject(QObject*) (in
 /usr/lib64/libQtCore.so.4.6.3)
 ==29663==    by 0x4E3154D: RecordingProfile::RecordingProfile(QString)
 (recordingprofile.cpp:1174)
 ==29663==    by 0x52D30C4: TVRec::SetupDTVSignalMonitor(bool)
 (tv_rec.cpp:1972)
 ==29663==    by 0x5241EC4: SignalMonitor::IsChannelTuned()
 (signalmonitor.cpp:528)
 ==29663==    by 0x53DD94C: DVBSignalMonitor::UpdateValues()
 (dvbsignalmonitor.cpp:235)
 ==29663==    by 0x52439A0: SignalMonitor::MonitorLoop()
 (signalmonitor.cpp:322)
 ==29663==    by 0x52407B9: SignalMonitor::SpawnMonitorLoop(void*)
 (signalmonitor.cpp:355)
 ==29663==    by 0x339C207760: start_thread (in
 /lib64/libpthread-2.12.1.so)
 ==29663==    by 0x339BEE14FC: clone (in /lib64/libc-2.12.1.so)
 ==29663==
 ==29663== 7,300 (160 direct, 7,140 indirect) bytes in 1 blocks are
 definitely lost in loss record 5,140 of 5,194
 ==29663==    at 0x4A05974: operator new(unsigned long)
 (vg_replace_malloc.c:220)
 ==29663==    by 0x4E31D51: RecordingProfile::RecordingProfile(QString)
 (recordingprofile.cpp:1208)
 ==29663==    by 0x52D30C4: TVRec::SetupDTVSignalMonitor(bool)
 (tv_rec.cpp:1972)
 ==29663==    by 0x5241EC4: SignalMonitor::IsChannelTuned()
 (signalmonitor.cpp:528)
 ==29663==    by 0x53DD94C: DVBSignalMonitor::UpdateValues()
 (dvbsignalmonitor.cpp:235)
 ==29663==    by 0x52439A0: SignalMonitor::MonitorLoop()
 (signalmonitor.cpp:322)
 ==29663==    by 0x52407B9: SignalMonitor::SpawnMonitorLoop(void*)
 (signalmonitor.cpp:355)
 ==29663==    by 0x339C207760: start_thread (in
 /lib64/libpthread-2.12.1.so)
 ==29663==    by 0x339BEE14FC: clone (in /lib64/libc-2.12.1.so)
 ==29663==
 ==29663== 7,300 (32 direct, 7,268 indirect) bytes in 1 blocks are
 definitely lost in loss record 5,141 of 5,194
 ==29663==    at 0x4A05974: operator new(unsigned long)
 (vg_replace_malloc.c:220)
 ==29663==    by 0x4E35BBD: std::vector<Configurable*,
 std::allocator<Configurable*>
 >::_M_insert_aux(__gnu_cxx::__normal_iterator<Configurable**,
 std::vector<Configurable*, std::allocator<Configurable*> > >,
 Configurable* const&) (new_allocator.h:89)
 ==29663==    by 0x79220B5: ConfigurationDialog::addChild(Configurable*)
 (stl_vector.h:741)
 ==29663==    by 0x4E32F83: RecordingProfile::loadByID(int)
 (recordingprofile.cpp:1295)
 ==29663==    by 0x4E2E969: RecordingProfile::loadByType(QString const&,
 QString const&) (recordingprofile.cpp:1356)
 ==29663==    by 0x52CE861: load_profile(QString, void*, RecordingInfo*,
 RecordingProfile&) (tv_rec.cpp:4012)
 ==29663==    by 0x52D312B: TVRec::SetupDTVSignalMonitor(bool)
 (tv_rec.cpp:1973)
 ==29663==    by 0x5241EC4: SignalMonitor::IsChannelTuned()
 (signalmonitor.cpp:528)
 ==29663==    by 0x53DD94C: DVBSignalMonitor::UpdateValues()
 (dvbsignalmonitor.cpp:235)
 ==29663==    by 0x52439A0: SignalMonitor::MonitorLoop()
 (signalmonitor.cpp:322)
 ==29663==    by 0x52407B9: SignalMonitor::SpawnMonitorLoop(void*)
 (signalmonitor.cpp:355)
 ==29663==    by 0x339C207760: start_thread (in
 /lib64/libpthread-2.12.1.so)
 ==29663==
 ==29663== 15,376 bytes in 4 blocks are indirectly lost in loss record
 5,164 of 5,194
 ==29663==    at 0x4A0515D: malloc (vg_replace_malloc.c:195)
 ==29663==    by 0x4F52589: pes_alloc(unsigned int) (pespacket.cpp:331)
 ==29663==    by 0x53E8836:
 ProgramMapTable::ProgramMapTable(ProgramMapTable const&) (pespacket.h:86)
 ==29663==    by 0x53E218B: DVBCam::SetPMT(ChannelBase const*,
 ProgramMapTable const*) (dvbcam.cpp:307)
 ==29663==    by 0x4F71010: MPEGStreamData::ProcessPMT(ProgramMapTable
 const*) (mpegstreamdata.cpp:805)
 ==29663==    by 0x4F7252C: MPEGStreamData::HandleTables(unsigned int,
 PSIPTable const&) (mpegstreamdata.cpp:743)
 ==29663==    by 0x4F8AB99: DVBStreamData::HandleTables(unsigned int,
 PSIPTable const&) (dvbstreamdata.cpp:227)
 ==29663==    by 0x4F6E5D0: MPEGStreamData::HandleTSTables(TSPacket const*)
 (mpegstreamdata.cpp:929)
 ==29663==    by 0x4F74867: MPEGStreamData::ProcessTSPacket(TSPacket
 const&) (mpegstreamdata.cpp:1004)
 ==29663==    by 0x4F64244: MPEGStreamData::ProcessData(unsigned char
 const*, int) (mpegstreamdata.cpp:954)
 ==29663==    by 0x53F9C1F: DVBStreamHandler::RunTS()
 (dvbstreamhandler.cpp:385)
 ==29663==    by 0x53FB358: run_dvb_stream_handler_thunk(void*)
 (dvbstreamhandler.cpp:194)
 ==29663==
 ==29663== 15,864 (360 direct, 15,504 indirect) bytes in 5 blocks are
 definitely lost in loss record 5,165 of 5,194
 ==29663==    at 0x4A05974: operator new(unsigned long)
 (vg_replace_malloc.c:220)
 ==29663==    by 0x53E217D: DVBCam::SetPMT(ChannelBase const*,
 ProgramMapTable const*) (dvbcam.cpp:307)
 ==29663==    by 0x4F71010: MPEGStreamData::ProcessPMT(ProgramMapTable
 const*) (mpegstreamdata.cpp:805)
 ==29663==    by 0x4F7252C: MPEGStreamData::HandleTables(unsigned int,
 PSIPTable const&) (mpegstreamdata.cpp:743)
 ==29663==    by 0x4F8AB99: DVBStreamData::HandleTables(unsigned int,
 PSIPTable const&) (dvbstreamdata.cpp:227)
 ==29663==    by 0x4F6E5D0: MPEGStreamData::HandleTSTables(TSPacket const*)
 (mpegstreamdata.cpp:929)
 ==29663==    by 0x4F74867: MPEGStreamData::ProcessTSPacket(TSPacket
 const&) (mpegstreamdata.cpp:1004)
 ==29663==    by 0x4F64244: MPEGStreamData::ProcessData(unsigned char
 const*, int) (mpegstreamdata.cpp:954)
 ==29663==    by 0x53F9C1F: DVBStreamHandler::RunTS()
 (dvbstreamhandler.cpp:385)
 ==29663==    by 0x53FB358: run_dvb_stream_handler_thunk(void*)
 (dvbstreamhandler.cpp:194)
 ==29663==    by 0x339C207760: start_thread (in
 /lib64/libpthread-2.12.1.so)
 ==29663==    by 0x339BEE14FC: clone (in /lib64/libc-2.12.1.so)
 }}}

-- 
Ticket URL: <http://code.mythtv.org/trac/ticket/9345#comment:6>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center


More information about the mythtv-commits mailing list