[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