Message-ID: <3B97137F.120AE290@attglobal.net>
Date: Wed, 05 Sep 2001 23:11:11 -0700
From: Chip Hayes <jwhayes@attglobal.net>
X-Mailer: Mozilla 4.72 (Macintosh; U; PPC)
X-Accept-Language: en
MIME-Version: 1.0
Newsgroups: rec.arts.int-fiction
Subject: Re: [Inform] Infix problems...
References: <3B945A26.55BE7FBE@attglobal.net> <20010904160406.24764.00004869@mb-fm.aol.com> <3B957D56.3352903@attglobal.net> <bobby-AE4265.20512005092001@central.isp.giganews.com> <3B96D156.114B0E48@attglobal.net> <anson-A97578.00224006092001@nntp.mindspring.com> <3B96FEE2.72534C7B@attglobal.net>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 32.100.7.28
X-Trace: 6 Sep 2001 06:08:07 GMT, 32.100.7.28
Organization: Global Network Services - Remote Access Mail & News Services
Lines: 91
X-Complaints-To: abuse@prserv.net
Path: news.duke.edu!newsgate.duke.edu!nntp-out.monmouth.com!newspeer.monmouth.com!feed2.onemain.com!feed1.onemain.com!uunet!dca.uu.net!ash.uu.net!newsfeed2.us.prserv.net!prserv.net!news3.prserv.net!32.100.7.28
Xref: news.duke.edu rec.arts.int-fiction:92228

After a further bit of sleuthing...

My infix problems appear to be strictly a size issue. Eliminating entire
source files (areas of my game world) I can eliminate the Infix crashes.
 I also discovered that if I simply juggle the order of source file
includes, my problematic objects become members of the latter source
files that are included.  i.e., if object foo is in one of my last
source files included, it can cause the infix crash from the
interpreter, while object bar in an earlier included source file will
work fine with infix.  If I switch the compilation order of the
includes, though, foo works fine, but bar crashes things.

The compiler apparantly isn't letting me know I've hit some compiler
limit though... I assume  because it only affects infix and for some
reason doesn't catch it.  Here are the switches used in my ICL file:

-sxd2v8
-X
$MAX_LABELS=1200
$MAX_VERBS=150

And here is the compiler's output:

In: 18 source code files             16326 syntactic lines
 19369 textual lines                640333 characters (ISO 8859-1 Latin1)
Allocated:
  1781 symbols (maximum 6400)       912376 bytes of memory
Out:   Version 8 "Extended" story file 1.010905 (296K long):
    22 classes (maximum 64)            296 objects (maximum 511)
   151 global vars (maximum 233)      4222 variable/array space (maximum 10000)
   140 verbs (maximum 150)             827 dictionary entries (maximum 1300)
   316 grammar lines (version 2)       491 grammar tokens (unlimited)
   163 actions (maximum 200)            42 attributes (maximum 48)
    52 common props (maximum 62)        56 individual props (unlimited)
146010 characters used in text      120106 bytes compressed (rate 0.822)
     0 abbreviations (maximum 64)      730 routines (unlimited)
 36031 instructions of Z-code        10735 sequence points
 36408 bytes readable memory used (maximum 65536)
302608 bytes used in Z-machine      221680 bytes free in Z-machine
Completed in 3 seconds

And if it helps anyone, here's the memory map via the -z switch:

Dynamic +---------------------+   00000
memory  |       header        |
        +---------------------+   00040
        |    abbreviations    |
        + - - - - - - - - - - +   00042
        | abbreviations table |
        +---------------------+   00102
        |  header extension   |
        +---------------------+   0010a
        |  property defaults  |
        + - - - - - - - - - - +   00188
        |       objects       |
        + - - - - - - - - - - +   011b8
        | object short names, |
        | common prop values  |
        + - - - - - - - - - - +   037f8
        | class numbers table |
        + - - - - - - - - - - +   03826
        | symbol names table  |
        + - - - - - - - - - - +   0448f
        | indiv prop values   |
        +---------------------+   05470
        |  global variables   |
        + - - - - - - - - - - +   05650
        |       arrays        |
        +=====================+   064ef
Readable|    grammar table    |
memory  + - - - - - - - - - - +   06fcf
        |       actions       |
        + - - - - - - - - - - +   07115
        |   parsing routines  |
        + - - - - - - - - - - +   07117
        |     adjectives      |
        +---------------------+   07117
        |     dictionary      |
        +=====================+   08e38
Above   |       Z-code        |
readable+---------------------+   35340
memory  |       strings       |
        +---------------------+   49e10


What other memory setting flags should I be experimenting with to try
and solve my Infix crashes?  It seems that Infix is reaching up beyond
some memory barrier when accessing these later-compiled objects and thus
causing the crashes.

Chip
