Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Techmanager recursion crash #13058

Open
1 task done
hackedpassword opened this issue Mar 11, 2025 · 1 comment
Open
1 task done

Techmanager recursion crash #13058

hackedpassword opened this issue Mar 11, 2025 · 1 comment
Labels

Comments

@hackedpassword
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

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

  1. Load the savegame
  2. Hit Next Turn
  3. 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...


Save Mods:

[Civ V - Gods & Kings, UltimaV tileset]

Permanent audiovisual Mods:

[5Hex Tileset, The-Great-Unciv-Rework atlas update]

Link to save file

Via google drive:
https://drive.google.com/file/d/1uksYBAFCZklZ1rP-0xAfx7VWGtJfhXXR/view?usp=drive_link
Korea - 678 turns pc 10.2MB

Operating 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.

@hackedpassword
Copy link
Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant