Europa Universalis IV

Europa Universalis IV

SuperStates Mod
KeoniPhoenix  [developer] Oct 23, 2014 @ 7:33am
Memory Leaks... or why your Save might be broken...
I finally identified why some people have save files that become corrupted. The game has a major memory leak. I loaded up a savefile that crashed upon loading in the lobby. And was given an important clue in the error.log immediately after:

[provincehistory.cpp:1522]: Unknown countrytag --- for add-Claim in 427 - Astarabad [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 437 - Kopet Dag [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 438 - Karakum [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 439 - Mangyshlak [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 440 - Qaraqalpak [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 441 - Khiva [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 442 - Bukhara [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 443 - Ustyurt [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 444 - Charjuy [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 445 - Merv [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 453 - Qarshi [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 455 - Kyzylkum [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 456 - Turkestan [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 457 - Tashkent [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 459 - Taraz [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 461 - Zhetysu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 464 - Astrakhan [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 465 - Nogay [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 470 - Bayuly [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 471 - Alimuly [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 472 - Zhetyru [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 474 - Yaik [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 476 - Kypshak [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 477 - Nadym [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 478 - Argyn [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 479 - Kerey [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 494 - St. Kitts [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 655 - Palawan [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 655 - Palawan [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 717 - Selenge [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 719 - Khangai [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 744 - Demerara [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 744 - Demerara [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 744 - Demerara [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 745 - Suriname [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 750 - Alpercatas [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 750 - Alpercatas [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 750 - Alpercatas [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 752 - Oeiras [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 752 - Oeiras [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 752 - Oeiras [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 774 - Mbaracayu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 775 - Xeres [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 781 - Patagonia Oriental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 782 - Tierra del Fuego [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 783 - Patagonia Occidental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 783 - Patagonia Occidental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 783 - Patagonia Occidental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 783 - Patagonia Occidental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 783 - Patagonia Occidental [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 784 - Huillimapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 784 - Huillimapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 784 - Huillimapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 784 - Huillimapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 785 - Pehuenmapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 785 - Pehuenmapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 785 - Pehuenmapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 785 - Pehuenmapu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 786 - Salinas Grande [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 788 - Cuyo [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 788 - Cuyo [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 788 - Cuyo [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 829 - Magdalena [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 830 - Maracaibo [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 832 - Chiancon [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 835 - Panama [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1066 - Altai [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1115 - Brakna [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1115 - Brakna [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1115 - Brakna [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1125 - Worodugu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1125 - Worodugu [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1140 - Abomey [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1180 - Xhosa [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1183 - Inhambane [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1194 - Boina [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1238 - Solomon Islands [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1965 - Buzuluk [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1967 - Khujand [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1969 - Sozak [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1970 - Syghnak [provincehistory.cpp:500]: Unknown countrytag for --- owner-change in 1973 - Urgench

Yes that is nation tag "---" owning practically all of Central Asia.

When I loaded it up into Clausewitz Scenario Editor I got a giant greyhole in the middle of Central Asia from unoccupied provinces. So empty that they lost their trade goods, that only happens when they have no population and in fact they don't!

Even the province history shows it:

-439={ history={ owner="NOG" controller={ controller="NOG" } culture=tartar religion=sunni capital="Mangyshlak" trade_goods=wool hre=no base_tax=2.000 manpower=1.000 citysize=1521.000 add_core="NOG" discovered_by="muslim" discovered_by="ottoman" discovered_by="eastern" discovered_by="nomad_group" fort1=yes 1448.8.17={ add_claim="QAR" } 1480.7.1={ remove_claim="QAR" } 1486.4.26={ controller={ controller="TIM" } } 1487.9.6={ controller={ controller="NOG" } } 1508.11.28={ controller={ controller="TIM" } } 1509.10.8={ controller={ controller="NOG" } } 1518.2.18={ religion=♥♥♥♥♥♥ } 1518.5.12={ controller={ controller="SHY" } } 1519.6.17={ controller={ controller="NOG" } } 1520.9.27={ religion=sunni } 1533.12.2={ add_core="SHY" } 1533.12.2={ controller={ controller="SHY" } } 1533.12.2={ owner="SHY" } 1533.12.2={ owner="---" } 1533.12.2={ controller={ controller="---" } } 1561.5.5={ temple=yes } { } 1614.2.10={ constable=yes } 1623.1.1={ advisor={ name="Vakkas Tegus-chi" type=inquisitor skill=2 location=439 date="1623.1.1" hire_date="1.1.1" death_date="9999.1.1" id={ id=28511 type=51 } } } 1624.3.4={ trade_goods=unknown } 1624.3.4={ remove_core="SHY" } }

Something happened in the game's RAM for this save file that borked the country tag SHY to become "---". The game continued to run as if it was working correctly, however that was during the time it was continously running as the game logic treated "---" as a valid country. The broken country went on for another 100 years seiging and winning across Cetral Asia until the player saved and stopped the game at 1637.

Unfortunatley if this happens to you, its easy to check by loading error.log immediately after EU4 crashes, something I beg you to do every single time as it can reveal important bugs to be reported for my mod and for the game itself. Do NOT run EU4 again until you've seen error.log to check for problems as error.log is rewritten every time you start EU4.

When this happens the last save before "---" nation appears is the only good save that can be salvaged once the game goes on conquering with "---" overwriting your autosaves its not salvagable and must be restarted. :-(

Prevention of this happening is to not play EU4 for extended periods, greater than a few hours, as once the bugged nation becomes established, it will quickly take over and ruin the autosaves that could have been used to salvage the save. I suggest always saving at periodic intervals with a regular save and as a seperate file. I prefer usingthe default system of using the nation name and the date, for example: Arizona1912_02_14.
Last edited by KeoniPhoenix; Oct 23, 2014 @ 7:41am