Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0002928Dwarf FortressDwarf Mode -- Embark/Setuppublic2010-08-02 06:022014-07-27 12:36
starver 
 
lowcrashalways
newopen 
WindowsXP
0.31.12 
 
0002928: Crash on site selection in rectangular world
I made a 'ringworld' worldgen (i.e. short and wide) and first got the crashes on trying to exit the Site Finder (having Found a Site), but then realised I also got them when just scrolling around the world on a manual hunt. Best guess is that it has happened when the region view tries to encompass some tile outside of the default embark site.

Have been able to embark fine on more conventional worlds, did not try any other Ringworlds.

[Sorry, first time on Mantis: filter didn't reveal anything similar, but may have overlooked it. Apologies for any faux pas.]


"regionX-world_gen_param.txt":
Created in DF v0.31.12.

[WORLD_GEN]
    [TITLE:RINGWORLD]
    [SEED:722245426]
    [HISTORY_SEED:3095621144]
    [NAME_SEED:2906513740]
    [CREATURE_SEED:3049399164]
    [DIM:257:17]
    [EMBARK_POINTS:1274]
    [END_YEAR:1050]
    [BEAST_END_YEAR:200:80]
    [REVEAL_ALL_HISTORY:1]
    [CULL_HISTORICAL_FIGURES:0]
    [ELEVATION:1:400:800:52]
    [RAINFALL:0:100:400:26]
    [TEMPERATURE:25:75:400:26]
    [DRAINAGE:0:100:400:26]
    [VOLCANISM:0:100:400:26]
    [SAVAGERY:0:100:400:26]
    [ELEVATION_FREQUENCY:1:1:1:1:1:1]
    [RAIN_FREQUENCY:1:1:1:1:1:1]
    [DRAINAGE_FREQUENCY:1:1:1:1:1:1]
    [TEMPERATURE_FREQUENCY:1:1:1:1:1:1]
    [SAVAGERY_FREQUENCY:1:1:1:1:1:1]
    [VOLCANISM_FREQUENCY:1:1:1:1:1:1]
    [TITAN_NUMBER:3]
    [TITAN_ATTACK_TRIGGER:80:0:100000]
    [DEMON_NUMBER:22]
    [GOOD_SQ_COUNTS:6:66:132]
    [EVIL_SQ_COUNTS:6:66:132]
    [PEAK_NUMBER_MIN:3]
    [PARTIAL_OCEAN_EDGE_MIN:1]
    [COMPLETE_OCEAN_EDGE_MIN:0]
    [VOLCANO_MIN:1]
    [REGION_COUNTS:SWAMP:68:0:0]
    [REGION_COUNTS:DESERT:68:0:0]
    [REGION_COUNTS:FOREST:273:0:0]
    [REGION_COUNTS:MOUNTAINS:546:0:0]
    [REGION_COUNTS:OCEAN:546:0:0]
    [REGION_COUNTS:GLACIER:0:0:0]
    [REGION_COUNTS:TUNDRA:0:0:0]
    [REGION_COUNTS:GRASSLAND:546:0:0]
    [REGION_COUNTS:HILLS:546:0:0]
    [EROSION_CYCLE_COUNT:250]
    [RIVER_MINS:26:26]
    [PERIODICALLY_ERODE_EXTREMES:0]
    [OROGRAPHIC_PRECIPITATION:1]
    [SUBREGION_MAX:2750]
    [CAVERN_LAYER_COUNT:3]
    [CAVERN_LAYER_OPENNESS_MIN:0]
    [CAVERN_LAYER_OPENNESS_MAX:100]
    [CAVERN_LAYER_PASSAGE_DENSITY_MIN:0]
    [CAVERN_LAYER_PASSAGE_DENSITY_MAX:100]
    [CAVERN_LAYER_WATER_MIN:0]
    [CAVERN_LAYER_WATER_MAX:100]
    [HAVE_BOTTOM_LAYER_1:1]
    [HAVE_BOTTOM_LAYER_2:1]
    [LEVELS_ABOVE_GROUND:15]
    [LEVELS_ABOVE_LAYER_1:5]
    [LEVELS_ABOVE_LAYER_2:1]
    [LEVELS_ABOVE_LAYER_3:1]
    [LEVELS_ABOVE_LAYER_4:1]
    [LEVELS_ABOVE_LAYER_5:2]
    [LEVELS_AT_BOTTOM:1]
    [CAVE_MIN_SIZE:5]
    [CAVE_MIN_SIZE:5]
    [CAVE_MAX_SIZE:50]
    [MOUNTAIN_CAVE_MIN:6]
    [NON_MOUNTAIN_CAVE_MIN:13]
    [ALL_CAVES_VISIBLE:1]
    [SHOW_EMBARK_TUNNEL:2]
    [TOTAL_CIV_NUMBER:20]
    [TOTAL_CIV_POPULATION:15000]
    [PLAYABLE_CIVILIZATION_REQUIRED:1]
    [ELEVATION_RANGES:546:1092:546]
    [RAIN_RANGES:546:1092:546]
    [DRAINAGE_RANGES:546:1092:546]
    [SAVAGERY_RANGES:546:1092:546]
    [VOLCANISM_RANGES:546:1092:546]

(Then start Dwarf Mode on it and scroll around or accept various Site Finder results.)
Some of easily grabbable information from one instance of crash:

Error Signature
AppName: dwarf fortress.exe AppVer: 0.0.0.0 ModName: msvcr90.dll
ModVer: 9.0.21022.8 Offset: 0006c955

Exception Information
Code: 0xc0000417 Flags: 0x00000001
Record: 0x0000000000000000 Address: 0x000000007858c955

System Information
Windows NT 5.1 Build: 2600
CPU Vendor Code: 756E6547 - 49656E69 - 6C65746E
CPU Version: 00000F41 CPU Feature Code: BFEBFBFF
CPU AMD Feature Code: 00B1E824

Module 1
Dwarf Fortress.exe
Image Base: 0x00400000 Image Size: 0x00000000
Checksum: 0x007aa93b Time Stamp: 0x4c4c32e7

<blahdeblah, the rest is fairly standard kernel stuff, and most of the above just as useless, I know, and hopefully no typos on the important bits...>
No tags attached.
related to 0001680resolved Toady One Crash with "Midmap effective coordinate check out of bounds" 
parent of 0003084resolved Footkerchief Game crash - error log shows faulting module msvcr90.dll 
related to 0001859resolved Footkerchief Non-square world map resized to square in Adv. Mode civ select screen 
related to 0003035resolved Footkerchief Crash when meeting with Elf diplomat 
related to 0002754resolved Footkerchief game crashes & closes on 15th Galena 1053 
Issue History
2010-08-02 06:02starverNew Issue
2010-08-02 07:52FootkerchiefRelationship addedrelated to 0001859
2010-08-11 02:15FootkerchiefRelationship addedrelated to 0001680
2010-08-11 02:15FootkerchiefNote Added: 0011711
2010-08-12 08:49starverNote Added: 0011744
2010-08-13 06:49starverNote Added: 0011760
2010-08-22 09:02FootkerchiefRelationship addedparent of 0003084
2010-08-22 09:02FootkerchiefRelationship addedparent of 0003035
2010-08-22 09:03FootkerchiefSummaryCrash on site selection => Crash on site selection: msvcr90.dll, offset 0006c955
2010-08-22 09:03FootkerchiefRelationship addedrelated to 0002754
2010-08-22 21:19FootkerchiefRelationship replacedrelated to 0003035
2014-07-27 12:36FootkerchiefSummaryCrash on site selection: msvcr90.dll, offset 0006c955 => Crash on site selection in rectangular world

Notes
(0011711)
Footkerchief   
2010-08-11 02:15   
Reminder sent to: starver

Does this crash also produce "Midmap effective coordinate check out of bounds" in the errorlog?
(0011744)
starver   
2010-08-12 08:49   
There's nothing relevant in "errorlog.txt".

To be precise, the only contents (from a previous, active, fortress) are pathing failures in Dwarf Mode that never noticeably perturbed me at the time.)


