Using the following partial prototype to add new entries to an entityTable (RandomMaterialCrateTable in this case) works correctly in game and does not cause errors on the server or client, but causes a stack overflow on YAMLLinter.
Stack overflow.
Repeated 2552 times:
--------------------------------
at Robust.Shared.Serialization.Manager.SerializationManager.Read[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.Manager.ISerializationContext, Boolean, InstantiationDelegate`1<System.__Canon>, Boolean)
at Content.Shared.EntityTable.EntitySelectors.EntityTableTypeSerializer.Read(Robust.Shared.Serialization.Manager.ISerializationManager, Robust.Shared.Serialization.Markdown.Mapping.MappingDataNode, Robust.Shared.IoC.IDependencyCollection, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<Content.Shared.EntityTable.EntitySelectors.EntityTableSelector>)
at Robust.Shared.Serialization.Manager.SerializationManager.Read[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.TypeSerializers.Interfaces.ITypeReader`2<System.__Canon,System.__Canon>, System.__Canon, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.__Canon>, Boolean)
at Robust.Shared.Serialization.Manager.SerializationManager.<Read>g__RegularRead|126_1[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](<>c__DisplayClass126_0`1<System.__Canon> ByRef)
at Robust.Shared.Serialization.Manager.SerializationManager.Read[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.__Canon>, Boolean)
--------------------------------
at Robust.Shared.Serialization.TypeSerializers.Implementations.Generic.ListSerializers`1[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Robust.Shared.Serialization.TypeSerializers.Interfaces.ITypeReader<System.Collections.Generic.List<T>,Robust.Shared.Serialization.Markdown.Sequence.SequenceDataNode>.Read(Robust.Shared.Serialization.Manager.ISerializationManager, Robust.Shared.Serialization.Markdown.Sequence.SequenceDataNode, Robust.Shared.IoC.IDependencyCollection, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.Collections.Generic.List`1<System.__Canon>>)
at Robust.Shared.Serialization.Manager.SerializationManager.Read[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.TypeSerializers.Interfaces.ITypeReader`2<System.__Canon,System.__Canon>, System.__Canon, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.__Canon>, Boolean)
at Robust.Shared.Serialization.Manager.SerializationManager.<Read>g__RegularRead|126_1[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](<>c__DisplayClass126_0`1<System.__Canon> ByRef)
at Robust.Shared.Serialization.Manager.SerializationManager.Read[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.__Canon>, Boolean)
at Content.Shared.EntityTable.EntitySelectors.GroupSelector.Read(Content.Shared.EntityTable.EntitySelectors.GroupSelector ByRef, Robust.Shared.Serialization.Markdown.Mapping.MappingDataNode, Robust.Shared.Serialization.Manager.ISerializationManager, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext)
at Robust.Shared.Serialization.Manager.SerializationManager.ReadGenericMapping[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.Markdown.Mapping.MappingDataNode, Robust.Shared.Serialization.Manager.Definition.DataDefinition`1<System.__Canon>, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.__Canon>)
at DynamicClass.lambda_method1958(System.Runtime.CompilerServices.Closure, Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<Content.Shared.EntityTable.EntitySelectors.EntityTableSelector>)
at Robust.Shared.Serialization.Manager.SerializationManager.ReadDefinition[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.__Canon>, Boolean)
at Content.Shared.EntityTable.EntityTablePrototype.Read(Content.Shared.EntityTable.EntityTablePrototype ByRef, Robust.Shared.Serialization.Markdown.Mapping.MappingDataNode, Robust.Shared.Serialization.Manager.ISerializationManager, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext)
at Robust.Shared.Serialization.Manager.Definition.DataDefinition`1+<>c[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].<.ctor>b__12_7(System.Object ByRef, Robust.Shared.Serialization.Markdown.Mapping.MappingDataNode, Robust.Shared.Serialization.Manager.ISerializationManager, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext)
at Robust.Shared.Serialization.Manager.SerializationManager.<Read>g__RegularRead|126_1[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](<>c__DisplayClass126_0`1<System.__Canon> ByRef)
at Robust.Shared.Serialization.Manager.SerializationManager.Read[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, InstantiationDelegate`1<System.__Canon>, Boolean)
at DynamicClass.lambda_method1940(System.Runtime.CompilerServices.Closure, Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext)
at Robust.Shared.Serialization.Manager.SerializationManager.Read(System.Type, Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.SerializationHookContext, Robust.Shared.Serialization.Manager.ISerializationContext, Boolean)
at Robust.Shared.Serialization.Manager.SerializationManager.Read(System.Type, Robust.Shared.Serialization.Markdown.DataNode, Robust.Shared.Serialization.Manager.ISerializationContext, Boolean, Boolean)
at Robust.Shared.Prototypes.PrototypeManager.ValidateDirectory(Robust.Shared.Utility.ResPath, System.Collections.Generic.Dictionary`2<System.Type,System.Collections.Generic.HashSet`1<System.String>> ByRef, Boolean)
at Content.YAMLLinter.Program+<>c__DisplayClass4_0.<ValidateInstance>b__0()
at Robust.UnitTesting.RobustIntegrationTest+IntegrationGameLoop.SingleThreadRunUntilEmpty()
at Robust.UnitTesting.RobustIntegrationTest+IntegrationGameLoop.Run()
at Robust.UnitTesting.RobustIntegrationTest+ServerIntegrationInstance._serverMain()
at System.Threading.Thread+StartHelper.Callback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
Using the following partial prototype to add new entries to an entityTable (RandomMaterialCrateTable in this case) works correctly in game and does not cause errors on the server or client, but causes a stack overflow on YAMLLinter.
Here's the output from YAMLLinter