View Issue Details

IDProjectCategoryLast Update
0012785Bionic DuesCrash/ExceptionOct 1, 2013 3:17 am
Reporterwindgen Assigned Tokeith.lamothe  
Status resolvedResolutionfixed 
Product Version0.927 
Fixed in Version0.928 
Summary0012785: Hacking terminal causes a number of warnings in ArcenDebugLog
DescriptionHacking a terminal (Hacked terminal effect: Destroys all traps in sensor range
) caused a bunch of warnings to show on the console and in ArcenDebugLog.

I didn't save earlier in the mission so I can't trigger it again, but attached is a save immediately afterwards.

Mapgen: Mission_Hacker 204924527 10/01/2013 05:18:55
Warning! FillWorkingTilesInRange called when WorkingTilesInRange already not empty! Previous Usage was Tile_PerformLogicOnEachTileInFlood, new usage is UpdateScouting

   at System.Environment.get_StackTrace()
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity)
   at World.FillWorkingTilesInRange(.GameEntity Entity, .WorldMapTile OriginTile, Boolean IsForAI, Int32 Range, Boolean ConsiderAlliedUnitsBlocking, Boolean ConsiderEnemyUnitsBlocking, Boolean IsForSensorScan, .WorldMapTile StopOnceThisTargetReached, WorkingTilesInRangeUsage Usage)
   at World.UpdateScouting(Boolean IsForAI)
   at ActionReplay.SwitchTileType(.WorldMapTile TargetTile, WorldMapTileType TypeToChangeTo, .GameEntity EntityCausingSwitch, FactionOwnership Ownership, Boolean IsForAI, Boolean DoDeathSound, FactionOwnership SpecialKillerOwnership, GameEntityType SpecialKillerEntityType, Boolean IsFromParentTile, Boolean IsFromTerminalHackEffect, .MersenneTwister Random)
   at ActionReplay.FloorIt(.GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random, .WorldMapTile tile, Boolean IsFromTerminalHackEffect)
   at ActionReplay+<>c__DisplayClasse.<ExecutePotionConsequence>b__2(.WorldMapTile tile)
   at AIMutableMapTileData.PerformLogicOnEachTileInFlood(Int32 Range, .ProcessTileDelegate LogicToPerformOnEachTile)
   at ActionReplay.ExecutePotionConsequence(PotionConsequenceType Consequence, .WorldMapTile TerminalTile, .GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random)
   at ActionReplay.HelperDoActualHackLogic(Boolean IsForAI, .AIMutableGameEntityData actingEntityData, .AIMutableMapTileData targetTileData, .MersenneTwister random)
   at ActionReplay.Execute(Boolean IsForAI, Boolean ExecuteImmediately)
   at World.ProcessSimStepOnPrimaryMachineOnly()
   at Game.ProcessSimStep()
   at ArcenMainCameraImplementations.MainUpdateLogic()
   at MainCameraLogic.Update()

10/01/2013 05:18:55
Warning! FillWorkingTilesInRange called without the last usage (Tile_PerformLogicOnEachTileInFlood) being released!

   at System.Environment.get_StackTrace()
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity)
   at World.FillWorkingTilesInRange(.GameEntity Entity, .WorldMapTile OriginTile, Boolean IsForAI, Int32 Range, Boolean ConsiderAlliedUnitsBlocking, Boolean ConsiderEnemyUnitsBlocking, Boolean IsForSensorScan, .WorldMapTile StopOnceThisTargetReached, WorkingTilesInRangeUsage Usage)
   at World.UpdateScouting(Boolean IsForAI)
   at ActionReplay.SwitchTileType(.WorldMapTile TargetTile, WorldMapTileType TypeToChangeTo, .GameEntity EntityCausingSwitch, FactionOwnership Ownership, Boolean IsForAI, Boolean DoDeathSound, FactionOwnership SpecialKillerOwnership, GameEntityType SpecialKillerEntityType, Boolean IsFromParentTile, Boolean IsFromTerminalHackEffect, .MersenneTwister Random)
   at ActionReplay.FloorIt(.GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random, .WorldMapTile tile, Boolean IsFromTerminalHackEffect)
   at ActionReplay+<>c__DisplayClasse.<ExecutePotionConsequence>b__2(.WorldMapTile tile)
   at AIMutableMapTileData.PerformLogicOnEachTileInFlood(Int32 Range, .ProcessTileDelegate LogicToPerformOnEachTile)
   at ActionReplay.ExecutePotionConsequence(PotionConsequenceType Consequence, .WorldMapTile TerminalTile, .GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random)
   at ActionReplay.HelperDoActualHackLogic(Boolean IsForAI, .AIMutableGameEntityData actingEntityData, .AIMutableMapTileData targetTileData, .MersenneTwister random)
   at ActionReplay.Execute(Boolean IsForAI, Boolean ExecuteImmediately)
   at World.ProcessSimStepOnPrimaryMachineOnly()
   at Game.ProcessSimStep()
   at ArcenMainCameraImplementations.MainUpdateLogic()
   at MainCameraLogic.Update()

