StrangeLoopGames / EcoIssues

131 stars 21 forks source link

v10.0.1 - Placing a Capitol item created with the /give command immediately crashes the game #24256

Closed Darkhand81 closed 10 months ago

Darkhand81 commented 10 months ago

Hello!

Placing a Capitol item created with the /give command immediately crashes the game in both multiplayer and singleplayer. Upon placement:

[11:32:42] System.NullReferenceException: Object reference not set to an instance of an object.
   at Eco.Gameplay.Components.ConstitutionComponent.InitializePersistentData()
   at Eco.Gameplay.Objects.TrackPlacementComponent.Initialize()
   at Eco.Gameplay.Components.ConstitutionComponent.Initialize()
   at Eco.Gameplay.Objects.WorldObject.InitializeComponents()
   at Eco.Gameplay.Objects.WorldObject.FinishInitialize()
   at Eco.Gameplay.Objects.WorldObject.OnAdd(User creator, WrappedWorldPosition3 position, Quaternion rotation)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.QueueUserWorkItemCallback.Execute()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
[11:32:42] System.NullReferenceException: Object reference not set to an instance of an object.
   at Eco.Gameplay.Components.ConstitutionComponent.InitializePersistentData()
   at Eco.Gameplay.Objects.TrackPlacementComponent.Initialize()
   at Eco.Gameplay.Components.ConstitutionComponent.Initialize()
   at Eco.Gameplay.Objects.WorldObject.InitializeComponents()
   at Eco.Gameplay.Objects.WorldObject.FinishInitialize()
   at Eco.Gameplay.Objects.WorldObject.OnAdd(User creator, WrappedWorldPosition3 position, Quaternion rotation)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.QueueUserWorkItemCallback.Execute()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.
   at Eco.Gameplay.Components.ConstitutionComponent.InitializePersistentData()
   at Eco.Gameplay.Objects.TrackPlacementComponent.Initialize()
   at Eco.Gameplay.Components.ConstitutionComponent.Initialize()
   at Eco.Gameplay.Objects.WorldObject.InitializeComponents()
   at Eco.Gameplay.Objects.WorldObject.FinishInitialize()
   at Eco.Gameplay.Objects.WorldObject.OnAdd(User creator, WrappedWorldPosition3 position, Quaternion rotation)
   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)
   at System.Threading.QueueUserWorkItemCallback.Execute()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
Aborted

After this, subsequent attempts to create settlements via normal gameplay also seem to crash the server:

[02:43:07] System.Exception: Error during packaging property 'NameToObj' of 'Eco.Core.Systems.Registrar`1[[Eco.Gameplay.Civics.Demographics.Demographic, Eco.Gameplay, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackControllerForBroadcasting(IEnumerable`1 clients, IController controller, String property, NetworkChannel& deliveryChannel)
   at Eco.Core.Controller.ControllerPacker.PackageIndividualChange(IController controller, String propertyName, PoolableListWrapper`1 notifications, IMvcNetClient[] boundClients)
   at Eco.Core.Controller.ControllerPacker.PackageChange(IController controller, ValueTuple`2[] members, PoolableListWrapper`1 notifications, IMvcNetClient[] boundClients)
   at Eco.Core.Controller.ControllerPacker.PackageChangesInternal(IController controller, String propertyName, PoolableListWrapper`1 notifications, IMvcNetClient[] clients)
   at Eco.Core.Controller.Internal.ControllerUpdater.CollectUpdates(PoolableListWrapper`1 list, List`1& propertiesNames)
   at Eco.Core.Controller.Internal.ClientUpdater.UpdateTask()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
