[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Drop related problems (SimpleExperBug and Map)
From: |
Pietro Terna |
Subject: |
Re: Drop related problems (SimpleExperBug and Map) |
Date: |
Mon, 16 Jun 1997 00:22:22 +0200 |
OK, I have applied Glen's guesses and they run, so we have a solution (and
the explanation). Many thanks to Benedikt and Glen, Pietro
At 10.18 12/06/97 -0600, you wrote:
>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.
> ==================================
>
==================================
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.
==================================