The saved game that I downloaded from the server at the end of September appears to be corrupted. The error occurs in loading the tiles. Loading of tiles comes shortly after loading towns, as is seen in this segment of code:
DBG_DEBUG("karte_t::laden", "init %i cities", settings.get_anzahl_staedte());
stadt.clear();
stadt.resize(settings.get_anzahl_staedte());
for (int i = 0; i < settings.get_anzahl_staedte(); ++i) {
stadt_t *s = new stadt_t(this, file);
stadt.append( s, s->get_einwohner());
}
DBG_MESSAGE("karte_t::laden()","loading blocks");
old_blockmanager_t::rdwr(this, file);
DBG_MESSAGE("karte_t::laden()","loading tiles");
for (int y = 0; y < get_size().y; y++) {
for (int x = 0; x < get_size().x; x++) {
plan[x+y*cached_grid_size.x].rdwr(this, file, koord(x,y) );
}
if(file->is_eof()) {
dbg->fatal("karte_t::laden()","Savegame file mangled (too short)!");
}
ls.set_progress( y/2 );
}
Edit: The same result obtains in the 32-bit version.
Edit 2: It seems that it is a month thing rather than a season thing after all, as it crashed on the October/November boundary, which does not involve a season change.
Edit 3: It seems that this issue is not confined to the command line server: a normal client with graphics running as a server will also fail in the same way, and will, interestingly, give dialogue box warnings about heap corruption just before crashing, too.