View Issue Details

IDProjectCategoryLast Update
0022689AI War 2Bug - GameplayJan 23, 2020 12:23 pm
ReporterZeusAlmighty Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version1.308 Mega Performance 
Fixed in Version1.309 Instigator Cheekiness 
Summary0022689: Bug report -- unfamiliar exception
DescriptionBadger says this is a new bug so posting the debug log and the save immediately after
TagsNo tags attached.

Activities

ZeusAlmighty

Jan 23, 2020 12:02 am

manager  

ArcenDebugLog.txt (805,389 bytes)
post exception.save (607,389 bytes)

BadgerBadger

Jan 23, 2020 12:13 am

manager   ~0055731

Called AI Sentinels_execCont_607 pathfinder from two different contexts! First was executionContext, new one is specialFactionContext_22_AI

Chris_McElligottPark

Jan 23, 2020 12:23 pm

administrator   ~0055749

Thanks!

* Fixed the "Called AI Sentinels_execCont_607 pathfinder from two different contexts! First was executionContext, new one is specialFactionContext_22_AI" error, and probably all related errors.
** The correct pathfinder to use for a faction is now centrally calculated from a method called GetPathfindersOfRelevanceFromContext, and there are now many more pathfinder instances possible to have on a faction instance to avoid the potential case where factions need to pathfind out of cases we were expecting.
*** If pathfinding is done by Faction.FindPath in a generalized sense from certain types of threads (anything other than the main, execution context, or background faction planning threads), then honestly it will probably wind up with an exception and the programmer in question needs to instantiate their own custom pathfinder instance for whatever it is they have in mind.
** As it stands, it's now lazy-instantiating all these new possible pathfinding contexts per thread type per faction, since a lot of factions do next to no pathfinding and all of them only use some of the thread cases.
*** This helps to avoid memory over-usage (even though that would still be minor in the grand scheme), and makes instantiating faction external data slightly faster than it was in the past and would have become in the future.

* Also put in a count of pathfinders created in total, and discovered that we were creating and discarding a pathfinder or two every second or so. This was a minor performance drain and is now fixed.
** You will notice that the number of pathfinders goes up over time early in a new game because of the lazy-creation of them as factions need them, and that's normal (even some getting added hours after starting is normal, if a faction enters a new mode for the first time). Exiting one game and creating another will also cause more to get created. But there shouldn't be a runaway growth of them indefinitely.

Issue History

Date Modified Username Field Change
Jan 23, 2020 12:02 am ZeusAlmighty New Issue
Jan 23, 2020 12:02 am ZeusAlmighty File Added: ArcenDebugLog.txt
Jan 23, 2020 12:02 am ZeusAlmighty File Added: post exception.save
Jan 23, 2020 12:13 am BadgerBadger Note Added: 0055731
Jan 23, 2020 10:05 am Chris_McElligottPark Assigned To => Chris_McElligottPark
Jan 23, 2020 10:05 am Chris_McElligottPark Status new => assigned
Jan 23, 2020 12:23 pm Chris_McElligottPark Status assigned => resolved
Jan 23, 2020 12:23 pm Chris_McElligottPark Resolution open => fixed
Jan 23, 2020 12:23 pm Chris_McElligottPark Fixed in Version => 1.309 Instigator Cheekiness
Jan 23, 2020 12:23 pm Chris_McElligottPark Note Added: 0055749