Just to add the extra details, though, it's on the 43rd "west" key from initial starting position "longitude" on the map (at least it was when I tried it just now, and multiple times; regardless of which latitude I might have also shuffled to from the game-given default site roughly half-way up/down the somewhat squashed-and-stretched global map but somewhere around the first quintile from the left of it.)

Appears to happen (my guess is) exactly when the middle-map display would stop scrolling left-to-right (i.e. leaving "X" at centre) and X would instead move towards the LHS upon it. (No problem going to extreme N, E or S. X shuffles right up to the RHS, top and bottom edges, with no problem.)

I don't know if it relates to my observation that the site-map "X" (during Fortress play) doesn't line-up with where it is. i.e. you can (except, probably, at a small 'sweet spot' in the centre) see the shading of "planned designiation action" on the site-map off to one side. That's not a problem, though, and never causes a crash. Just an observation that seems to have a similar (though perhaps opposite) conversion problem when it comes to returning positions within an array limit.

Can't say the background issue of 0001680 isn't related, of course. And I took the 0001859 behaviour as perfectly normal (world-sized view /has/ to stretch and skew, or else display in letterbox format, in such extremes as this). Thought it strange that Ringworld is only as wide the usual max-sized maps are both wide and tall, strange that it fails. It's probably also not as simplas as it being that on squarer maps an error of mixing up X and Y limits doesn't show up.