10/01/2013 05:18:55
Warning! ReleaseWorkingTilesResult called by Usage Tile_PerformLogicOnEachTileInFlood when current usage was None!

   at System.Environment.get_StackTrace()
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity)
   at World.ReleaseWorkingTilesResult(WorkingTilesInRangeUsage Usage)
   at AIMutableMapTileData.PerformLogicOnEachTileInFlood(Int32 Range, .ProcessTileDelegate LogicToPerformOnEachTile)
   at ActionReplay.ExecutePotionConsequence(PotionConsequenceType Consequence, .WorldMapTile TerminalTile, .GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random)
   at ActionReplay.HelperDoActualHackLogic(Boolean IsForAI, .AIMutableGameEntityData actingEntityData, .AIMutableMapTileData targetTileData, .MersenneTwister random)
   at ActionReplay.Execute(Boolean IsForAI, Boolean ExecuteImmediately)
   at World.ProcessSimStepOnPrimaryMachineOnly()
   at Game.ProcessSimStep()
   at ArcenMainCameraImplementations.MainUpdateLogic()
   at MainCameraLogic.Update()

10/01/2013 05:18:55
Warning! FillWorkingTilesInRange called when WorkingTilesInRange already not empty! Previous Usage was Tile_PerformLogicOnEachTileInFlood, new usage is UpdateScouting

   at System.Environment.get_StackTrace()
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity)
   at World.FillWorkingTilesInRange(.GameEntity Entity, .WorldMapTile OriginTile, Boolean IsForAI, Int32 Range, Boolean ConsiderAlliedUnitsBlocking, Boolean ConsiderEnemyUnitsBlocking, Boolean IsForSensorScan, .WorldMapTile StopOnceThisTargetReached, WorkingTilesInRangeUsage Usage)
   at World.UpdateScouting(Boolean IsForAI)
   at ActionReplay.SwitchTileType(.WorldMapTile TargetTile, WorldMapTileType TypeToChangeTo, .GameEntity EntityCausingSwitch, FactionOwnership Ownership, Boolean IsForAI, Boolean DoDeathSound, FactionOwnership SpecialKillerOwnership, GameEntityType SpecialKillerEntityType, Boolean IsFromParentTile, Boolean IsFromTerminalHackEffect, .MersenneTwister Random)
   at ActionReplay.FloorIt(.GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random, .WorldMapTile tile, Boolean IsFromTerminalHackEffect)
   at ActionReplay+<>c__DisplayClasse.<ExecutePotionConsequence>b__2(.WorldMapTile tile)
   at AIMutableMapTileData.PerformLogicOnEachTileInFlood(Int32 Range, .ProcessTileDelegate LogicToPerformOnEachTile)
   at ActionReplay.ExecutePotionConsequence(PotionConsequenceType Consequence, .WorldMapTile TerminalTile, .GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random)
   at ActionReplay.HelperDoActualHackLogic(Boolean IsForAI, .AIMutableGameEntityData actingEntityData, .AIMutableMapTileData targetTileData, .MersenneTwister random)
   at ActionReplay.Execute(Boolean IsForAI, Boolean ExecuteImmediately)
   at World.ContinuePlayBackOfCurrentActionReplayEntity()
   at Game.ProcessSimStep()
   at ArcenMainCameraImplementations.MainUpdateLogic()
   at MainCameraLogic.Update()

