[Pogamut-list] Bot state change to dead freezes code execution.
Piotr.Murach
pogamut-forum at diana.ms.mff.cuni.cz
Tue Jul 27 22:31:55 CEST 2010
Re: Bot state change to dead freezes code execution.
Author: Piotr.Murach
Hello!
Ok, I will definietly go through the steps you and Ruda suggested but being me I have jumped straight to the point 3 first :)
I run your test case and suprise suprise, straight from the word go when the bot switched to dead state an infinite loop starts...
it goes something like this:
(UT2004Bot2) [WARNING] 20:55:45.405 Bot switched to DEAD STATE.
(UT2004Bot2) [WARNING] 20:55:45.405 FSM[BotDeadState]: unprocessed message InfoMessage[ZoneChangedBot] | Id = DM-TrainingDay.ZoneInfo13 |
(UCC) [INFO] 20:55:45.405 ID0 In: State: Dead, BeginState()
UCCPRNT In: State: Dead, BeginState()
(UCC) [INFO] 20:55:45.405 ID0 We are in RemoteRestartPlayer
UCCPRNT We are in RemoteRestartPlayer
(UCC) [INFO] 20:55:45.468 ID0 newBot.PawnClass is None. Using GBxPawn.
UCCPRNT newBot.PawnClass is None. Using GBxPawn.
(UCC) [INFO] 20:55:45.468 ID0 In: State: Dead, BeginState()
UCCPRNT In: State: Dead, BeginState()
(UCC) [INFO] 20:55:45.468 ID0 We are in RemoteRestartPlayer
UCCPRNT We are in RemoteRestartPlayer
(UT2004Bot3) [WARNING] 20:55:45.609 Bot switched to DEAD STATE.
(UT2004Bot3) [WARNING] 20:55:45.609 FSM[BotDeadState]: unprocessed message InfoMessage[ZoneChangedBot] | Id = DM-TrainingDay.ZoneInfo13 |
(UCC) [INFO] 20:55:45.609 ID0 In: State: Dead, BeginState()
UCCPRNT In: State: Dead, BeginState()
(UCC) [INFO] 20:55:45.609 ID0 We are in RemoteRestartPlayer
and so on...
Next, I have stolen bit of your code responsible for respawning bot and inserted it straight into my bot
private void respawn() {
getAct().act(new Respawn().setStartLocation(params.getSpawningLocation()));
}
, next I have added call to this method inside the botKilled() method and the same loop happens.
>From my previous debugging sessions similar thing happened, when code froze on the bot dead state warning
the server was issuing interwoven messages just like above,
State: Dead, BeginState()
RemoteRestartPlayer
State: Dead, BeginState()
RemoteRestartPlayer
State: Dead, BeginState()
RemoteRestartPlayer
Conclusions, when calling respawn method after bot dies does not get any response from the server. Why?
Is there some port blocked that it needs, like 3000? It seems that some settings either
in the GameBots.ini or UT2004.ini are wrong as you have pointed out before. If this is true I will eat my
shoe ;) But most importantly why the heck when I execute experiments the bug does only kick in after
some time but not at the beginning.
Thanks a ton,
P.
--
Reply Link: <http://diana.ms.mff.cuni.cz/main/tiki-view_forum_thread.php?forumId=4&comments_reply_threadId=4&comments_parentId=293&post_reply=1#form>
More information about the Pogamut-list
mailing list