View Issue Details

IDProjectCategoryLast Update
0025444AI War 2Bug - OtherAug 2, 2021 4:24 pm
ReporterJohn Zebra Assigned ToChris_McElligottPark  
Severityminor 
Status resolvedResolutionfixed 
Product Version3.309 Hangar Staff 
Fixed in VersionBeta 3.501 Shot Compression And Bugsmashing 
Summary0025444: Minor MP errors
Description2 Player MP game started with ver 3.307 using distributed economy, am host. Just a few minor errors going on in the log.




This error occurred 7 times and forced a reload of the save only occurred on host.
______________________
7/24/2021 10:58:14 PM 3.309 HOST Tried to write Int32 NonNeg, but passed value was: -2147418046, which is out of range! Value set to 0 so your save would work. FieldNameForErrors: EnergyConsumption
  at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at Arcen.Universal.ArcenDebugging.ArcenLog_InnerOnMainThreadOnly (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity, System.DateTime Timestamp) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.ArcenSerializationBuffer.AddInt32 (Arcen.Universal.ReadStyle RStyle, System.Int32 Item, System.String FieldNameForErrors) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.AIW2.Core.Faction.SerializeTo (Arcen.Universal.ArcenSerializationBuffer Buffer, Arcen.Universal.SerializationCommandType SerializationCmdType, System.Boolean IsForLastSettings) [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at AIWar2NetworkSync+<>c__DisplayClass132_0.<Server_SendPeriodicFactionBasicSyncDataThatJustOverrides>b__0 (Arcen.AIW2.Core.Faction fac) [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at Arcen.AIW2.Core.World_AIW2.DoForFactions (Arcen.AIW2.Core.Faction+ProcessorDelegate Processor) [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at AIWar2NetworkSync.Server_SendPeriodicFactionBasicSyncDataThatJustOverrides (System.Int32 clientsOfRelevance) [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at AIWar2NetworkSync.Server_SendBatchOfSyncsBasedOnCurrentSyncStage () [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at Arcen.AIW2.Core.AIWar2Networking.OnServer_CheckForSendingServerBatchMessageToClients () [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at Arcen.AIW2.External.SimPlannerImplementation.DoActualSimStep (System.Boolean& stalledWaitingOnConnections, System.Boolean& mayUpdateVisuals, System.String& reasonForNoVisualUpdates) [0x00000] in <408f273ce6e14939a78a836e9832f03e>:0
  at Arcen.AIW2.Core.Engine_AIW2.ProcessSimStep (System.Boolean& stalledWaitingOnConnections, System.String& reasonForNoVisualUpdates) [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at Arcen.Universal.Engine_Universal.OnUpdateFromMainThread () [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.AIW2.Core.ArcenGameControllerBase.BaseUpdate () [0x00000] in <38007ea4e51a4aa8bc7d70c70cfb1d93>:0
  at ArcenGameController.Update () [0x00000] in <eed7a050eb01410eafa08197b5389f7f>:0






An error that occurs on exit no effect on anything just on the log
__________________________________

7/25/2021 2:20:02 AM 3.309 HOST -----------
NullReferenceException: Object reference not set to an instance of an object
Stack Trace: UnityEngine.PostProcessing.EyeAdaptationComponent.get_active () (at <eed7a050eb01410eafa08197b5389f7f>:0)
UnityEngine.PostProcessing.PostProcessingBehaviour.OnGUI () (at <eed7a050eb01410eafa08197b5389f7f>:0)


  at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at Arcen.Universal.ArcenDebugging.ArcenLog_InnerOnMainThreadOnly (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity, System.DateTime Timestamp) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.Engine_Universal.LogWritten (System.String LogString, System.String StackTrace, UnityEngine.LogType Type, System.Exception Cause, System.Boolean CameFromUnity) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.Engine_Universal.LogWrittenFromUnity (System.String LogString, System.String StackTrace, UnityEngine.LogType Type) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at UnityEngine.Application.CallLogCallback (System.String logString, System.String stackTrace, UnityEngine.LogType type, System.Boolean invokedOnMainThread) [0x00000] in <12e76cd50cc64cf19e759e981cb725af>:0

7/25/2021 2:20:02 AM 3.309 HOST ErrorsReportedByEngine: -----------
NullReferenceException: Object reference not set to an instance of an object
Stack Trace: UnityEngine.PostProcessing.EyeAdaptationComponent.get_active () (at <eed7a050eb01410eafa08197b5389f7f>:0)
UnityEngine.PostProcessing.PostProcessingBehaviour.OnGUI () (at <eed7a050eb01410eafa08197b5389f7f>:0)


  at System.Environment.get_StackTrace () [0x00000] in <9577ac7a62ef43179789031239ba8798>:0
  at Arcen.Universal.ArcenDebugging.ArcenLog_InnerOnMainThreadOnly (System.String Message, Arcen.Universal.DebugLogDestination Destination, System.Boolean IncludeStackTrace, Arcen.Universal.Verbosity Verbosity, System.DateTime Timestamp) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.ArcenDebugging.ArcenDebugLog (System.String Message, Arcen.Universal.Verbosity Verbosity) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.Engine_Universal.WriteToErrorFile (System.String ErrorFile, System.String ErrorName, System.String ErrorText, System.Boolean SuppressArcenDebugLog) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.Engine_Universal.WriteToErrorFile (System.String ErrorFile, System.String ErrorName, System.String ErrorText) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.Engine_Universal.LogWritten (System.String LogString, System.String StackTrace, UnityEngine.LogType Type, System.Exception Cause, System.Boolean CameFromUnity) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at Arcen.Universal.Engine_Universal.LogWrittenFromUnity (System.String LogString, System.String StackTrace, UnityEngine.LogType Type) [0x00000] in <88e9d61a9487463786944c5fd3b595e5>:0
  at UnityEngine.Application.CallLogCallback (System.String logString, System.String stackTrace, UnityEngine.LogType type, System.Boolean invokedOnMainThread) [0x00000] in <12e76cd50cc64cf19e759e981cb725af>:0




Log spamming error
_________
7/24/2021 10:58:16 PM 3.309 HOST DELAYED3777: Astro Train Depot Event: Could not find faction for WardenFleet



This thing also
____________
7/24/2021 10:58:16 PM 3.309 HOST DELAYED3778: Potential bug: planet Pommel has no metal generators. This is unexpected












TagsNo tags attached.

Activities

John Zebra

Jul 25, 2021 3:59 pm

reporter  

ArcenDebugLog.txt (1,521,577 bytes)
aweae.save (2,216,504 bytes)
aweae.savemet (139 bytes)   
UK
442142918
77489
WWW
<color=#66ffce>Easier </color> Full Ensemble
Difficulty 7
1
<color=#318ce7>Nom</color>, <color=#fe001d>Bjorn</color>
aweae.savemet (139 bytes)   

John Zebra

Jul 25, 2021 4:18 pm

reporter   ~0062533

Also I don't know if this because I'm a beginner using distributed mining economy but on planet (or any captured planet) Butler which has 8 asteroid mining powerplants producing 440 metal/sec and 128000 energy + a tier 1 eco station giving 150 metal/sec and 300000 energy I should be getting 3670 metal/sec and 1324000 energy. Now clicking the energy production and consumption tab I do see Butler produces 1324000 energy, but after unpausing on the metal flows tab the metal income tab says only 1030 metal produced which seems off? Then going into the galaxy map and expanding tool-tips over Butler shows 1030 metal but only 556000 energy. In summery it feels energy produced is correct on the energy tab but metal produced is differing from the amount from asteroids but also shows up "right" on the galaxy map with tooltips expanded but doesn't seem like the right numbers?

Chris_McElligottPark

Aug 2, 2021 1:56 pm

administrator   ~0062548

Thanks! Item 1:

* Fixed several bugs that could randomly still happen during PostProcessingBehaviour.OnGUI(), particularly when shutting down the game or swapping modes. These were harmless and just took up log space.

Chris_McElligottPark

Aug 2, 2021 2:08 pm

administrator   ~0062549

Item 2:

* It's hard to say how or why this is able to ever happen, but it has been persistent, so we put in a safeguard for it.
** The maximum amount of energy able to be produced by a single producer is now 10 million. Even with the crazy spire units, those only produce something like 1-5 million each.
** In the even that we somehow have an integer overflow that leads to negative produced energy (not negative net energy, that's different!), then the game just now acts like you have 100 million energy.
*** This should at least keep games going, and let people give us savegames with repro cases versus them not being able to save properly.
** It is also worth noting that the "extra free energy production from older saves" now also corrects itself to never give negative energy (just in case), and will never give you more than 10 million energy (again just in case).

Chris_McElligottPark

Aug 2, 2021 3:12 pm

administrator   ~0062550

Item 3:

* The error "Astro Train Depot Event: Could not find faction for [X]" is no longer silent just to the log (it now pops up in front of you), and it is no longer allowed to repeatedly spam itself.
** Additionally, when the game is reset, astro trains now properly clean up at least the bulk of their data for being used again in the pool.

Chris_McElligottPark

Aug 2, 2021 3:20 pm

administrator   ~0062551

Item 4:

* The "Potential bug: planet [X] has no metal generators. This is unexpected" exception that could come up from the macrophage is now removed. It's entirely valid for planets to not have any metal generators. Usually because of something like the Zenith Miner. The macrophage will no longer give errors when they find something like that, but will instead just work around it.
** Additionally, kind of alongside this, a lot of the macrophage stuff is now properly cleaned up when it goes back to the pool.

Chris_McElligottPark

Aug 2, 2021 4:24 pm

administrator   ~0062552

Here's the last of them!

* All sorts of bonuses were not being properly counted in the per-planet metal incomes for units in the detail window for that. This was not a new bug, but is more evident recently.

* The energy and metal production amounts that are central were already double-buffered to keep away any UI flicker, but now so are the per-planet and per-fleet costs.

* The "EnergyConsumedPerFleet_ForUIOnly" is now only calculated for the local player, not for every faction, which is far more efficient. That's how the per-planet data was already calculated.
** Additionally, the way that this data is sorted is now substantially more efficient in really large games in particular.
*** Okay, wow, we found even more spots where this could be way more efficient, and fixed those also.

* Both ProtectedList<> and ProtectedArcenSparseLookup<> now support GetEnumerator(). This lets us run foreach on them like normal.

* A number of places in the interface have long been incorrectly noting values for energy or metal between one another, and this is all now fixed.
** We have renamed the central method GetResourceProduction() to instead be GetResourceProductionBeforeAnyBonuses().
** We have added a new GetFullyMultipliedMetalToProduce() for metal on entities, which gives the fully correct result that should always be used if this is actually a unit for a given planet.
** Same deal with a new GetFullyMultipliedEnergyToProduce().
** This has allowed us to correct the display of energy on the specific planet tooltips.
*** We are also using it to make the hunter fleet and a few others a bit more smart in terms of what they are after.
** This also let us remove some duplicate code (that was partially incorrect largely because it was duplicated) so that when you are hovering over an entity it will now definitely show you how much metal and energy it is producing, bonuses included.
*** On top of this, if you're in build mode at a planet, the amount of energy and metal production for the theoretical units now takes into account bonuses for the first time ever.
** The galaxy map display modes relating to energy and metal production also are now correct in terms of taking in the multipliers.


Thanks!

Issue History

Date Modified Username Field Change
Jul 25, 2021 3:59 pm John Zebra New Issue
Jul 25, 2021 3:59 pm John Zebra File Added: ArcenDebugLog.txt
Jul 25, 2021 3:59 pm John Zebra File Added: aweae.save
Jul 25, 2021 3:59 pm John Zebra File Added: aweae.savemet
Jul 25, 2021 4:18 pm John Zebra Note Added: 0062533
Aug 2, 2021 1:56 pm Chris_McElligottPark Note Added: 0062548
Aug 2, 2021 2:08 pm Chris_McElligottPark Note Added: 0062549
Aug 2, 2021 3:12 pm Chris_McElligottPark Note Added: 0062550
Aug 2, 2021 3:20 pm Chris_McElligottPark Note Added: 0062551
Aug 2, 2021 4:24 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Aug 2, 2021 4:24 pm Chris_McElligottPark Status new => resolved
Aug 2, 2021 4:24 pm Chris_McElligottPark Resolution open => fixed
Aug 2, 2021 4:24 pm Chris_McElligottPark Fixed in Version => Beta 3.501 Shot Compression And Bugsmashing
Aug 2, 2021 4:24 pm Chris_McElligottPark Note Added: 0062552