• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Autolykos

First Lieutenant
71 Badges
Oct 21, 2010
206
8
  • Arsenal of Democracy
  • Sword of the Stars
  • Magicka
  • Heir to the Throne
  • Divine Wind
  • Europa Universalis III Complete
  • A Game of Dwarves
  • Darkest Hour
  • Cities: Skylines - Mass Transit
  • BATTLETECH
  • Victoria 2
  • War of the Roses
  • 500k Club
  • Cities: Skylines - Green Cities
  • Hearts of Iron IV: Death or Dishonor
  • Mount & Blade: With Fire and Sword
  • Pillars of Eternity
  • Prison Architect
  • Europa Universalis IV: Common Sense
  • Cities: Skylines - After Dark
  • Cities: Skylines - Snowfall
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Surviving Mars
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Stellaris: Humanoids Species Pack
  • Cities: Skylines Industries
  • Cities: Skylines - Parklife
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH: Season pass
  • Cities: Skylines - Parklife Pre-Order
  • Teleglitch: Die More Edition
  • BATTLETECH: Flashpoint
  • Surviving Mars: First Colony Edition
  • Europa Universalis III Complete
  • Hearts of Iron IV: Expansion Pass
  • BATTLETECH: Heavy Metal
  • Cities: Skylines - Campus
  • Europa Universalis III Complete
  • Surviving Mars: First Colony Edition
  • BATTLETECH - Digital Deluxe Edition
  • For the Motherland
  • Europa Universalis IV: Art of War
  • Europa Universalis IV
  • Semper Fi
Probably most modders have made changes that result in CTDs now and then. Tracking those down can be a pain, especially if it has to be done by trial and error. So I suggest we start a collection of what may cause unpredictable crashes so we don't have to make the same mistakes again and again. Preferably those without error message, since they are the hardest to track down.

Crash at loading the game:
- empty line in the middle of any /config/*.csv

Crash at loading scenario:
- locked naval or air units

Freeze at loading scenario:
- missing } in any country.inc file

Crash during play:
- Multiple countries sharing the same group of unit type, as in "id = { type = X id = Y }"
- Using the "ai_prepare_war" event command on a nation that's already at war or preparing for one

EDITS: I'll maintain the list whenever I get here. See the thread below for credits or details of disputed causes.
 
Last edited:
Crash during play:
- Police brigade attached to anything but GAR (?)
I've played many games where there's at least one infantry-police division (Slovakia) without a crash.
 
I'm not 100% sure about it (that's why I put a question mark there), but I modded in a few MIL-POL units, and if one of the countries owning one gets attacked, the game is very likely to crash soon. It may have other reasons, though - maybe I should experiment a little.
 
Autolykos said:
Disputed:
- Police brigade attached to anything but GAR involved in fighting.
i gave JAP some MIL-POL and have played a few years with that. never had problems.
 
On multi-player I (and others) have experienced an error screen saying something like "transport = 0 error", I don't know if it's triggered by the creation of a transport ship, the use of one or one being deployed. But sometimes clicking ignore works, sometimes it crashes the game. But this might be covered when you say "Multiple countries sharing the same group of unit type".
 
The id-type related crashes are usually without error message (unless they also have the same id). Happened to me because I just cut-pasted the British units in India to the india.inc in my scenario without changing type to a different group. I've always assumed the original scenarios to be "clean" in this regard, but I never checked. They are definitely a mess, with some countries using multiple id-types (which is probably fine, but confusing), or even different ones in the '36 and '39 scenarios for the same unit (!).

EDIT: I have a new theory regarding the POL-crashes: It has probably nothing to do with the Police Brigade directly; the countries I gave the MIL-POL to were all about to get steamrolled by the Soviets. The initial assaults will occasionally result in crashes, no matter what units they have.
Wild speculation: It may happen sometimes when a ghost army is formed. Not always, but the garbled characters displayed instead of a name indicate there's a wild pointer involved somewhere, and if it points (and possibly writes) at the wrong place, a crash is bound to happen.
The POL brigade on a MIL unit just makes the formation of ghost armies more likely as it increases ORG, and thus combat duration, increasing the chance that the unit loses all its Strength in one combat. Using Garrisons instead solves the problem, as Garrisons can't become ghost armies.
Proposed Test: Mod a unit with huge ORG and poor combat stats, get it involved in battles against large tank armies and see how much crashes that causes. Will probably do that when I have the time.
 
Last edited:
Further testing (upgrading the units involved, trying different types) indicates that ghost armies are
a) less likely to cause crashes than I suspected
b) not the (only) cause of the crashes I experienced in the scenario above
The crashes also won't happen for a human-controlled USSR. So the next cause I'm checking is using the "ai_prepare_war" command in too rapid succession (I just replaced them with the "war" command). First try went over without crash so far; I'll keep you updated when I have more data.
 
Okay, I'm pretty sure gratuitous use of "ai_prepare_war" is to blame for the crashes. Adding an event like this:
Code:
event = {
	id = 910320
	random = no 
	country = PAN
	persistent = yes
	
	trigger = {
		ai = yes
	}

	name = "AI_EVENT"
	style = 0	
	
	date = { day = 1 month = january year = 1936 }
	offset = 1
	deathdate = { day = 30 month = december year = 1999 }

	action_a = {
		command = { type = ai_prepare_war which = COS }
	}
}
Will reliably crash the game after a few days.