RE: [jade-develop] The Amazing Dying Container,and messages sent in afterMove()


Subject: RE: [jade-develop] The Amazing Dying Container,and messages sent in afterMove()
From: Bellifemine Fabio (Fabio.Bellifemine@TILAB.COM)
Date: Fri Aug 02 2002 - 11:06:16 MET DST


John, it is quite difficult to answer to such general questions.
It might help if you sent the stack trace of the exceptions thrown by the died containers and also the structure of your agents.

Regarding the specific questions:
- mobility is not yet transational, even if that is a feature that will come soon
- containers cannot be ping but the agent should already not be allowed to move to a non-reachable container

-----Original Message-----
From: John J. Mikucki [mailto:jjm7570@cs.rit.edu]
Sent: 01 August 2002 18:34
To: jade-develop@sharon.cselt.it
Subject: [jade-develop] The Amazing Dying Container,and messages sent in
afterMove()

Hello again--

Some of my JADE containers are dying, and I don't know why. I may be doing
something wrong within my agent, but I'm certain I'm not intending for agents
to kill containers, and call no functions that are documented to kill them.
Currently, my platform has about 60 containers, and at least one died in the
first 15 minutes. What could be happening?

The container deaths have the unfortunate effect of doing Bad Things to the
master platform. In particular, the platform (as indicated by the RMA)
doesn't acknowledge that the container has died, and will not kill it / remove
it from the container list. Hence, my agents keep attempting to move to dead
containers. Worse, however, is that the agents seem to lose messages after the
container failure.

The agents continue to wander around the network (they post events indicating
that they've arrived at new places). However, messages sent while in
agent.afterMove() are only received when the agent is arriving to the main
container. After leaving the afterMove() call, messages seem to be received
without difficulty, as agent movement is driven by the same self-messaging
mechanism that drives the tasks which cease to be performed. The transition
from fully operational to 'only works on the main container' seems to be fairly
sudden, though determining precisely what's happening when is involved and will
take more time.

* What might be killing my containers?

* Why do dead containers still show up in the RMA, but cannot be killed or
  removed?

* What might be causing my agents to miss messages
  sent in the afterMove() method? I know they are sent originally, because the
  task they trigger is performed everywhere... but, after some event (I think
  it's a dying container) they only occur on the main container.

* How can my agents trap failures experienced while moving (ie, after doMove()
 is called)?

* Is there any way to 'ping' a container before moving to it?

Thanks

John

-- 
Avoision, n:  Avoidance, as practiced in 'Joisey.
_______________________________________________
jade-develop mailing list
jade-develop@sharon.cselt.it
http://sharon.cselt.it/mailman/listinfo/jade-develop
UNSUBSCRIBE INSTRUCTIONS AT http://jade.cselt.it/mailing.htm#unsubscribe



This archive was generated by hypermail 2a22 : Fri Aug 02 2002 - 11:06:34 MET DST