[Scummvm-tracker] [ScummVM] #10208: TITANIC: Memory leaks in TrueTalk

Colin Snover trac at scummvm.org
Sun Sep 24 19:09:20 CEST 2017


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

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


Comment:

 TrueTalk is currently leaking in these areas:

 {{{
    2 libc++abi.dylib operator new(unsigned long)
    3 scummvm Titanic::TTpicture::copy() const
 scummvm/engines/titanic/true_talk/tt_picture.cpp:64
    4 scummvm Titanic::TTconcept::initializeWordRef(Titanic::TTword*)
 scummvm/engines/titanic/true_talk/tt_concept.cpp:139
    5 scummvm Titanic::TTconcept::TTconcept(Titanic::TTconcept&)
 scummvm/engines/titanic/true_talk/tt_concept.cpp:84
    6 scummvm Titanic::TTparser::filterConcepts(int, int)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:1627
    7 scummvm Titanic::TTparser::checkForAction()
 scummvm/engines/titanic/true_talk/tt_parser.cpp:1490
    8 scummvm Titanic::TTparser::findFrames(Titanic::TTsentence*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:524
    9 scummvm Titanic::CScriptHandler::processInput(Titanic::TTroomScript*,
 Titanic::TTnpcScript*, Titanic::TTstring const&)
 scummvm/engines/titanic/true_talk/script_handler.cpp:96
   10 scummvm
 Titanic::CTrueTalkManager::processInput(Titanic::CTrueTalkNPC*,
 Titanic::CTextInputMsg*, Titanic::CViewItem*)
 scummvm/engines/titanic/true_talk/true_talk_manager.cpp:334
   11 scummvm Titanic::CTrueTalkNPC::processInput(Titanic::CTextInputMsg*,
 Titanic::CViewItem*) scummvm/engines/titanic/npcs/true_talk_npc.cpp:232
   12 scummvm Titanic::CTrueTalkNPC::TextInputMsg(Titanic::CTextInputMsg*)
 scummvm/engines/titanic/npcs/true_talk_npc.cpp:83
   13 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
 scummvm/engines/titanic/messages/messages.cpp:107
   14 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int)
 scummvm/engines/titanic/messages/messages.cpp:60
   15 scummvm Titanic::CPetConversations::textLineEntered(Titanic::CString
 const&) scummvm/engines/titanic/pet_control/pet_conversations.cpp:507
   16 scummvm Titanic::CPetConversations::handleKey(Common::KeyState
 const&) scummvm/engines/titanic/pet_control/pet_conversations.cpp:490
   17 scummvm Titanic::CPetConversations::KeyCharMsg(Titanic::CKeyCharMsg*)
 scummvm/engines/titanic/pet_control/pet_conversations.cpp:224
   18 scummvm Titanic::CPetControl::KeyCharMsg(Titanic::CKeyCharMsg*)
 scummvm/engines/titanic/pet_control/pet_control.cpp:339
   19 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
 scummvm/engines/titanic/messages/messages.cpp:107
   20 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int)
 scummvm/engines/titanic/messages/messages.cpp:60
   21 scummvm Titanic::CInputHandler::dispatchMessage(Titanic::CMessage*)
 scummvm/engines/titanic/input_handler.cpp:154
   22 scummvm Titanic::CInputHandler::processMessage(Titanic::CMessage*)
 scummvm/engines/titanic/input_handler.cpp:84
   23 scummvm Titanic::CInputHandler::handleMessage(Titanic::CMessage&,
 bool) scummvm/engines/titanic/input_handler.cpp:72
   24 scummvm Titanic::CInputTranslator::keyDown(Common::KeyState const&)
 scummvm/engines/titanic/input_translator.cpp:91
   25 scummvm Titanic::CMainGameWindow::keyDown(Common::KeyState)
 scummvm/engines/titanic/main_game_window.cpp:367
   26 scummvm Titanic::Events::pollEvents()
 scummvm/engines/titanic/events.cpp:95
   27 scummvm Titanic::Events::pollEventsAndWait()
 scummvm/engines/titanic/events.cpp:112
   28 scummvm Titanic::TitanicEngine::run()
 scummvm/engines/titanic/titanic.cpp:157
 }}}

 {{{
    2 libc++abi.dylib operator new(unsigned long)
    3 scummvm Titanic::TTstring::TTstring(char const*)
 scummvm/engines/titanic/true_talk/tt_string.cpp:32
    4 scummvm Titanic::TTconcept::TTconcept(Titanic::TTword*,
 Titanic::ScriptType) scummvm/engines/titanic/true_talk/tt_concept.cpp:56
    5 scummvm Titanic::TTparser::processModifiers(int, Titanic::TTword*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:1657
    6 scummvm Titanic::TTparser::considerRequests(Titanic::TTword*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:946
    7 scummvm Titanic::TTparser::processRequests(Titanic::TTword*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:1310
    8 scummvm Titanic::TTparser::findFrames(Titanic::TTsentence*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:515
    9 scummvm Titanic::CScriptHandler::processInput(Titanic::TTroomScript*,
 Titanic::TTnpcScript*, Titanic::TTstring const&)
 scummvm/engines/titanic/true_talk/script_handler.cpp:96
   10 scummvm
 Titanic::CTrueTalkManager::processInput(Titanic::CTrueTalkNPC*,
 Titanic::CTextInputMsg*, Titanic::CViewItem*)
 scummvm/engines/titanic/true_talk/true_talk_manager.cpp:334
   11 scummvm Titanic::CTrueTalkNPC::processInput(Titanic::CTextInputMsg*,
 Titanic::CViewItem*) scummvm/engines/titanic/npcs/true_talk_npc.cpp:232
   12 scummvm Titanic::CTrueTalkNPC::TextInputMsg(Titanic::CTextInputMsg*)
 scummvm/engines/titanic/npcs/true_talk_npc.cpp:83
   13 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
 scummvm/engines/titanic/messages/messages.cpp:107
   14 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int)
 scummvm/engines/titanic/messages/messages.cpp:60
   15 scummvm Titanic::CPetConversations::textLineEntered(Titanic::CString
 const&) scummvm/engines/titanic/pet_control/pet_conversations.cpp:507
   16 scummvm Titanic::CPetConversations::handleKey(Common::KeyState
 const&) scummvm/engines/titanic/pet_control/pet_conversations.cpp:490
   17 scummvm Titanic::CPetConversations::KeyCharMsg(Titanic::CKeyCharMsg*)
 scummvm/engines/titanic/pet_control/pet_conversations.cpp:224
   18 scummvm Titanic::CPetControl::KeyCharMsg(Titanic::CKeyCharMsg*)
 scummvm/engines/titanic/pet_control/pet_control.cpp:339
   19 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
 scummvm/engines/titanic/messages/messages.cpp:107
   20 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int)
 scummvm/engines/titanic/messages/messages.cpp:60
   21 scummvm Titanic::CInputHandler::dispatchMessage(Titanic::CMessage*)
 scummvm/engines/titanic/input_handler.cpp:154
   22 scummvm Titanic::CInputHandler::processMessage(Titanic::CMessage*)
 scummvm/engines/titanic/input_handler.cpp:84
   23 scummvm Titanic::CInputHandler::handleMessage(Titanic::CMessage&,
 bool) scummvm/engines/titanic/input_handler.cpp:72
   24 scummvm Titanic::CInputTranslator::keyDown(Common::KeyState const&)
 scummvm/engines/titanic/input_translator.cpp:91
   25 scummvm Titanic::CMainGameWindow::keyDown(Common::KeyState)
 scummvm/engines/titanic/main_game_window.cpp:367
   26 scummvm Titanic::Events::pollEvents()
 scummvm/engines/titanic/events.cpp:95
   27 scummvm Titanic::Events::pollEventsAndWait()
 scummvm/engines/titanic/events.cpp:112
   28 scummvm Titanic::TitanicEngine::run()
 scummvm/engines/titanic/titanic.cpp:157
 }}}

 {{{
    2 libc++abi.dylib operator new(unsigned long)
    3 scummvm Titanic::TTstring::TTstring(char const*)
 scummvm/engines/titanic/true_talk/tt_string.cpp:32
    4 scummvm Titanic::TTconcept::TTconcept(Titanic::TTword*,
 Titanic::ScriptType) scummvm/engines/titanic/true_talk/tt_concept.cpp:56
    5 scummvm Titanic::TTparser::processModifiers(int, Titanic::TTword*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:1657
    6 scummvm Titanic::TTparser::considerRequests(Titanic::TTword*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:946
    7 scummvm Titanic::TTparser::processRequests(Titanic::TTword*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:1310
    8 scummvm Titanic::TTparser::findFrames(Titanic::TTsentence*)
 scummvm/engines/titanic/true_talk/tt_parser.cpp:515
    9 scummvm Titanic::CScriptHandler::processInput(Titanic::TTroomScript*,
 Titanic::TTnpcScript*, Titanic::TTstring const&)
 scummvm/engines/titanic/true_talk/script_handler.cpp:96
   10 scummvm
 Titanic::CTrueTalkManager::processInput(Titanic::CTrueTalkNPC*,
 Titanic::CTextInputMsg*, Titanic::CViewItem*)
 scummvm/engines/titanic/true_talk/true_talk_manager.cpp:334
   11 scummvm Titanic::CTrueTalkNPC::processInput(Titanic::CTextInputMsg*,
 Titanic::CViewItem*) scummvm/engines/titanic/npcs/true_talk_npc.cpp:232
   12 scummvm Titanic::CTrueTalkNPC::TextInputMsg(Titanic::CTextInputMsg*)
 scummvm/engines/titanic/npcs/true_talk_npc.cpp:83
   13 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
 scummvm/engines/titanic/messages/messages.cpp:107
   14 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int)
 scummvm/engines/titanic/messages/messages.cpp:60
   15 scummvm Titanic::CPetConversations::textLineEntered(Titanic::CString
 const&) scummvm/engines/titanic/pet_control/pet_conversations.cpp:507
   16 scummvm Titanic::CPetConversations::handleKey(Common::KeyState
 const&) scummvm/engines/titanic/pet_control/pet_conversations.cpp:490
   17 scummvm Titanic::CPetConversations::KeyCharMsg(Titanic::CKeyCharMsg*)
 scummvm/engines/titanic/pet_control/pet_conversations.cpp:224
   18 scummvm Titanic::CPetControl::KeyCharMsg(Titanic::CKeyCharMsg*)
 scummvm/engines/titanic/pet_control/pet_control.cpp:339
   19 scummvm Titanic::CMessage::perform(Titanic::CTreeItem*)
 scummvm/engines/titanic/messages/messages.cpp:107
   20 scummvm Titanic::CMessage::execute(Titanic::CTreeItem*,
 Titanic::ClassDef const*, int)
 scummvm/engines/titanic/messages/messages.cpp:60
   21 scummvm Titanic::CInputHandler::dispatchMessage(Titanic::CMessage*)
 scummvm/engines/titanic/input_handler.cpp:154
   22 scummvm Titanic::CInputHandler::processMessage(Titanic::CMessage*)
 scummvm/engines/titanic/input_handler.cpp:84
   23 scummvm Titanic::CInputHandler::handleMessage(Titanic::CMessage&,
 bool) scummvm/engines/titanic/input_handler.cpp:72
   24 scummvm Titanic::CInputTranslator::keyDown(Common::KeyState const&)
 scummvm/engines/titanic/input_translator.cpp:91
   25 scummvm Titanic::CMainGameWindow::keyDown(Common::KeyState)
 scummvm/engines/titanic/main_game_window.cpp:367
   26 scummvm Titanic::Events::pollEvents()
 scummvm/engines/titanic/events.cpp:95
   27 scummvm Titanic::Events::pollEventsAndWait()
 scummvm/engines/titanic/events.cpp:112
   28 scummvm Titanic::TitanicEngine::run()
 scummvm/engines/titanic/titanic.cpp:157
 }}}

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


More information about the Scummvm-tracker mailing list