10/01/2013 05:18:55
Warning! FillWorkingTilesInRange called without the last usage (Tile_PerformLogicOnEachTileInFlood) being released!

   at System.Environment.get_StackTrace()
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity)
   at World.FillWorkingTilesInRange(.GameEntity Entity, .WorldMapTile OriginTile, Boolean IsForAI, Int32 Range, Boolean ConsiderAlliedUnitsBlocking, Boolean ConsiderEnemyUnitsBlocking, Boolean IsForSensorScan, .WorldMapTile StopOnceThisTargetReached, WorkingTilesInRangeUsage Usage)
   at World.UpdateScouting(Boolean IsForAI)
   at ActionReplay.SwitchTileType(.WorldMapTile TargetTile, WorldMapTileType TypeToChangeTo, .GameEntity EntityCausingSwitch, FactionOwnership Ownership, Boolean IsForAI, Boolean DoDeathSound, FactionOwnership SpecialKillerOwnership, GameEntityType SpecialKillerEntityType, Boolean IsFromParentTile, Boolean IsFromTerminalHackEffect, .MersenneTwister Random)
   at ActionReplay.FloorIt(.GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random, .WorldMapTile tile, Boolean IsFromTerminalHackEffect)
   at ActionReplay+<>c__DisplayClasse.<ExecutePotionConsequence>b__2(.WorldMapTile tile)
   at AIMutableMapTileData.PerformLogicOnEachTileInFlood(Int32 Range, .ProcessTileDelegate LogicToPerformOnEachTile)
   at ActionReplay.ExecutePotionConsequence(PotionConsequenceType Consequence, .WorldMapTile TerminalTile, .GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random)
   at ActionReplay.HelperDoActualHackLogic(Boolean IsForAI, .AIMutableGameEntityData actingEntityData, .AIMutableMapTileData targetTileData, .MersenneTwister random)
   at ActionReplay.Execute(Boolean IsForAI, Boolean ExecuteImmediately)
   at World.ContinuePlayBackOfCurrentActionReplayEntity()
   at Game.ProcessSimStep()
   at ArcenMainCameraImplementations.MainUpdateLogic()
   at MainCameraLogic.Update()

10/01/2013 05:18:55
Warning! ReleaseWorkingTilesResult called by Usage Tile_PerformLogicOnEachTileInFlood when current usage was None!

   at System.Environment.get_StackTrace()
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Boolean IncludeStackTrace, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, DebugLogDestination Destination, Verbosity Verbosity)
   at ArcenDebugging.ArcenDebugLog(System.String Message, Verbosity Verbosity)
   at World.ReleaseWorkingTilesResult(WorkingTilesInRangeUsage Usage)
   at AIMutableMapTileData.PerformLogicOnEachTileInFlood(Int32 Range, .ProcessTileDelegate LogicToPerformOnEachTile)
   at ActionReplay.ExecutePotionConsequence(PotionConsequenceType Consequence, .WorldMapTile TerminalTile, .GameEntity HackingEntity, Boolean IsForAI, .MersenneTwister Random)
   at ActionReplay.HelperDoActualHackLogic(Boolean IsForAI, .AIMutableGameEntityData actingEntityData, .AIMutableMapTileData targetTileData, .MersenneTwister random)
   at ActionReplay.Execute(Boolean IsForAI, Boolean ExecuteImmediately)
   at World.ContinuePlayBackOfCurrentActionReplayEntity()
   at Game.ProcessSimStep()
   at ArcenMainCameraImplementations.MainUpdateLogic()
   at MainCameraLogic.Update()
TagsNo tags attached.
Internal WeightNew

Activities

windgen

Oct 1, 2013 1:25 am

reporter  

bug12785.save (87,544 bytes)

keith.lamothe

Oct 1, 2013 1:44 am

administrator   ~0034344

Awesome! Thanks for finding and reporting that, it's a big help in finding such conflicts. For 0.928:

* Fixed a bug where the "Destroy All Traps In Sensor Range" potion terminal effect (and possibly some others) was using a shared tile list but also doing the fog-of-war-update routine inside (which also uses the shared tile list). Now it uses a dedicated list to avoid stomping the shared resource.

windgen

Oct 1, 2013 3:17 am

reporter  

bug12785b.save (95,505 bytes)

windgen

Oct 1, 2013 3:17 am

reporter   ~0034359

You've already fixed it for 0.928, but for posterity (and regression testing?) I'm attaching a save slot that can trigger this in 0.927.

Issue History

Date Modified Username Field Change
Oct 1, 2013 1:23 am windgen New Issue
Oct 1, 2013 1:24 am windgen Summary A number of warnings in ArcenDebugLog => Hacking terminal causes a number of warnings in ArcenDebugLog
Oct 1, 2013 1:24 am windgen Description Updated
Oct 1, 2013 1:25 am windgen File Added: bug12785.save
Oct 1, 2013 1:44 am keith.lamothe Internal Weight => New
Oct 1, 2013 1:44 am keith.lamothe Note Added: 0034344
Oct 1, 2013 1:44 am keith.lamothe Status new => resolved
Oct 1, 2013 1:44 am keith.lamothe Fixed in Version => 0.928
Oct 1, 2013 1:44 am keith.lamothe Resolution open => fixed
Oct 1, 2013 1:44 am keith.lamothe Assigned To => keith.lamothe
Oct 1, 2013 3:17 am windgen File Added: bug12785b.save
Oct 1, 2013 3:17 am windgen Note Added: 0034359
Apr 14, 2014 9:28 am Chris_McElligottPark Category Bug - Crash or Exception => Crash/Exception