[Kde-games-devel] Review Request: Bugs 303142 - Ksirk crash when we exit and 305000 - ksirk crashing random times

Kleag kleag at free.fr
Sat Oct 13 22:23:50 UTC 2012


Hello,

I just pushed Nemanja's patch to master and 4.9 branches on the git 
repository. As I was somewhat away from kde development these lasts months 
(years?), I wonder if it is enough for this to be included in future releases 
?

Also, I will close the related bug reports.

Regards,

Gaël
Le mercredi 10 octobre 2012 20:48:33 Gael de Chalendar a écrit :
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://svn.reviewboard.kde.org/r/7046/#review10974
> -----------------------------------------------------------
> 
> Ship it!
> 
> 
> This time, I was not able to reproduce the problem but I know it and I was
> not able to find a solution for years. Your analysis and your patch seem
> soon. It tested the patch version with no problem. I'll apply it soon.
> 
> - Gael de Chalendar
> 
> On Sept. 25, 2012, 9:55 p.m., Nemanja Hirsl wrote:
> > -----------------------------------------------------------
> > This is an automatically generated e-mail. To reply, visit:
> > http://svn.reviewboard.kde.org/r/7046/
> > -----------------------------------------------------------
> > 
> > (Updated Sept. 25, 2012, 9:55 p.m.)
> > 
> > 
> > Review request for KDE Games.
> > 
> > 
> > Description
> > -------
> > 
> > The analysis is the same as for bug 304362 and review:
> > https://svn.reviewboard.kde.org/r/7045/ qDeleteAll crashes because of
> > invalid iterators.
> > This time, qDeleteAll is called from libkdegames.
> > 
> > 
> > Diffs
> > -----
> > 
> >   /trunk/KDE/kdegames/libkdegames/libkdegamesprivate/kgame/kgame.cpp
> >   1309567
> > 
> > Diff: http://svn.reviewboard.kde.org/r/7046/diff/
> > 
> > 
> > Testing
> > -------
> > 
> > 1. New local game with 5 players
> > 2. During the game, press 'x' to exit the game.
> > 3. Game crashes with backtraces attached to bugs in summary.
> > Debug logs:
> > ksirk(9517) Ksirk::GameLogic::GameAutomaton::~GameAutomaton:
> > ksirk(9517)/libkdegames (KGame) KGame::~KGame:
> > ksirk(9517) Ksirk::GameLogic::AIPlayer::~AIPlayer: "Baudouin"
> > ksirk(9517)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x4304c30) , id= 1025 ksirk(9517)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x6b1f480) ksirk(9517)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x6b1f480) delete= false
> > ksirk(9517)/libkdegames (KGame) KGame::playerDeleted: : id ( 1025 ) to be
> > removed KPlayer(0x4304c30) ksirk(9517)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9517)/libkdegames (KGame) KGame::systemRemove: : Player ( 1025 ) to
> > be removed KPlayer(0x4304c30) ksirk(9517)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1025
> > ksirk(9517)/libkdegames (KGame) KPlayer::~KPlayer: done
> > ksirk(9517) Ksirk::GameLogic::AIPlayer::~AIPlayer: "De Gaulle"
> > ksirk(9517)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x43070f0) , id= 1027 ksirk(9517)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x4770270) ksirk(9517)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x4770270) delete= false
> > ksirk(9517)/libkdegames (KGame) KGame::playerDeleted: : id ( 1027 ) to be
> > removed KPlayer(0x43070f0) ksirk(9517)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9517)/libkdegames (KGame) KGame::systemRemove: : Player ( 1027 ) to
> > be removed KPlayer(0x43070f0) ksirk(9517)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1027
> > ksirk(9517)/libkdegames (KGame) KPlayer::~KPlayer: done
> > ksirk(9517)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x4313130) , id= 1029 ksirk(9517)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x430c730) ksirk(9517)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x430c730) delete= false
> > ksirk(9517)/libkdegames (KGame) KGame::playerDeleted: : id ( 1029 ) to be
> > removed KPlayer(0x4313130) ksirk(9517)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9517)/libkdegames (KGame) KGame::systemRemove: : Player ( 1029 ) to
> > be removed KPlayer(0x4313130) ksirk(9517)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1029
> > ksirk(9517)/libkdegames (KGame) KPlayer::~KPlayer: done
> > KCrash: Application 'ksirk' crashing...
> > 
> > 
> > After patch applied, same test case is not crashing anymore.
> > 
> > Debug logs:
> > ksirk(9848) Ksirk::GameLogic::GameAutomaton::~GameAutomaton:
> > ksirk(9848)/libkdegames (KGame) KGame::~KGame:
> > ksirk(9848) Ksirk::GameLogic::AIPlayer::~AIPlayer: "Baudouin"
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x3ff4120) , id= 1025 ksirk(9848)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x3ff4700) ksirk(9848)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x3ff4700) delete= false
> > ksirk(9848)/libkdegames (KGame) KGame::playerDeleted: : id ( 1025 ) to be
> > removed KPlayer(0x3ff4120) ksirk(9848)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9848)/libkdegames (KGame) KGame::systemRemove: : Player ( 1025 ) to
> > be removed KPlayer(0x3ff4120) ksirk(9848)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1025
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: done
> > ksirk(9848) Ksirk::GameLogic::AIPlayer::~AIPlayer: "de Gaulle"
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x40330f0) , id= 1026 ksirk(9848)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x3ff4590) ksirk(9848)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x3ff4590) delete= false
> > ksirk(9848)/libkdegames (KGame) KGame::playerDeleted: : id ( 1026 ) to be
> > removed KPlayer(0x40330f0) ksirk(9848)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9848)/libkdegames (KGame) KGame::systemRemove: : Player ( 1026 ) to
> > be removed KPlayer(0x40330f0) ksirk(9848)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1026
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: done
> > ksirk(9848) Ksirk::GameLogic::AIPlayer::~AIPlayer: "Victor Emmanuel"
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x4032be0) , id= 1027 ksirk(9848)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x4ab86e0) ksirk(9848)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x4ab86e0) delete= false
> > ksirk(9848)/libkdegames (KGame) KGame::playerDeleted: : id ( 1027 ) to be
> > removed KPlayer(0x4032be0) ksirk(9848)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9848)/libkdegames (KGame) KGame::systemRemove: : Player ( 1027 ) to
> > be removed KPlayer(0x4032be0) ksirk(9848)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1027
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: done
> > ksirk(9848) Ksirk::GameLogic::AIPlayer::~AIPlayer: "Akihito"
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x4039450) , id= 1028 ksirk(9848)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x4033f20) ksirk(9848)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x4033f20) delete= false
> > ksirk(9848)/libkdegames (KGame) KGame::playerDeleted: : id ( 1028 ) to be
> > removed KPlayer(0x4039450) ksirk(9848)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9848)/libkdegames (KGame) KGame::systemRemove: : Player ( 1028 ) to
> > be removed KPlayer(0x4039450) ksirk(9848)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1028
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: done
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: : this=
> > KPlayer(0x4034330) , id= 1029 ksirk(9848)/libkdegames (KGame)
> > KGameIO::~KGameIO: : this= KGameIO(0x403ac40) ksirk(9848)/libkdegames
> > (KGame) KPlayer::removeGameIO: : KGameIO(0x403ac40) delete= false
> > ksirk(9848)/libkdegames (KGame) KGame::playerDeleted: : id ( 1029 ) to be
> > removed KPlayer(0x4034330) ksirk(9848)/libkdegames (KGame)
> > KGame::systemRemovePlayer:
> > ksirk(9848)/libkdegames (KGame) KGame::systemRemove: : Player ( 1029 ) to
> > be removed KPlayer(0x4034330) ksirk(9848)/libkdegames (KGame)
> > KGame::playerDeleted: : sending IdRemovePlayer  1029
> > ksirk(9848)/libkdegames (KGame) KPlayer::~KPlayer: done
> > ksirk(9848)/libkdegames (KGame) KGame::~KGame: done
> > ksirk(9848)/libkdegames (KGame) KGameNetwork::~KGameNetwork: this=
> > KGameNetwork(0x20217d0) ksirk(9848)/libkdegames (KGame)
> > KMessageServer::~KMessageServer: this= KMessageServer(0x1fc0210)
> > ksirk(9848)/libkdegames (KGame) KMessageServer::Debug: ------------------
> > KMESSAGESERVER ----------------------- ksirk(9848)/libkdegames (KGame)
> > KMessageServer::Debug: MaxClients :    -1 ksirk(9848)/libkdegames (KGame)
> > KMessageServer::Debug: NoOfClients :   1 ksirk(9848)/libkdegames (KGame)
> > KMessageServer::Debug:
> > ---------------------------------------------------
> > ksirk(9848)/libkdegames (KGame) KMessageClient::removeBrokenConnection: :
> > timer single shot for removeBrokenConnection KMessageClient(0x1fbfcf0)
> > ksirk(9848)/libkdegames (KGame) KMessageServer::~KMessageServer: done
> > ksirk(9848) Ksirk::FightArena::~FightArena:
> > ksirk(9848)/libkdegames (KGame) KGameChat::~KGameChat:
> > 
> > 
> > Thanks,
> > 
> > Nemanja Hirsl


More information about the kde-games-devel mailing list