Mantis - Croquet
Viewing Issue Advanced Details
6398 Hedgehog major always 04-04-07 14:40 04-04-07 14:40
howardstearns  
 
low  
new  
open  
none    
none  
0006398: TContact>>setupContact can't create controller during rendering
setupContact executes from #findContactByPostcard: (which is really more of a "find island via contact") which, in turn, can happen during rendering.

#setupContact creates an IslandController, which generates an new ObjectID as it's senderID. But during rendering, the island can't generate new objectIDs!
This problem doesn't happen in KAT-based code because KContact does a #forkAndWait to create the controller.

Prior to Wisconsin-hrs.150, you could reproduce the problem in the KAT demo by doing Tools->Connect to Another World and selecting a nearby world that you knew about (because the KAT harness knows about a hardwired set of nearby worlds) but which you didn't already have a controller for. Or someone else could create the portal successfully (because they did had visited the other world), and then a new user joining late would try to move and die because the moving triggered an portal entry test during rendering. The same conditions can occur in the other demos -- they're just much harder for most users to reproduce.

There are no notes attached to this issue.