I had suspected that there were some memory problems while I was putting together the Turing code, but hadn't been able to pin it down. With crystals, I had to restrict the render in various ways to get it to work, both in ContextFree.app and cfdg - far more so than the original. Quitting and restarting ContextFree.app seemed to help sometimes, which suggests a memory leak. (It also caused everything else on my machine to swap out, which was painful.)
Anyway this is from version 3.0.2 of the command-line cfdg under Mac OS X, which has run perfectly previously, but just this once threw a malloc error:
Code: Select all
cfdg -w 500 -x 0.5 -v CRYSTL -T 1x2 crystals-2013.cfdg crystals-2013-CRYSTL.png
Reading rules file crystals-2013.cfdg
Restarting as a version 3 design
Compiling 2nd phase
3 rules loaded
Generating 16bit color PNG image, variation CRYSTL...
500w x 866h pixel image.
Generating...
924666 shapes - 31174 expansions to do
Rendering...
Writing 500w x 866h pixel image...
1111710 shapes
DONE!
The output file name is crystals-2013-CRYSTL.png
cfdg(60656) malloc: *** error for object 0xa09a79e95d7e9fbb: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort
However, now I am thinking that maybe there is a memory leak somewhere.
I haven't yet got a fresh version of command-line cfdg to experiment further, as the "user interface hangs" fixed in 3.0.4 may not apply here. If I get time I'll try this later today.