swarm-support
[Top][All Lists]
Advanced

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

Re: list (and bug) creation question


From: Benedikt Stefansson
Subject: Re: list (and bug) creation question
Date: Sun, 05 Dec 1999 13:50:30 -0700

Matthew,

You can't use self as an argument to create unless the bug (or object that is
creating the list instance) is a subclass of a Swarm or Zone. The error
DefObject.m, line: 872 Bug does not recognize allocIVars:*** is a a dead
giveaway.

Offending lines:

lexList = [List create: self];
gramList = [List create: self];

Fix:

lexList = [List create: [self getZone]];
gramList = [List create: [self getZone]];


Benedikt

Matthew M Murphy wrote:

> Group:
>
> I am creating agents which each have two list instances... When I attempt
> to acutally create the lists, however, I receive a perplexing runtime
> error.  Below is the result of gdb, followed by the result of a backtrace:
> (I suspect this may have something to do with when I am creating the
> lists...)
>
> --------------gdb output (sorry about the bad formatting)
> GNU gdb 19991116 Copyright 1998 Free Software Foundation, Inc. GDB is free
> software, covered by the GNU General Public License, and you are welcome
> to change it and/or distribute copies of it under certain conditions. Type
> "show copying" to see the conditions. There is absolutely no warranty for
> GDB.  Type "show warranty" for details. This GDB was configured as
> "i686-pc-linux-gnu"... (gdb) run Starting program:
> /home/mmmurf/dev/pc1202/.libs/bug *** event raised for error:
> InvalidArgument *** function: _i_Object_s__doesNotRecognize_(), file:
> DefObject.m, line: 872 Bug does not recognize allocIVars:*** execution
> terminating due to error Symbol.m:173 -[Error(c) _raiseEvent:]
>
> Program received signal SIGABRT, Aborted. 0x404cf2d1 in __kill () from
> /lib/libc.so.6
>
> ----------backtrace
>
> (gdb) backtrace #0 0x404cf2d1 in __kill () from
> /lib/libc.so.6 #1 0x404cef0d in raise () from /lib/libc.so.6 #2 0x401eb219
> in debugabort () at debugabort.c:9 #3 0x4019016b in
> _i_Error_c__raiseEvent_ () at Symbol.m:173 #4 0x4018d138 in
> _i_Object_s__doesNotRecognize_ (self=0x8108cd8, _cmd=0x401a4190,
> sel=0x401e0b40)
>     at DefObject.m:871 #5 0x4018ce5d in _i_Object_s__forward__
> (self=0x8108cd8, _cmd=0x805bde8, aSel=0x401e0b40, argFrame=0xbffffb18)
>     at DefObject.m:776 #6 0x401fade3 in __objc_forward (object=0x8108cd8,
> sel=0x401e0b40, args=0xbffffb18) at sendmsg.c:571 #7 0x401fab47 in
> __objc_word_forward (rcv=0x8108cd8, op=0x401e0b40) at sendmsg.c:499 #8
> 0x401c96ed in _c_List_any__createBegin_ (self=0x807bc28, _cmd=0x401a2e40,
> aZone=0x8108cd8) at List.m:27 #9 0x4018880a in _c_CreateDrop_s__create_
> (self=0x807bc28, _cmd=0x804bb58, aZone=0x8108cd8) at Create.m:24 #10
> 0x8048cbb in _i_Bug__createEnd (self=0x8108cd8, _cmd=0x804c1c8) at
> Bug.m:24 #11 0x8049a79 in _i_ModelSwarm__buildObjects (self=0x80fb6a0,
> _cmd=0x804be10) at ModelSwarm.m:95 #12 0x8049280 in
> _i_ObserverSwarm__buildObjects (self=0x80fb7e0, _cmd=0x804bc48) at
> ObserverSwarm.m:66 #13 0x80490dc in main (argc=1, argv=0xbffffcb4) at
> main.m:30
> (gdb)
>
> --------------------guilty method, I think... lexList and gramList are
> declared as type id in the .h file. (this is a modification of SimpleBug)
>
> // Bug.m SimpleBug
> #import "Bug.h"
> #import <random.h>
> #import <collections.h>
> @implementation Bug
>
> ...
> - createEnd {
>
>   [super createEnd];
>
>   worldXSize = [world getSizeX];
>   worldYSize = [world getSizeY];
>
>   lexList = [List create: self];
>   gramList = [List create: self];
>
>
>   return self;
> }
>
> ...
>
> I would appreciate any suggestions that anyone may have to offer.
>
> -Matt
>
>                   ==================================
>    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.

--
Benedikt Stefansson      | address@hidden
CASA, Inc.               | Ph : (505) 988-8807 x101
Santa Fe, NM 87501       | Fax: (505) 988-3440




                  ==================================
   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]