View Issue Details

IDProjectCategoryView StatusLast Update
0006941Dwarf FortressWorld Generation -- Generalpublic2020-03-01 20:30
Reporterindigofenix Assigned ToToady One  
PrioritynormalSeveritycrashReproducibilityalways
Status resolvedResolutionfixed 
Product Version0.40.01 
Fixed in Version0.47.05 
Summary0006941: DEFAULT_TYPE:DARK_FORTRESS incompatible with some POSITION tokens (modding)
DescriptionIf any civ has both DEFAULT_TYPE:DARK_FORTRESS and any POSITION in its entity definition, worldgen crashes immediately after placing civs.
Steps To ReproduceMod any civ to have both DEFAULT_TYPE:DARK_FORTRESS and a POSITION. Making dwarves build dark fortresses, for instance.
Additional InformationThe position tokens identified to cause the crash are CHAT_WORTHY on any position other than the leader, and civ-wide RESPONSIBILITY:LAW_MAKING on any position other than the leader (SITE positions can have the responsibility without causing the crash).
Tags0.40.24, 0.43.05, Intentional/Expected?

Relationships

has duplicate 0008365 resolveduser1294 Chat worthy nobles defined in a Dark Fortress Civilization crashes the game on World Gen 
has duplicate 0010328 resolvedLoci DEFAULT_TYPE:DARK_FORTRESS causes worldgen crashes when any position has CHAT_WORTHY 

Activities

indigofenix

2014-07-14 14:21

reporter   ~0026363

Clarified further: it is actually the [CHAT_WORTHY] token. If any position aside from the main law-giver is CHAT_WORTHY in a dark fortress civ, the game crashes immediately in worldgen. Presumably there is some kind of conflict with the demon system, but I don't know how CHAT_WORTHY affects worldgen so I couldn't say how.

user1294

2014-08-17 02:38

  ~0029163

There's more to the crash - having multiple civ-level positions with RESPONSIBILITY:LAW_MAKING also causes the crash. There might be more, but I kind of doubt it.

KingMurdoc

2015-08-19 18:30

reporter   ~0032972

This bug is still very much present in 40.24; Dwarf Fortress segfaults and dies after rejecting 0-2 worlds during/immediately after civ placement (the crash has the same timing.)

MachinaMandala

2017-11-16 03:58

reporter   ~0036878

Still exists in 0.43.05, but only for [CHAT_WORTHY] positions. The creation of other positions doesn't cause the crash.

Testing was done thusly:

(CRASH) Added in noble positions from dwarves.
(CRASH) When removed the landholder positions, but leaving in some CHAT_WORTHY ones.
(WORKS) When removed all chat worthy positions completely.
(WORKS) When all nobles are removed from goblins and VARIABLE_POSITIONS etc is added to dwarves (ensuring that it is not a matter of this causing the crash).
(WORKS) When dwarven nobles are added to goblins with CHAT_WORTHY removed but variable positions are still on.
(WORKS) When the variable positions are completely removed from goblins from 5 above.

This tells me that the CHAT_WORTHY is definitely causing the crash, not the inclusion of other positions. However, CHAT_WORTHY is the only thing that causes the position to be tracked in world gen, meaning that any positions without it are only created at the end of worldgen.

However, what is to be noted is that even after variable positions are removed, the demons still create their own positions when they rule the goblin civ. It's a hard coded behaviour so I doubt it's solveable through modding.

FantasticDorf

2017-11-16 05:38

reporter   ~0036879

From my own experience modding dark tower sites i can back up the claim that chat_worthy particularly causes crashes when assigned to trying to replace /supplant the goblin general with a static position possibly taken from dwarven RAW's since they are pretty much the same.

Demons (or the prefixed position they fill as a citizen/goblin can fill it in later) are a prefixed [MONARCH] *specifically named* position, which can be seen by causing new site only custom goblin positions to be appointed by the [MONARCH].

However when [CHAT_WORTHY] is added to a new modded subordinate to a variable position via [APPOINTED_BY:GENERAL] (also the same hardcoded name via variable positions) like a lieutenant it does not cause a crash.

Issue History

Date Modified Username Field Change
2014-07-10 04:01 indigofenix New Issue
2014-07-10 07:04 user6 Tag Attached: Intentional/Expected?
2014-07-14 14:21 indigofenix Note Added: 0026363
2014-08-17 02:38 user1294 Note Added: 0029163
2014-08-17 02:48 user1294 Summary DEFAULT_TYPE:DARK_FORTRESS incompatible with any POSITIONs (modding) => DEFAULT_TYPE:DARK_FORTRESS incompatible with some POSITION tokens (modding)
2014-08-17 02:48 user1294 Additional Information Updated
2014-09-27 15:28 user1294 Relationship added has duplicate 0008365
2014-09-27 15:28 user1294 Assigned To => user1294
2014-09-27 15:28 user1294 Status new => confirmed
2015-08-19 18:28 KingMurdoc Tag Attached: 0.40.24
2015-08-19 18:30 KingMurdoc Note Added: 0032972
2017-11-16 03:58 MachinaMandala Note Added: 0036878
2017-11-16 03:59 MachinaMandala Tag Attached: 0.43.05
2017-11-16 05:38 FantasticDorf Note Added: 0036879
2017-11-16 13:32 Loci Relationship added has duplicate 0010328
2020-03-01 20:30 Toady One Status confirmed => resolved
2020-03-01 20:30 Toady One Fixed in Version => Next Version
2020-03-01 20:30 Toady One Resolution open => fixed
2020-03-01 20:30 Toady One Assigned To user1294 => Toady One