Nightmaster, your problem may be related to mine. It would be interesting to know what OS you are running on, and what version of Java.
Anyway, my complaint is an odd one. Farm.ash is too fast.
It kept eating the whole of Mafia's heap (well, just about -- never got an actual error), then hanging Mafia (understandably). So I tried giving it more heap to work in, launching my .jar from the command line:
> java -Xmx128m -jar KoLmafia-7822.jar
It took longer, but still ate the heap and hung. I wondered if garbage collection just wasn't happening often enough, so I stuck a line at the top of the location-evaluation loop:
cli_execute("gc");
But still, no go. Perhaps the GC isn't getting enough time, I speculated, because I don't know much about how the Java GC works, and added this line too:
wait(5);
Aha! Success! (But only with 128m; at 64m Mafia still can't handle it.)
I wondered if it was the garbage collection or the waiting that was doing the trick, so I disabled my forced garbage collection and tried again. The heap grew more than before, but Mafia was able to do its own garbage collection often enough that it never hit the limit.
I can drop the wait time down to 3 if I leave the forced garbage collection in.
For some reason, on my system, with my Java, farm.ash is doing too much too quickly for Mafia's garbage collection to keep up. I am running OS X 10.5.8. Java reports its version to be 1.5.0_20; I haven't updated whatever came with the OS.
Anyway, others with the "it just hangs" problem may want to try this solution; it makes farm.ash pretty slow with all that artificial wait time, but at least it completes (for me, in ~20 minutes, during which I read webcomics or something).
I don't think this is a problem with farm.ash, or even necessarily with Mafia. It's just how Mafia behaves on my system with my Java version.
I bet dj_d wasn't expecting to ever get complaints that the script was too fast!