[Scummvm-tracker] [ScummVM] #10207: TITANIC: Memory leaks in QSoundManager

dafioram trac at scummvm.org
Wed Sep 27 03:20:55 CEST 2017


#10207: TITANIC: Memory leaks in QSoundManager
-------------------------------+-----------------------------
  Reporter:  csnover           |      Owner:  dreammaster
      Type:  defect            |     Status:  new
  Priority:  normal            |  Component:  Engine: Titanic
Resolution:                    |   Keywords:
      Game:  Starship Titanic  |
-------------------------------+-----------------------------
Changes (by dafioram):

 * status:  pending => new
 * resolution:  fixed =>


Comment:

 Arboretum:
 {{{
 ==2467== 4,232 (32 direct, 4,200 indirect) bytes in 1 blocks are
 definitely lost in loss record 2,315 of 2,329
 ==2467==    at 0x4C2E0EF: operator new(unsigned long) (in
 /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
 ==2467==    by 0x513647: Titanic::CWaveFile::play(int, unsigned char)
 (wave_file.cpp:207)
 ==2467==    by 0x565766: Titanic::QMixer::qsWaveMixPump() (qmixer.cpp:235)
 ==2467==    by 0x565421: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned
 int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&)
 (qmixer.cpp:170)
 ==2467==    by 0x51017E:
 Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int,
 Titanic::CProximity&) (sound_manager.cpp:426)
 ==2467==    by 0x50F2B5:
 Titanic::QSoundManager::playSound(Titanic::CWaveFile&,
 Titanic::CProximity&) (sound_manager.cpp:187)
 ==2467==    by 0x50D9D7: Titanic::CSound::playSound(Titanic::CString
 const&, Titanic::CProximity&) (sound.cpp:179)
 ==2467==    by 0x428883: Titanic::CGameObject::playSound(Titanic::CString
 const&, Titanic::CProximity&) (game_object.cpp:804)
 ==2467==    by 0x428726: Titanic::CGameObject::playSound(Titanic::CString
 const&, unsigned int, int, bool) (game_object.cpp:789)
 ==2467==    by 0x4AB0DA:
 Titanic::CGondolierMixer::TurnOn(Titanic::CTurnOn*)
 (gondolier_mixer.cpp:99)
 ==2467==    by 0x4C9017: Titanic::CMessage::perform(Titanic::CTreeItem*)
 (messages.cpp:107)
 ==2467==    by 0x4C8DBC: Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int) (messages.cpp:60)
 ==2467==
 ==2467== 1,297,856 (32 direct, 1,297,824 indirect) bytes in 1 blocks are
 definitely lost in loss record 2,328 of 2,329
 ==2467==    at 0x4C2E0EF: operator new(unsigned long) (in
 /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
 ==2467==    by 0x513647: Titanic::CWaveFile::play(int, unsigned char)
 (wave_file.cpp:207)
 ==2467==    by 0x565766: Titanic::QMixer::qsWaveMixPump() (qmixer.cpp:235)
 ==2467==    by 0x565421: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned
 int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&)
 (qmixer.cpp:170)
 ==2467==    by 0x51017E:
 Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int,
 Titanic::CProximity&) (sound_manager.cpp:426)
 ==2467==    by 0x50F2B5:
 Titanic::QSoundManager::playSound(Titanic::CWaveFile&,
 Titanic::CProximity&) (sound_manager.cpp:187)
 ==2467==    by 0x50D9D7: Titanic::CSound::playSound(Titanic::CString
 const&, Titanic::CProximity&) (sound.cpp:179)
 ==2467==    by 0x428883: Titanic::CGameObject::playSound(Titanic::CString
 const&, Titanic::CProximity&) (game_object.cpp:804)
 ==2467==    by 0x428726: Titanic::CGameObject::playSound(Titanic::CString
 const&, unsigned int, int, bool) (game_object.cpp:789)
 ==2467==    by 0x4AB06A:
 Titanic::CGondolierMixer::TurnOn(Titanic::CTurnOn*)
 (gondolier_mixer.cpp:94)
 ==2467==    by 0x4C9017: Titanic::CMessage::perform(Titanic::CTreeItem*)
 (messages.cpp:107)
 ==2467==    by 0x4C8DBC: Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int) (messages.cpp:60)
 ==2467==
 ==2467== 1,376,796 bytes in 1 blocks are possibly lost in loss record
 2,329 of 2,329
 ==2467==    at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-
 amd64-linux.so)
 ==2467==    by 0x731834: Audio::makeWAVStream(Common::SeekableReadStream*,
 DisposeAfterUse::Flag) (wave.cpp:220)
 ==2467==    by 0x5134AB: Titanic::CWaveFile::createAudioStream()
 (wave_file.cpp:170)
 ==2467==    by 0x5135FD: Titanic::CWaveFile::play(int, unsigned char)
 (wave_file.cpp:201)
 ==2467==    by 0x565766: Titanic::QMixer::qsWaveMixPump() (qmixer.cpp:235)
 ==2467==    by 0x565421: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned
 int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&)
 (qmixer.cpp:170)
 ==2467==    by 0x51017E:
 Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int,
 Titanic::CProximity&) (sound_manager.cpp:426)
 ==2467==    by 0x50F2B5:
 Titanic::QSoundManager::playSound(Titanic::CWaveFile&,
 Titanic::CProximity&) (sound_manager.cpp:187)
 ==2467==    by 0x50D9D7: Titanic::CSound::playSound(Titanic::CString
 const&, Titanic::CProximity&) (sound.cpp:179)
 ==2467==    by 0x428883: Titanic::CGameObject::playSound(Titanic::CString
 const&, Titanic::CProximity&) (game_object.cpp:804)
 ==2467==    by 0x428726: Titanic::CGameObject::playSound(Titanic::CString
 const&, unsigned int, int, bool) (game_object.cpp:789)
 ==2467==    by 0x4AB0DA:
 Titanic::CGondolierMixer::TurnOn(Titanic::CTurnOn*)
 (gondolier_mixer.cpp:99)
 }}}

--
Ticket URL: <https://bugs.scummvm.org/ticket/10207#comment:10>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list