FileOut/FileIn problem

Joshua Channing Gargus schwa at cc.gatech.edu
Wed May 16 12:45:44 UTC 2001


Hi,

I'm running into a problem that I'm sure some long-time Smalltalker
will be able to easily help me with.

I've done a port of Cassowary 
(http://www.cs.washington.edu/research/constraints/cassowary/)
to Squeak, and all is well in the image that I ported it in.  However,
when I try to file it out and file it in to a clean image, problems 
arise.  The problem has to do with pool variables; when I run the 
demos, I get a walkback resulting from a nil value from a value in
the pool.  However, if I inspect the variable in the debugger 
(highlight it with the cursor, and Alt-i), it is what it should be.

I think that this problem results from me transcribing the Cassowary
classes in alphabetical order instead of the order necessary to 
ensure proper pool initialization.

I can fix this problem by recompiling two classes as follows:
ClSimplexSolver compileAll. ClSymbolicWeight compileAll
I guess I could put this in the postscript, but I'd rather learn
what the problem is and fix it rather than work around it.

I'm attaching my changesets.  Experience this bug by:

1. File in Cassowary.1.cs
2. File in Cassowary-Demo.1.cs
3. Evaluate 'ClCrossedQuadDemo new openInWorld'

nil gets sent the message negated.  This is because Squeak thinks that
ClEpsilon (actually 'ClConstants at: #ClEpsilon') is nil.  However,
inspecting the value of ClEpsilon shows that it is 1.0e-8, as it should
be.

I hope someone can help me, as I'd really like to make this cool 
constraint framework available!

Thanks,
Schwa





More information about the Squeak-dev mailing list