Sorry too many words for little further enlightenment.
(0011760)
starver   
2010-08-13 06:49   
Probably final update, with additional info from some tests I should have carried out earlier, but only just got around to doing:

I supplemented the original generated world ("Sn–nstrasp: The Oracular Planet") that was reported, by a second Ringworld from the same basic params[1] and a Vertical Ringworld version with the opposite extreme stretching but otherwise identical config. (Random seeds.) No crashing when heading to limits.

I then put TOP's seeds[3] into both RINGWORLD and RINGWORLDV[ertical] generators (not expecting to get the-same-world-but-sideways, with the latter but maybe getting some similar features at an extremity) and no crashes on any of the extremities. No crashes.

I actually did two RINGWORLDS [horizontal] with the original TOP seeds[4]. The output histories and sites_and_pops matched exactly (visually compared, only, but thoroughly so) with each other, as did the basic exported map, but there were some differences in the data/save areas[5] and no crashes encounted.

If I had had more time, I would have transplanted the changed files around the various save folders to see what depended on each other and what might be the crash-inducing part.

From the beginning, I've been working on the premise that this isn't a big problem, just an anomaly, and now it looks like I can safely ignore it and use /the same world/ anyway...

[1] Zilirthur: The Eternal Universes
    [SEED:1269168925]
    [HISTORY_SEED:1259649055]
    [NAME_SEED:3530880022]
    [CREATURE_SEED:920544468]

[2] Kenomonra: The Future World
    [SEED:1894815437]
    [HISTORY_SEED:2708407036]
    [NAME_SEED:2079204638]
    [CREATURE_SEED:2837223958]
    also: [DIM:17:257]

[3] Sn–nstrasp: The Oracular Planet (obviously: same seeds for everything)
    [SEED:722245426]
    [HISTORY_SEED:3095621144]
    [NAME_SEED:2906513740]
    [CREATURE_SEED:3049399164]

[4] Except I typoed the entry of the NAME_SEED, for one, getting a world named "Usnuspstrasp: The Ageless Planet", instead, but /everything/ else (i.e. worldgenned (e.g. site, civ, faction and creature names in the histories) the same. I don't know if the NAME_SEED only affect the world name, or how much this might have caused fluctuations in the savefiles.

[5] feature-X-Y.dat files:
  Crashing version = 1-1, 1-2, 2-1 and 2-2;
  1st non-crashing = 1-3 and 1-4, instead;
  2nd non-crashing = 1-1, 3-1, 4-1, instead;

  Various unit-#.dat files had differing lengths.

  The world.dat files had different sizes (6,886,098, 6,885,838 and a figure I didn't remember to note for The Ageless Planet). I highly suspect that somewhere in there is the problem.