Closed jacksonqwest closed 1 year ago
Quick glance looks like another crash from not transferring capitals correctly, and it crashing from the AI not having a capital. Try updating to the latest version, that should've already been fixed
It does concern me that many of these reports are on 4.7.6 patch 2, and not patch 1 or base 4.7.6
Since the crashes can come later -much later- than the cause - maybe the cause happened when the players had pre-patch2?
Maybe, but I am aware from experience that some of these crashes (such as this one) should've happened basically immediately the next turn , especially considering Siam's war with Greece in this save
OK, I trust your experience... Plus, hasAtLeastMotivationToAttack line 842 is a if (getCapital != null) getCapital.getSomething
type of line - no wait that is #9709 , the previous line 842 was typically prone to no-capital. Which version would you need for 9709? 4.7.7!
Yeah, but #9709 primarily avoids crashes from no capital either by not doing the logic (#9743) or by using the first city as a replacement for whatever the capital was needed for. Which means any issues that started in 4.7.6 patch 1 or 2 aren't really fixed so much as they are invisible and non crashing
Hi, y'all. I'm on 4.7.9 and getting the same (?) error on "Next turn"
**Platform:** Android **Version:** 4.7.9 (Build 892) **Rulesets:** [Civ V - Vanilla, Civ V - Gods & Kings] **Last Screen:**
com.unciv.ui.screens.worldscreen.WorldScreen`
Device Model: XQ-CT72 API Level: 33
Message:
java.lang.NullPointerException
at com.unciv.logic.city.CityStats.getStatsFromTradeRoute(CityStats.kt:103)
at com.unciv.logic.city.CityStats.updateBaseStatList(CityStats.kt:460)
at com.unciv.logic.city.CityStats.update(CityStats.kt:499)
at com.unciv.logic.city.CityStats.update$default(CityStats.kt:491)
at com.unciv.logic.civilization.Civilization.updateStatsForNextTurn(Civilization.kt:380)
at com.unciv.logic.civilization.transients.CivInfoTransientCache.updateCivResources(CivInfoTransientCache.kt:331)
at com.unciv.logic.city.CityConstructions.removeBuilding(CityConstructions.kt:554)
at com.unciv.logic.civilization.Civilization.moveCapitalTo(Civilization.kt:823)
at com.unciv.logic.civilization.Civilization.moveCapitalToNextLargest(Civilization.kt:829)
at com.unciv.logic.city.managers.CityConquestFunctions.moveToCiv(CityConquestFunctions.kt:261)
at com.unciv.logic.city.City.moveToCiv(City.kt:508)
at com.unciv.logic.city.managers.CityConquestFunctions.conquerCity(CityConquestFunctions.kt:101)
at com.unciv.logic.city.managers.CityConquestFunctions.puppetCity(CityConquestFunctions.kt:134)
at com.unciv.logic.city.City.puppetCity(City.kt:501)
at com.unciv.logic.automation.civilization.NextTurnAutomation.onConquerCity(NextTurnAutomation.kt:1150)
at com.unciv.logic.battle.Battle.conquerCity(Battle.kt:621)
at com.unciv.logic.battle.Battle.attack(Battle.kt:151)
at com.unciv.logic.battle.Battle.attackOrNuke(Battle.kt:93)
at com.unciv.logic.battle.Battle.moveAndAttack(Battle.kt:48)
at com.unciv.logic.automation.unit.BattleHelper.tryAttackNearbyEnemy(BattleHelper.kt:30)
at com.unciv.logic.automation.unit.BattleHelper.tryAttackNearbyEnemy$default(BattleHelper.kt:16)
at com.unciv.logic.automation.unit.UnitAutomation.tryAttacking(UnitAutomation.kt:361)
at com.unciv.logic.automation.unit.UnitAutomation.automateUnitMoves(UnitAutomation.kt:200)
at com.unciv.logic.automation.civilization.NextTurnAutomation.automateUnits(NextTurnAutomation.kt:1007)
at com.unciv.logic.automation.civilization.NextTurnAutomation.automateCivMoves(NextTurnAutomation.kt:88)
at com.unciv.logic.civilization.managers.TurnManager.automateTurn(TurnManager.kt:326)
at com.unciv.logic.GameInfo.nextTurn(GameInfo.kt:376)
at com.unciv.ui.screens.worldscreen.WorldScreen$nextTurn$1.invokeSuspend(WorldScreen.kt:598)
at com.unciv.ui.screens.worldscreen.WorldScreen$nextTurn$1.invoke(Unknown Source:8)
at com.unciv.ui.screens.worldscreen.WorldScreen$nextTurn$1.invoke(Unknown Source:4)
at com.unciv.utils.ConcurrencyKt$launchCrashHandling$1.invokeSuspend(Concurrency.kt:87)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
at com.unciv.utils.CrashHandlingDispatcher$dispatch$1.invoke(Concurrency.kt:173)
at com.unciv.utils.CrashHandlingDispatcher$dispatch$1.invoke(Concurrency.kt:173)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandling$1.invoke(CrashHandlingExtensions.kt:17)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandlingUnit$1.invoke(CrashHandlingExtensions.kt:33)
at com.unciv.ui.crashhandling.CrashHandlingExtensionsKt$wrapCrashHandlingUnit$1.invoke(CrashHandlingExtensions.kt:33)
at com.unciv.utils.CrashHandlingDispatcher.dispatch$lambda$0(Concurrency.kt:173)
at com.unciv.utils.CrashHandlingDispatcher.$r8$lambda$GFMOlD6QMgmLfgwAvPAW33Ob6HE(Unknown Source:0)
at com.unciv.utils.CrashHandlingDispatcher$$ExternalSyntheticLambda0.run(Unknown Source:2)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
at java.lang.Thread.run(Thread.java:1012)
Save Mods:
[Civ V - Gods & Kings]
Save Data:
`
@LoneStarMac that's #9814. Should be fixed in 4.7.9-patch-1
@LoneStarMac that's #9814. Should be fixed in 4.7.9-patch-1
D'oh, sorry for the wrong issue. Thanks for the clarification!
Since solved :)
Platform: Android Version: 4.7.6-patch2 (Build 888) Rulesets: [Civ V - Vanilla, Civ V - Gods & Kings] Last Screen:
com.unciv.ui.screens.worldscreen.WorldScreen
Device Model: grunt API Level: 28
Message:
Save Mods:
Save Data:
unciv_bug_report_Ethiopia - 394 turns.txt