System.Exception: Error during packaging property 'Settlement' of 'Eco.Gameplay.Civics.Demographics.Demographic'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.ToBsonDictionary[TKey,TValue](IEnumerable`1 dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Systems.Registrar`1.Eco.Core.Systems.IRegistrar.NameToObj(IWorldObserver worldObserver)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
System.Exception: Error during packaging property 'Leader' of 'Eco.Gameplay.Settlements.Settlement'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
System.Exception: Error during packaging property 'PropNameToDynamicFlags' of 'Eco.Gameplay.Civics.Titles.ElectedTitle'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at Eco.Shared.Serialization.BsonManipulator.ToBsonDictionary[TKey,TValue](IEnumerable`1 dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.<>c__14`2.<MakeGenericDictionarySerializer>b__14_0(IDictionary dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
[02:43:08] System.Exception: Error during packaging property 'NameToObj' of 'Eco.Core.Systems.Registrar`1[[Eco.Gameplay.Civics.Demographics.Demographic, Eco.Gameplay, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackControllerForBroadcasting(IEnumerable`1 clients, IController controller, String property, NetworkChannel& deliveryChannel)
   at Eco.Core.Controller.ControllerPacker.PackageIndividualChange(IController controller, String propertyName, PoolableListWrapper`1 notifications, IMvcNetClient[] boundClients)
   at Eco.Core.Controller.ControllerPacker.PackageChange(IController controller, ValueTuple`2[] members, PoolableListWrapper`1 notifications, IMvcNetClient[] boundClients)
   at Eco.Core.Controller.ControllerPacker.PackageChangesInternal(IController controller, String propertyName, PoolableListWrapper`1 notifications, IMvcNetClient[] clients)
   at Eco.Core.Controller.Internal.ControllerUpdater.CollectUpdates(PoolableListWrapper`1 list, List`1& propertiesNames)
   at Eco.Core.Controller.Internal.ClientUpdater.UpdateTask()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
System.Exception: Error during packaging property 'Settlement' of 'Eco.Gameplay.Civics.Demographics.Demographic'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.ToBsonDictionary[TKey,TValue](IEnumerable`1 dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Systems.Registrar`1.Eco.Core.Systems.IRegistrar.NameToObj(IWorldObserver worldObserver)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
System.Exception: Error during packaging property 'Leader' of 'Eco.Gameplay.Settlements.Settlement'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
System.Exception: Error during packaging property 'PropNameToDynamicFlags' of 'Eco.Gameplay.Civics.Titles.ElectedTitle'
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at Eco.Shared.Serialization.BsonManipulator.ToBsonDictionary[TKey,TValue](IEnumerable`1 dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.<>c__14`2.<MakeGenericDictionarySerializer>b__14_0(IDictionary dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)

Unhandled exception. System.Exception: Error during packaging property 'NameToObj' of 'Eco.Core.Systems.Registrar`1[[Eco.Gameplay.Civics.Demographics.Demographic, Eco.Gameplay, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'
 ---> System.Exception: Error during packaging property 'Settlement' of 'Eco.Gameplay.Civics.Demographics.Demographic'
 ---> System.Exception: Error during packaging property 'Leader' of 'Eco.Gameplay.Settlements.Settlement'
 ---> System.Exception: Error during packaging property 'PropNameToDynamicFlags' of 'Eco.Gameplay.Civics.Titles.ElectedTitle'
 ---> System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at Eco.Shared.Serialization.BsonManipulator.ToBsonDictionary[TKey,TValue](IEnumerable`1 dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.<>c__14`2.<MakeGenericDictionarySerializer>b__14_0(IDictionary dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   --- End of inner exception stack trace ---
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   --- End of inner exception stack trace ---
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Controller.BlobController.PackageValue(BsonSerializationContext& context, Object value, Int32 nameID, Boolean clientShouldCacheIt, ControllerPackingPendingViews pendingData)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   --- End of inner exception stack trace ---
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackageViewWithMembers(IController controller, BsonSerializationContext& context, IControllerMarshaler marshaler, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.PackageView(IController controller, BsonSerializationContext& context, Boolean skipNonMustRequestProperties, Boolean forceMustRequestProperties)
   at Eco.Core.Controller.ControllerPacker.SyncController(IMvcNetClient mvcClient, IController controller, BsonSerializationContext& context, ControllerBoundingLevel requiredSyncLevel)
   at Eco.Core.Controller.ControllerPacker.PackageControllerRecursivelyAndCollectPendingViews(IController controller, BsonSerializationContext& context, PackageFlags flags)
   at Eco.Shared.Serialization.BsonManipulator.ToBson(Object val, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Shared.Serialization.BsonManipulator.ToBsonDictionary[TKey,TValue](IEnumerable`1 dictionary, BsonSerializationContext& context, Boolean useReflection)
   at Eco.Core.Systems.Registrar`1.Eco.Core.Systems.IRegistrar.NameToObj(IWorldObserver worldObserver)
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   --- End of inner exception stack trace ---
   at Eco.Core.Controller.ControllerPacker.PackageMember(BsonSerializationContext& context, IController controller, ISyncMemberInfo memberInfo)
   at Eco.Core.Controller.ControllerPacker.PackControllerForBroadcasting(IEnumerable`1 clients, IController controller, String property, NetworkChannel& deliveryChannel)
   at Eco.Core.Controller.ControllerPacker.PackageIndividualChange(IController controller, String propertyName, PoolableListWrapper`1 notifications, IMvcNetClient[] boundClients)
   at Eco.Core.Controller.ControllerPacker.PackageChange(IController controller, ValueTuple`2[] members, PoolableListWrapper`1 notifications, IMvcNetClient[] boundClients)
   at Eco.Core.Controller.ControllerPacker.PackageChangesInternal(IController controller, String propertyName, PoolableListWrapper`1 notifications, IMvcNetClient[] clients)
   at Eco.Core.Controller.Internal.ControllerUpdater.CollectUpdates(PoolableListWrapper`1 list, List`1& propertiesNames)
   at Eco.Core.Controller.Internal.ClientUpdater.UpdateTask()
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
Aborted

Each startup afterward is also resulting in the following warning during boot, but I'm not yet 100% sure if it's related. All issues on this world seemed to start after the attempt to place the errant Capitol though:

[12:05:22] Enumerable deserialization error. Missing reference for element: Eco.Core.Serialization.Internal.UniversalIdReference. It will be ignored, but may cause inconsistency and errors in other entities.
[12:05:22] Enumerable deserialization error. Missing reference for element: Eco.Core.Serialization.Internal.UniversalIdReference. It will be ignored, but may cause inconsistency and errors in other entities.
[12:05:22] Enumerable deserialization error. Missing reference for element: Eco.Core.Serialization.Internal.UniversalIdReference. It will be ignored, but may cause inconsistency and errors in other entities.

Might this null Capitol item still be floating in the database causing things that touch civics/settlements to crash? How would I be able to find it and remove it from the LiteDB if that were so?

Thanks!

D3nnis3n commented 10 months ago

Is this a world with settlements turned on or off or a migrated world?

Darkhand81 commented 10 months ago

It should be a fresh, non-migrated world, with default Features untouched. I did however delete a previous world and what I thought were all associated files and configs from an older v9 world, then updated the server with Steamcmd and regenerated.

I was able to reproduce the initial crash in single player in a separate fresh singleplayer world however. The client continues running but loses connection to what I'm assuming is the crashed internal server and displays the disconnected icon in the lower right.

Darkhand81 commented 10 months ago

Possibly related, but this world is also having trouble with active elections not being visible. The elections page shows 'No Running Elections' when there are in fact elections open, and no one is able to vote.

D3nnis3n commented 10 months ago

Well, if settlements are enabled a "Capitol" does not exist, but "Town Foundation", "Country Foundation" and "Federation Foundation". A capitol only exists on settlements disabled words. You were basically trying to spawn a blocked item. We'll make sure that's caught before crashing.

D3nnis3n commented 10 months ago

We have a fix that prevents placing stuff not compatible with the respective settings and I am not able to reproduce this on correct settings, hence closing as addressed / not reproducable.

Darkhand81 commented 10 months ago

Confirmed fixed! Thank you!