You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Originally thought to be an artifact of a too-large game in #12971, crash manager on the PC reveals a techmanager recursion loop leading to a crash.
On Android, the app would simply silently fail back to the home screen without crash manager triggering. The inference of just being too big of a game could be a red herring and might be correctable.
Steps to Reproduce
Load the savegame
Hit Next Turn
Wait about 30 seconds
Screenshots
Text copy screenshot:
Platform: Desktop Version: 4.15.16 (Build 1,109) Rulesets: [Policy mod, Civ V - Vanilla, No Fog Of War, Resource Recyclers, Nextgen Maps, Raze anything, All units can be automated, NextgenMaps Labs, AFX, UltimaV tileset, Civ V - Gods & Kings, Z2, Antiyoy maps] Last Screen:com.unciv.ui.screens.worldscreen.WorldScreen
OS: Windows 10
Windows 10 Pro Version 22H2 (Build 19045)
Java: Oracle Corporation 20.0.1+9-29
Max Memory: 4056 MB
System default encoding: UTF-8
Message:
java.lang.StackOverflowError stack trace
java.lang.StackOverflowError
at kotlin.sequences.TransformingSequence$iterator$1.<init>(Sequences.kt:208)
at kotlin.sequences.TransformingSequence.iterator(Sequences.kt:207)
at com.unciv.logic.civilization.managers.TechManager.updateEra(TechManager.kt:609)
at com.unciv.logic.civilization.managers.TechManager.moveToNewEra(TechManager.kt:422)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:309)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
at com.unciv.logic.civilization.managers.TechManager.updateResearchProgress(TechManager.kt:287)
at com.unciv.logic.civilization.managers.TechManager.addTechnology(TechManager.kt:353)
at com.unciv.logic.civilization.managers.TechManager.addTechnology$default(TechManager.kt:296)
at com.unciv.logic.civilization.managers.TechManager.addScience(TechManager.kt:273)
...truncated...
I'm going to try using devcon to delete a city or three owned by the massive major civ here The Huns to attempt reducing tech assessments if that's the issue. Based on the stack trace, I'm thinking unciv is choking on too many considerations of tech, imo likely from the sheer volume of cities creating a flood of point values to assimilate.
Other thoughts:
Something seems off, in the context that in Future Era, the final era of G&K as a ruleset mod, has so much consideration towards point calculations that might otherwise be cached - but not just cached per city, cached against the civ. It would seem a waste of memory to create memory structures to process tech points when science doesn't even matter. There are obviously edge cases where science could be converted to gold for instance, or land that produces science is altered as another example, but pending no alteration no reassessment is needed.
I'd go so far as to consider a replication of standard data practices like when a text file is opened, once an addition/edit occurs, the file is flagged modified and triggers like exiting without saving are incurred. In the save file here, there are dozens of cities with not so much as units crossing a tile to instiate a change event. Sure a comprehensive iterative assessment for each cities' contributing points value is safe, however, why keep checking the room with one door in a monitored hallway?
Anyway maybe the above contributes a new idea towards a potential new performance opportunity.
The text was updated successfully, but these errors were encountered:
I ended up deleting the entire southern mainland continent's worth of Huns cities until the game no longer crashed. This doesn't make sense though, not for resolving some kind of capacity problem.
I also looked at the final deleted cities as candidates of being a bug source. Various deletions and patterns of deletion yielded only that deleting roughly the same amount of pop's worth of cities freed up whatever is choking. So....... does it remain a too-big problem that can't be reasonably solved due to memory constraints, or, is the techmanager [thingy] tripping up when it should be functioning? /suspenseful music
Is there an existing issue for this?
Game Version
4.15.16
Describe the bug
Originally thought to be an artifact of a too-large game in #12971, crash manager on the PC reveals a techmanager recursion loop leading to a crash.
On Android, the app would simply silently fail back to the home screen without crash manager triggering. The inference of just being too big of a game could be a red herring and might be correctable.
Steps to Reproduce
Screenshots
Text copy screenshot:
Platform: Desktop
Version: 4.15.16 (Build 1,109)
Rulesets: [Policy mod, Civ V - Vanilla, No Fog Of War, Resource Recyclers, Nextgen Maps, Raze anything, All units can be automated, NextgenMaps Labs, AFX, UltimaV tileset, Civ V - Gods & Kings, Z2, Antiyoy maps]
Last Screen:
com.unciv.ui.screens.worldscreen.WorldScreen
OS: Windows 10
Windows 10 Pro Version 22H2 (Build 19045)
Java: Oracle Corporation 20.0.1+9-29
Max Memory: 4056 MB
System default encoding: UTF-8
Message:
java.lang.StackOverflowError stack trace
Save Mods:
Permanent audiovisual Mods:
Link to save file
Via google drive:
https://drive.google.com/file/d/1uksYBAFCZklZ1rP-0xAfx7VWGtJfhXXR/view?usp=drive_link
Korea - 678 turns pc
10.2MBOperating System
Android
Additional Information
I'm going to try using devcon to delete a city or three owned by the massive major civ here The Huns to attempt reducing tech assessments if that's the issue. Based on the stack trace, I'm thinking unciv is choking on too many considerations of tech, imo likely from the sheer volume of cities creating a flood of point values to assimilate.
Other thoughts:
Something seems off, in the context that in Future Era, the final era of G&K as a ruleset mod, has so much consideration towards point calculations that might otherwise be cached - but not just cached per city, cached against the civ. It would seem a waste of memory to create memory structures to process tech points when science doesn't even matter. There are obviously edge cases where science could be converted to gold for instance, or land that produces science is altered as another example, but pending no alteration no reassessment is needed.
I'd go so far as to consider a replication of standard data practices like when a text file is opened, once an addition/edit occurs, the file is flagged modified and triggers like exiting without saving are incurred. In the save file here, there are dozens of cities with not so much as units crossing a tile to instiate a change event. Sure a comprehensive iterative assessment for each cities' contributing points value is safe, however, why keep checking the room with one door in a monitored hallway?
Anyway maybe the above contributes a new idea towards a potential new performance opportunity.
The text was updated successfully, but these errors were encountered: