id summary reporter owner description type status priority component version resolution keywords cc game 10207 TITANIC: Memory leaks in QSoundManager csnover dreammaster "valgrind reports from dafioram: {{{ ==16727== 176 (32 direct, 144 indirect) bytes in 1 blocks are definitely lost in loss record 2,388 of 2,668 ==16727== at 0x4C2E19F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==16727== by 0x309EB9: Titanic::CWaveFile::play(int, unsigned char) (wave_file.cpp:207) ==16727== by 0x35D118: Titanic::QMixer::qsWaveMixPump() (qmixer.cpp:231) ==16727== by 0x35CDD1: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&) (qmixer.cpp:166) ==16727== by 0x30671B: Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int, Titanic::CProximity&) (sound_manager.cpp:426) ==16727== by 0x30584F: Titanic::QSoundManager::playSound(Titanic::CWaveFile&, Titanic::CProximity&) (sound_manager.cpp:187) ==16727== by 0x303F1D: Titanic::CSound::playSound(Titanic::CString const&, Titanic::CProximity&) (sound.cpp:168) ==16727== by 0x215D4C: Titanic::CGameObject::playGlobalSound(Titanic::CString const&, Titanic::VolumeMode, bool, bool, int, Audio::Mixer::SoundType) (game_object.cpp:512) ==16727== by 0x2FAB95: Titanic::CAutoMusicPlayerBase::LoadSuccessMsg(Titanic::CLoadSuccessMsg*) (auto_music_player_base.cpp:74) ==16727== by 0x2BCD49: Titanic::CMessage::perform(Titanic::CTreeItem*) (messages.cpp:107) ==16727== by 0x2BCAEE: Titanic::CMessage::execute(Titanic::CTreeItem*, Titanic::ClassDef const*, int) (messages.cpp:60) ==16727== by 0x343768: Titanic::CGameManager::postLoad(Titanic::CProjectItem*) (game_manager.cpp:104) ==16727== 4,192 (32 direct, 4,160 indirect) bytes in 1 blocks are definitely lost in loss record 2,576 of 2,668 ==16727== at 0x4C2E19F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==16727== by 0x309EB9: Titanic::CWaveFile::play(int, unsigned char) (wave_file.cpp:207) ==16727== by 0x35D118: Titanic::QMixer::qsWaveMixPump() (qmixer.cpp:231) ==16727== by 0x35CDD1: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&) (qmixer.cpp:166) ==16727== by 0x30671B: Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int, Titanic::CProximity&) (sound_manager.cpp:426) ==16727== by 0x30584F: Titanic::QSoundManager::playSound(Titanic::CWaveFile&, Titanic::CProximity&) (sound_manager.cpp:187) ==16727== by 0x303F1D: Titanic::CSound::playSound(Titanic::CString const&, Titanic::CProximity&) (sound.cpp:168) ==16727== by 0x216F33: Titanic::CGameObject::playSound(Titanic::CString const&, Titanic::CProximity&) (game_object.cpp:803) ==16727== by 0x216DD6: Titanic::CGameObject::playSound(Titanic::CString const&, unsigned int, int, bool) (game_object.cpp:788) ==16727== by 0x29CC48: Titanic::CGondolierMixer::TurnOn(Titanic::CTurnOn*) (gondolier_mixer.cpp:93) ==16727== by 0x2BCD49: Titanic::CMessage::perform(Titanic::CTreeItem*) (messages.cpp:107) ==16727== by 0x2BCAEE: Titanic::CMessage::execute(Titanic::CTreeItem*, Titanic::ClassDef const*, int) (messages.cpp:60) ==16727== ==16727== 1,376,840 bytes in 1 blocks are possibly lost in loss record 2,666 of 2,668 ==16727== at 0x4C2DB2F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==16727== by 0x3098D6: Titanic::CWaveFile::loadSound(Titanic::CString const&) (wave_file.cpp:103) ==16727== by 0x305580: Titanic::QSoundManager::loadSound(Titanic::CString const&) (sound_manager.cpp:126) ==16727== by 0x303DDC: Titanic::CSound::loadSound(Titanic::CString const&) (sound.cpp:138) ==16727== by 0x303E9C: Titanic::CSound::playSound(Titanic::CString const&, Titanic::CProximity&) (sound.cpp:158) ==16727== by 0x216F33: Titanic::CGameObject::playSound(Titanic::CString const&, Titanic::CProximity&) (game_object.cpp:803) ==16727== by 0x216DD6: Titanic::CGameObject::playSound(Titanic::CString const&, unsigned int, int, bool) (game_object.cpp:788) ==16727== by 0x29CCB8: Titanic::CGondolierMixer::TurnOn(Titanic::CTurnOn*) (gondolier_mixer.cpp:98) ==16727== by 0x2BCD49: Titanic::CMessage::perform(Titanic::CTreeItem*) (messages.cpp:107) ==16727== by 0x2BCAEE: Titanic::CMessage::execute(Titanic::CTreeItem*, Titanic::ClassDef const*, int) (messages.cpp:60) ==16727== by 0x29D2CE: Titanic::CGondolierMixer::LoadSuccessMsg(Titanic::CLoadSuccessMsg*) (gondolier_mixer.cpp:191) ==16727== by 0x2BCD49: Titanic::CMessage::perform(Titanic::CTreeItem*) (messages.cpp:107) ==16727== ==16727== 1,381,028 (32 direct, 1,380,996 indirect) bytes in 1 blocks are definitely lost in loss record 2,667 of 2,668 ==16727== at 0x4C2E19F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==16727== by 0x309EB9: Titanic::CWaveFile::play(int, unsigned char) (wave_file.cpp:207) ==16727== by 0x35D118: Titanic::QMixer::qsWaveMixPump() (qmixer.cpp:231) ==16727== by 0x35CDD1: Titanic::QMixer::qsWaveMixPlayEx(int, unsigned int, Titanic::CWaveFile*, int, Titanic::QMIXPLAYPARAMS const&) (qmixer.cpp:166) ==16727== by 0x30671B: Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int, Titanic::CProximity&) (sound_manager.cpp:426) ==16727== by 0x30584F: Titanic::QSoundManager::playSound(Titanic::CWaveFile&, Titanic::CProximity&) (sound_manager.cpp:187) ==16727== by 0x303F1D: Titanic::CSound::playSound(Titanic::CString const&, Titanic::CProximity&) (sound.cpp:168) ==16727== by 0x216F33: Titanic::CGameObject::playSound(Titanic::CString const&, Titanic::CProximity&) (game_object.cpp:803) ==16727== by 0x216DD6: Titanic::CGameObject::playSound(Titanic::CString const&, unsigned int, int, bool) (game_object.cpp:788) ==16727== by 0x29CCB8: Titanic::CGondolierMixer::TurnOn(Titanic::CTurnOn*) (gondolier_mixer.cpp:98) ==16727== by 0x2BCD49: Titanic::CMessage::perform(Titanic::CTreeItem*) (messages.cpp:107) ==16727== by 0x2BCAEE: Titanic::CMessage::execute(Titanic::CTreeItem*, Titanic::ClassDef const*, int) (messages.cpp:60) ==16727== ==16727== 4,984,652 (24 direct, 4,984,628 indirect) bytes in 1 blocks are definitely lost in loss record 2,668 of 2,668 ==16727== at 0x4C2E19F: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==16727== by 0x3075EE: Common::List::insert(Common::ListInternal::NodeBase*, Titanic::QSoundManagerSound* const&) (list.h:248) ==16727== by 0x307018: Common::List::push_back(Titanic::QSoundManagerSound* const&) (list.h:131) ==16727== by 0x304FBC: Titanic::QSoundManagerSounds::add(Titanic::CWaveFile*, int, void (*)(Titanic::TTtalker*), Titanic::TTtalker*) (sound_manager.cpp:52) ==16727== by 0x3066B9: Titanic::QSoundManager::playWave(Titanic::CWaveFile*, int, unsigned int, Titanic::CProximity&) (sound_manager.cpp:421) ==16727== by 0x30584F: Titanic::QSoundManager::playSound(Titanic::CWaveFile&, Titanic::CProximity&) (sound_manager.cpp:187) ==16727== by 0x303F1D: Titanic::CSound::playSound(Titanic::CString const&, Titanic::CProximity&) (sound.cpp:168) ==16727== by 0x216F33: Titanic::CGameObject::playSound(Titanic::CString const&, Titanic::CProximity&) (game_object.cpp:803) ==16727== by 0x216DD6: Titanic::CGameObject::playSound(Titanic::CString const&, unsigned int, int, bool) (game_object.cpp:788) ==16727== by 0x29CC48: Titanic::CGondolierMixer::TurnOn(Titanic::CTurnOn*) (gondolier_mixer.cpp:93) ==16727== by 0x2BCD49: Titanic::CMessage::perform(Titanic::CTreeItem*) (messages.cpp:107) ==16727== by 0x2BCAEE: Titanic::CMessage::execute(Titanic::CTreeItem*, Titanic::ClassDef const*, int) (messages.cpp:60) }}} Build: 1.10.0git-4914-g294503f516" defect closed normal Engine: Titanic fixed Starship Titanic