StrangeLoopGames / EcoIssues

131 stars 21 forks source link

Server crash, apparently realted to work party (contracts) #19737

Closed F0x06 closed 2 years ago

F0x06 commented 3 years ago

Game version: 0.9.1.8 beta release 130 The server is a docker image (strangeloopgames/eco-game-server): tag: latest hash: 51e1e867456c

Hello, i don't have much information about the crash, talked to StalEF on discord and apparently this crash is related to work party (contracts)

Edit: Discord user StalEF linked a video of the issue (it was contract with user custom condition): https://www.youtube.com/watch?v=r4gOem11Fa4&t=1543

[21:27:16.700] [30] [Error] [Eco] System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.)

System.NullReferenceException: Object reference not set to an instance of an object.
   at Eco.Gameplay.Economy.UserTracker.<>c.<Rebuild>b__2_2(List`1 x) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Economy\Trackers\UserTracker.cs:line 50
   at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.SequenceEqual[TSource](IEnumerable`1 first, IEnumerable`1 second, IEqualityComparer`1 comparer)
   at Eco.Gameplay.Economy.UserTracker.Rebuild() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Economy\Trackers\UserTracker.cs:line 58
   at Eco.Gameplay.Skills.Skill.AddExperience(Single exp, User user) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Skills\Skill.cs:line 147
   at Eco.Gameplay.Skills.Skillset.AddExperience(Type skillType, Single skillRate, Single exp, LocString desc) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Skills\Skillset.cs:line 221
   at Eco.Gameplay.Items.WorkOrder.CompleteCraftingCycle() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Items\WorkOrder.cs:line 508
   at Eco.Gameplay.Items.WorkOrder.TryFinishIteration() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Items\WorkOrder.cs:line 202
   at Eco.Gameplay.Items.WorkOrder.CheckTime(Boolean canBeActive) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Items\WorkOrder.cs:line 306
   at Eco.Gameplay.Components.CraftingComponent.ProcessWorkOrders() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Components\CraftingComponent.cs:line 290
   at Eco.Shared.Utils.ListExtensions.ForEach[T](IList`1 list, Action`1 action) in C:\Jenkins\workspace\Eco Release\Server\Eco.Shared\Utils\ContainerExtensions.cs:line 251
   at Eco.Gameplay.Objects.WorldObject.Tick() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Objects\WorldObject.cs:line 167
   at Eco.Shared.Utils.EnumerableExtensions.ForEach[T](IEnumerable`1 enumeration, Action`1 action) in C:\Jenkins\workspace\Eco Release\Server\Eco.Shared\Utils\ContainerExtensions.cs:line 637
   at Eco.Gameplay.Objects.WorldObjectManager.TickAll() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Objects\WorldObjectManager.cs:line 341
   at Eco.Core.Utils.Threading.EventDrivenWorker.<>c__DisplayClass8_0.<.ctor>b__0(CancellationToken token) in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\EventDrivenWorker.cs:line 60
   at Eco.Core.Utils.Threading.EventDrivenWorker.DoRepeatableWork(CancellationToken token) in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\EventDrivenWorker.cs:line 69
   at Eco.Core.Utils.Threading.RepeatableWorkerBase.DoWork(CancellationToken token) in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\RepeatableWorkerBase.cs:line 23
[21:27:39.719] [111] [Error] [Eco] System.NullReferenceException: Object reference not set to an instance of an object.
   at Eco.Gameplay.Economy.UserTracker.<>c.<Rebuild>b__2_2(List`1 x) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Economy\Trackers\UserTracker.cs:line 50
   at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.SequenceEqual[TSource](IEnumerable`1 first, IEnumerable`1 second, IEqualityComparer`1 comparer)
   at Eco.Gameplay.Economy.UserTracker.Rebuild() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Economy\Trackers\UserTracker.cs:line 58
   at Eco.Gameplay.Skills.Skill.AddExperience(Single exp, User user) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Skills\Skill.cs:line 147
   at Eco.Gameplay.Skills.Skillset.AddExperience(Type skillType, Single skillRate, Single exp, LocString desc) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Skills\Skillset.cs:line 221
   at Eco.Gameplay.Items.WorkOrder.CompleteCraftingCycle() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Items\WorkOrder.cs:line 508
   at Eco.Gameplay.Items.WorkOrder.TryFinishIteration() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Items\WorkOrder.cs:line 202
   at Eco.Gameplay.Items.WorkOrder.CheckTime(Boolean canBeActive) in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Items\WorkOrder.cs:line 306
   at Eco.Gameplay.Components.CraftingComponent.ProcessWorkOrders() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Components\CraftingComponent.cs:line 290
   at Eco.Shared.Utils.ListExtensions.ForEach[T](IList`1 list, Action`1 action) in C:\Jenkins\workspace\Eco Release\Server\Eco.Shared\Utils\ContainerExtensions.cs:line 251
   at Eco.Gameplay.Objects.WorldObject.Tick() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Objects\WorldObject.cs:line 167
   at Eco.Shared.Utils.EnumerableExtensions.ForEach[T](IEnumerable`1 enumeration, Action`1 action) in C:\Jenkins\workspace\Eco Release\Server\Eco.Shared\Utils\ContainerExtensions.cs:line 637
   at Eco.Gameplay.Objects.WorldObjectManager.TickAll() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Objects\WorldObjectManager.cs:line 341
   at Eco.Core.Utils.Threading.EventDrivenWorker.<>c__DisplayClass8_0.<.ctor>b__0(CancellationToken token) in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\EventDrivenWorker.cs:line 60
   at Eco.Core.Utils.Threading.EventDrivenWorker.DoRepeatableWork(CancellationToken token) in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\EventDrivenWorker.cs:line 69
   at Eco.Core.Utils.Threading.RepeatableWorkerBase.DoWork(CancellationToken token) in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\RepeatableWorkerBase.cs:line 23
   at Eco.Core.Utils.Threading.WorkerBase.ShutdownAsync() in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\WorkerBase.cs:line 45
   at Eco.Core.Utils.Threading.WorkerExtensions.Shutdown(IWorker worker) in C:\Jenkins\workspace\Eco Release\Server\Eco.Core\Utils\Threading\WorkerExtensions.cs:line 8
   at Eco.Gameplay.Objects.WorldObjectManager.Shutdown() in C:\Jenkins\workspace\Eco Release\Server\Eco.Gameplay\Objects\WorldObjectManager.cs:line 333
   at Eco.Server.PluginManager.<>c.<ShutdownAsync>b__33_0(PluginRegistration reg) in C:\Jenkins\workspace\Eco Release\Server\Eco.Server\PluginManager.cs:line 301

Thanks

WeaselDog commented 2 years ago

Hey there. Sorry for the late reply, but we have done some significant fixes on the work parties and this appears to be fixed in the latest version. Thanks for your report!