Bots standing around doing nothing
in sequence. I always have to kill all the bots, stop the server, restart the server, and
then reintroduce the bots. This seems to work fine for a while, but after several evaluations
I will check in on the match and see that all of the bots are standing still, or if they are
moving they make a move, then stop, then move, then stop. It's like the bots aren't receiving
commands as often as they should.
Looking at the output from the simulation, I think the problem might be related to the following
exception (and surrounding log messages):
___
(Hunter MEDKIT) WARNING 12:01:57.937 Unregistering JMX components.
(Hunter SEE ITEM) WARNING 12:01:57.926 Component SocketConnection[SocketConnectionAddresslocalhost:3000,connected:false) has stopped.
(Hunter ITEMS) WARNING 12:01:57.925 Component Raycasting has stopped.
(Hunter ITEMS) WARNING 12:01:57.938 Component Action has stopped.
(Hunter SEE ITEM) WARNING 12:01:57.927 Component UT2004Parser has stopped.
(Hunter ENGAGE) SEVERE 12:01:57.939 Thread 100: afterLogicException() exception.
ComponentNotRunningExceptionUT2004SyncLockableWorldView: In state: STOPPING.
at cz.cuni.amis.pogamut.base.communication.worldview.impl.EventDrivenWorldView.notify(EventDrivenWorldView.java:207)
at cz.cuni.amis.pogamut.base3d.worldview.impl.BatchAwareWorldView.notify(BatchAwareWorldView.java:83)
at cz.cuni.amis.pogamut.ut2004.communication.worldview.UT2004SyncLockableWorldView.processBatch(UT2004SyncLockableWorldView.java:206)
at cz.cuni.amis.pogamut.ut2004.communication.worldview.UT2004SyncLockableWorldView.processBatches(UT2004SyncLockableWorldView.java:193)
at cz.cuni.amis.pogamut.ut2004.communication.worldview.UT2004SyncLockableWorldView.unlock(UT2004SyncLockableWorldView.java:166)
at cz.cuni.amis.pogamut.ut2004.agent.module.logic.SyncUT2004BotLogic.afterLogicException(SyncUT2004BotLogic.java:79)
at cz.cuni.amis.pogamut.base.agent.module.LogicModule$LogicRunner.run(LogicModule.java:385)
at java.lang.Thread.run(Thread.java:619)
(Hunter SEE ITEM) WARNING 12:01:58.555 Thread 99: stopping the thread, received ComponentNotRunningException from UT2004SyncLockableWorldView.
(Hunter ITEMS) WARNING 12:01:57.939 Component AdvancedLocomotion has stopped.
(Hunter ENGAGE) WARNING 12:01:58.556 Thread 100: stopping the thread, received ComponentNotRunningException from SocketConnection-Writer.
(UCC) INFO 12:01:58.555 ID16 In: State: Dead, BeginState()
___
Because the exception is being thrown in a thread I didn't create, I don't really know how to deal with this. It seems like I can't possibly catch and deal with it without editing the Pogamut source, which I'd rather not do.
Related to this: If I'm completely restarting the server and all bots in it, then why would the bots have a problem being sluggish? I would think that killing everything and starting over would give me a fresh start and make things run like normal.