swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Drop related problems (SimpleExperBug and Map)


From: glen e. p. ropella
Subject: Drop related problems (SimpleExperBug and Map)
Date: Thu, 12 Jun 1997 10:18:19 -0600

Benedikt Stefansson writes:
 > Glen et alii,
 > 
 > If I am not mistaken Pietro Terno never got a response to his question
 > about the problem with SimpleExperBug which crashes under Swarm 1.0.1. I
 > ran the app through GDB and the trace seems to indicate that the problem
 > lies in line 481 in ExperSwarm.m, when the ExperSwarm sends a drop
 > message to modelSwarm:

I'm almost positive that the crash in simpleExperBug is caused from my
recently added use of the drop notification mechanism.  When Chris
wrote the tutorial demo, the drop notification wasn't there, yet (or
just wasn't usable?) and so he explicitly dropped the probe on the
modelSwarm before he dropped the modelSwarm.

I would bet about $15 that what's happening now is that Chris drops
the probeDisplay whose target is the modelSwarm and then drops the 
modelSwarm, which instigates a call to the modelSwarm's notify
function, which then tries to execute a drop on the probeDisplay
for the modelSwarm.... which is not there.

This is evidenced (but not proved [grin]) by the following part of
the stack trace:

#1  0x8073efa in notifyObjectDropped (anObject=0x824ac10, realloc=0x0, 
    pd=0x824cd40) at ProbeDisplay.m:54


To fix this, my guess would be that we should comment out
lines 379 and 381 so that dropModel reads as follows:

-dropModel {

  // The model has finished and we've extracted the data we need
  // from it. We drop the probeDisplay for it, drop its activity,
  // and then drop the Zone we created it in, which drops all
  // of the objects built by modelSwarm

  //[probeDisplayManager dropProbeDisplaysFor: modelSwarm];
  [[modelSwarm getActivity] drop];
  //[modelZone drop];
  [modelSwarm drop];

  return self;
}

The reasons for not using these two lines are that the 
probeDisplay will be dropped automatically by the notify
mechcanism and if you drop the Zone, then you drop the 
probeMap and probeDisplay by default (I think) because they
are located in the modelZone.  The problem of whether there
is leftover data in the modelZone might be solved by moving 
the modelZone drop to occur after the modelSwarm drop.

And I apologize for not answering this the first time it
was asked.  I've been trying to back off of my tendency to
spam the swarm-support list before anybody else gets a chance
to participate. [grin]  I was told recently that one might
wonder when I get time to do anything other than write email
messages...  Plus, there is a certain amount of satisfaction in
knowing that even if I'm indisposed for awhile, that the user
community can help each other out.  (Thanks to all of you who
make an effort to help answer questions!!!!!!!!!!!!  -- I was
also recently told by an English teacher that too many exclamation
points actually *de*emphasizes the point one tries to make....
but, I don't believe her. [grin])


On Maps:  I'm going to follow Chris' lead and defer that to 
Roger.

glen
-- 
{glen e. p. ropella <address@hidden> |  Send lawyers, guns, and money!  }
{Hive Drone, SFI Swarm Project         |            Hail Eris!            }
{http://www.trail.com/~gepr/home.html  |               =><=               }

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.
                  ==================================


reply via email to

[Prev in Thread] Current Thread [Next in Thread]