View Issue Details

IDProjectCategoryView StatusLast Update
0010157Dwarf FortressWorld Generation -- Generalpublic2017-03-09 11:05
Reporterl1475863 Assigned To 
PrioritynormalSeveritycrashReproducibilityalways
Status newResolutionopen 
PlatformLinux 
Product Version0.43.05 
Summary0010157: segfault during worldgen
Descriptionsegfault on custom world generation.
running 64bit 43.05 on linux, dont know about other versions or OS.
Steps To Reproducegenerate world with the following

[WORLD_GEN]
    [TITLE:SEGFAULT]
    [SEED:4QwAmy4oSEyg2cImgOEW]
    [HISTORY_SEED:KU60caCSUsgOASOiEGMS]
    [NAME_SEED:GAw8Y0g4AiOIyK8Ok8g4]
    [CREATURE_SEED:qCEmQQKQSSgYMOSkAucA]
    [DIM:33:33]
    [EMBARK_POINTS:1504]
    [END_YEAR:1050]
    [BEAST_END_YEAR:250:67]
    [REVEAL_ALL_HISTORY:0]
    [CULL_HISTORICAL_FIGURES:1]
    [ELEVATION:1:400:401:401]
    [RAINFALL:0:100:51:51]
    [TEMPERATURE:25:75:51:51]
    [DRAINAGE:0:100:51:51]
    [VOLCANISM:0:100:51:51]
    [SAVAGERY:0:100:51:51]
    [ELEVATION_FREQUENCY:1:1:1:1:1:1]
    [RAIN_FREQUENCY:1:1:1:1:1:1]
    [DRAINAGE_FREQUENCY:1:1:1:5:4:1]
    [TEMPERATURE_FREQUENCY:1:1:1:2:1:1]
    [SAVAGERY_FREQUENCY:1:1:2:3:5:10]
    [VOLCANISM_FREQUENCY:1:1:1:1:1:1]
    [POLE:NONE]
    [MINERAL_SCARCITY:2500]
    [MEGABEAST_CAP:2]
    [SEMIMEGABEAST_CAP:2]
    [TITAN_NUMBER:1]
    [TITAN_ATTACK_TRIGGER:0:0:100000]
    [DEMON_NUMBER:30]
    [NIGHT_TROLL_NUMBER:20]
    [BOGEYMAN_NUMBER:20]
    [VAMPIRE_NUMBER:20]
    [WEREBEAST_NUMBER:20]
    [SECRET_NUMBER:20]
    [REGIONAL_INTERACTION_NUMBER:30]
    [DISTURBANCE_INTERACTION_NUMBER:30]
    [EVIL_CLOUD_NUMBER:30]
    [EVIL_RAIN_NUMBER:30]
    [GENERATE_DIVINE_MATERIALS:1]
    [GOOD_SQ_COUNTS:1:0:0]
    [EVIL_SQ_COUNTS:1:32:0]
    [PEAK_NUMBER_MIN:1]
    [PARTIAL_OCEAN_EDGE_MIN:0]
    [COMPLETE_OCEAN_EDGE_MIN:4]
    [VOLCANO_MIN:1]
    [REGION_COUNTS:SWAMP:0:0:0]
    [REGION_COUNTS:DESERT:0:0:0]
    [REGION_COUNTS:FOREST:0:1:0]
    [REGION_COUNTS:MOUNTAINS:0:0:0]
    [REGION_COUNTS:OCEAN:0:0:0]
    [REGION_COUNTS:GLACIER:0:0:0]
    [REGION_COUNTS:TUNDRA:0:0:0]
    [REGION_COUNTS:GRASSLAND:0:0:0]
    [REGION_COUNTS:HILLS:0:0:0]
    [EROSION_CYCLE_COUNT:250]
    [RIVER_MINS:1:1]
    [PERIODICALLY_ERODE_EXTREMES:1]
    [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_MAX_SIZE:25]
    [MOUNTAIN_CAVE_MIN:10]
    [NON_MOUNTAIN_CAVE_MIN:4]
    [ALL_CAVES_VISIBLE:0]
    [SHOW_EMBARK_TUNNEL:2]
    [TOTAL_CIV_NUMBER:8]
    [TOTAL_CIV_POPULATION:15000]
    [SITE_CAP:68]
    [PLAYABLE_CIVILIZATION_REQUIRED:1]
    [ELEVATION_RANGES:36:72:36]
    [RAIN_RANGES:0:0:0]
    [DRAINAGE_RANGES:0:0:0]
    [SAVAGERY_RANGES:0:0:0]
    [VOLCANISM_RANGES:0:0:0]

TagsNo tags attached.

Activities

Loci

2017-03-09 05:29

viewer   ~0036308

I successfully generated several worlds in v0.43.05x32 on windows.

May be related to 0007828; does it crash in the same stage each time?

l1475863

2017-03-09 11:05

reporter   ~0036309

it crashes at year 66.
setting the end year to 65 is safe, year 66 crashes.

other seeds are fine, just this specific seed.

and after running it a bunch of times it seems to work sometimes.
about 1/3 of the time worldgen succeed, the other 2/3s are segfaults.
aborting and retrying again after it succeeds causes it too segfaults everytime though.



running it under valgrind shows a few invalid reads of freed memory,
and one read of some random memory location, which seems to be the main issue.

 Invalid read of size 8
==14200== at 0xAADD40: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDEEF75: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDF57AF: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xE395A2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x9DA1F3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x51D48EB: interfacest::loop() (interface.cpp:863)
...
==14200== Address 0x2d446608 is 248 bytes inside a block of size 296 free'd
==14200== at 0x4C2C20A: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14200== by 0xDF7AC3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xE395A2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x9DA1F3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x51D48EB: interfacest::loop() (interface.cpp:863)
...
==14200== Block was alloc'd at
==14200== at 0x4C2B1EC: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14200== by 0xB313BF: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDE8BC2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDF2E5E: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xE395A2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x9DA1F3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x51D48EB: interfacest::loop() (interface.cpp:863)
...
==14200== Invalid read of size 4
==14200== at 0xDEEEF8: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDF57AF: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xE395A2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x9DA1F3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x51D48EB: interfacest::loop() (interface.cpp:863)
...
==14200== Address 0x2d446540 is 48 bytes inside a block of size 296 free'd
==14200== at 0x4C2C20A: operator delete(void*) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14200== by 0xDF7AC3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xE395A2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x9DA1F3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x51D48EB: interfacest::loop() (interface.cpp:863)
...
==14200== Block was alloc'd at
==14200== at 0x4C2B1EC: operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14200== by 0xB313BF: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDE8BC2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDF2E5E: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xE395A2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x9DA1F3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x51D48EB: interfacest::loop() (interface.cpp:863)
...
==14200== Invalid read of size 8
==14200== at 0xAADD6B: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDEEF75: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xDF57AF: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0xE395A2: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x9DA1F3: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)
==14200== by 0x51D48EB: interfacest::loop() (interface.cpp:863)
...
==14200== Address 0x1000000000032 is not stack'd, malloc'd or (recently) free'd
==14200==
==14200==
==14200== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==14200== at 0x608D02D: raise (in /usr/lib/libc-2.24.so)
==14200== by 0x608D0AF: ??? (in /usr/lib/libc-2.24.so)
==14200== by 0xAADD6A: ??? (in /opt/dwarffortress/libs/Dwarf_Fortress)

Add Note

Note

Issue History

Date Modified Username Field Change
2017-03-08 15:37 l1475863 New Issue
2017-03-09 05:29 Loci Note Added: 0036308
2017-03-09 11:05 l1475863 Note Added: 0036309