Known Solutions to crashes or errors

From Space Engineers Wiki
Jump to navigation Jump to search

These are found in the SE log after a crash. Errors can also occur without the game crashing.

If you can't find your error in this list, refer to Modding/Troubleshooting page.

Game errors

SaveFinished: failed to save the world / at System.Environment.GetStackTrace

Back to top

Thread:   1 ->  SaveFinished: failed to save the world    at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)
   at System.Environment.get_StackTrace()
   at Sandbox.Game.Screens.Helpers.MyAsyncSaving.SaveFinished(MySessionSnapshot snapshot)
   at ParallelTasks.Parallel.RunCallbacks()
   at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)

One cause is that the world name has a trailing space, check VRage log to see if it complains about being unable to write the screenshot.


NullReferenceException / PasteGridData.Callback

Back to top

Thread:   1 ->  Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.Entities.MyCubeGrid.PasteGridData.Callback()
   at ParallelTasks.Parallel.RunCallbacks()
   at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)

One cause can be that there's an armor skin id that no longer exists (added by a mod?), on the blocks in the pasted grid.

There may be lots of other causes as this code does lots of things and the error is one of the most common kinds of errors.


NullReferenceException / MySession.GatherVicinityInformation

Back to top

Thread:   1 ->     Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.World.MySession.<>c__DisplayClass613_1.<GatherVicinityInformation>b__0()
   at System.DelegateExtensions.InvokeIfNotNull(Action handler)
   at Sandbox.Game.World.MySession.GatherVicinityInformation(BoundingSphereD bs, HashSet`1 voxelMaterials, HashSet`1 models, HashSet`1 armorModels, Action completion)
   at Sandbox.Game.World.MySession.GatherVicinityInformation(MyObjectBuilder_Checkpoint checkpoint)
   at Sandbox.Game.World.MySession.Save(MySessionSnapshot& snapshot, String customSaveName)

One known cause is using a modded character in another world causing its subtype to be saved to ActiveInventory.sbl where it attempts to use it in all worlds, and causes this error when the modded character no longer exists.

Workaround is:

  1. Go to SE's saves folder %appdata%/SpaceEngineers/Saves (can be pasted in explorer address bar).
  2. Open ActiveInventory.sbl (any text editor works).
  3. Change <Model> to be Default_Astronaut or Default_Astronaut_Female.


Generic modding errors

MOD_CRITICAL_ERROR / LOADED ONLY n/6 PHASES

Back to top

MOD_CRITICAL_ERROR: <ModName>, in file: 
MOD PARTIALLY SKIPPED, LOADED ONLY 1/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.
Sandbox.Game
   at Sandbox.Definitions.MyDefinitionManager.LoadDefinitions(List`1 contexts, List`1 definitionSets, Boolean failOnDebug, Boolean isPreload)
MOD_CRITICAL_ERROR: <ModName>, in file: 
MOD PARTIALLY SKIPPED, LOADED ONLY 2/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.
Sandbox.Game
   at Sandbox.Definitions.MyDefinitionManager.LoadDefinitions(List`1 contexts, List`1 definitionSets, Boolean failOnDebug, Boolean isPreload)
MOD_CRITICAL_ERROR: <ModName>, in file: 
MOD PARTIALLY SKIPPED, LOADED ONLY 3/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.
Sandbox.Game
   at Sandbox.Definitions.MyDefinitionManager.LoadDefinitions(List`1 contexts, List`1 definitionSets, Boolean failOnDebug, Boolean isPreload)
MOD_CRITICAL_ERROR: <ModName>, in file: 
MOD PARTIALLY SKIPPED, LOADED ONLY 4/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.
Sandbox.Game
   at Sandbox.Definitions.MyDefinitionManager.LoadDefinitions(List`1 contexts, List`1 definitionSets, Boolean failOnDebug, Boolean isPreload)
MOD_CRITICAL_ERROR: <ModName>, in file: 
MOD PARTIALLY SKIPPED, LOADED ONLY 5/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.
Sandbox.Game
   at Sandbox.Definitions.MyDefinitionManager.LoadDefinitions(List`1 contexts, List`1 definitionSets, Boolean failOnDebug, Boolean isPreload)
MOD_CRITICAL_ERROR: <ModName>, in file: 
MOD PARTIALLY SKIPPED, LOADED ONLY 6/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.

This is caused by too many things, lots unknown, here's some known ones:

  • Does not contain a Data folder:
    • It's not a mod. Worlds, blueprints and PB scripts should not be added to the mods list.
    • Zipped wrong for mod.io, Data folder has to be directly as you open the zip file.
  • It's a local mod that no longer exists (renamed or deleted).
  • Download corruption Fixing download corruption caused the mod to not have said Data folder.


Value cannot be null / MyObjectFactory.GetProducedType

Back to top

Value cannot be null.
Parameter name: key
mscorlib
   at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at VRage.ObjectBuilders.MyObjectFactory`2.GetProducedType(MyObjectBuilderType objectBuilderType)

This one can happen on any definition and it means its TypeId does not exist. Mods cannot invent TypeId, only SubTypeId.


Input string was not in a correct format. / MyBlueprintDefinitionBase.ToString

Back to top

MOD_CRITICAL_ERROR: <ModName>, in file: <File>
MOD PARTIALLY SKIPPED, LOADED ONLY 2/6 PHASES, Following Error occured:
Input string was not in a correct format.
mscorlib
   at System.Text.StringBuilder.FormatError()
   at System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
   at Sandbox.Definitions.MyBlueprintDefinitionBase.ToString()
   at System.String.Concat(Object[] args)
   at Sandbox.Definitions.MyDefinitionManager.InitBlueprints(MyModContext context, Dictionary2 output, DefinitionDictionary1 blueprintsByResult, MyObjectBuilder_BlueprintDefinition[] blueprints, Boolean failOnDebug)
   at Sandbox.Definitions.MyDefinitionManager.LoadPhase1(MyObjectBuilder_Definitions objBuilder, MyModContext context, DefinitionSet definitionSet, Boolean failOnDebug)
   at Sandbox.Definitions.MyDefinitionManager.LoadDefinitions(List1 contexts, List1 definitionSets, Boolean failOnDebug, Boolean isPreload)

Caused by having { or } in the <DisplayName> of a blueprint that has same result as another blueprint, causing the game to print a message in log and that's where it crashes, because it weirdly mixes formatting techniques causing a format exception from the presence of those characters (which are used for the formatting). TL;DR it's a game bug.

Solutions:

  • Remove { and } from the blueprint <DisplayName>.
  • Replace { and } with {{ and }} which will show up as {Actual Blueprint Name} in-game.
  • Use a localization script to load .resx and then you can use localization keys directly without surrounding {LOC: and }, just like Keen uses them.


Exception during loading of type : MyEmoteSwitcher

Back to top

Exception during loading of type : MyEmoteSwitcher
...
System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.Screens.Helpers.MyGuiControlDPad..ctor(MyObjectBuilder_DPadControlVisualStyle style)

Caused by emote icon missing, apparently it is quite strict about those.


Block errors

Mainly mod blocks.

NullReferenceException / (AnyBlockClass).Init

Back to top

Thread:   1 ->  ERROR Entity init!: System.NullReferenceException: Object reference not set to an instance of an object.
   at (AnyBlockClass).Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid)
   at Sandbox.Game.Entities.Cube.MySlimBlock.Init(MyObjectBuilder_CubeBlock objectBuilder, MyCubeGrid cubeGrid, MyCubeBlock fatBlock)

Missing or wrong xsi:type in <Definition xsi:type="MyObjectBuilder_???Definition"> from the sbc, check with the vanilla counterpart to copy the right objectbuilder name.


KeyNotFoundException / MyLargeGatlingTurret.OnModelChange

Back to top

Thread:  12 ->  ERROR Entity init!: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at SpaceEngineers.Game.Weapons.Guns.MyLargeGatlingTurret.OnModelChange()

Gatling turret's model does not contain the expected subpart chain:

  1. In main model: subpart_GatlingTurretBase1 pointing to yaw model
  2. In yaw subpart model: subpart_GatlingTurretBase2 pointing to pitch model
  3. In pitch subpart model optional: subpart_GatlingBarrel pointing to a barrel model; otherwise uses pitch subpart as barrel

NOTE: gatling turret has the <SubpartPairing> feature which can change the required empty names! Refer to game's CubeBlocks_Weapons.sbc for how it's used if you want to avoid renaming the subpart empties or you don't want to use a rotating barrel.


KeyNotFoundException / MyLargeMissileTurret.OnModelChange

Back to top

Thread:  15 ->  ERROR Entity init!: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at SpaceEngineers.Game.Weapons.Guns.MyLargeMissileTurret.OnModelChange()

Missile turret's model does not contain the expected subpart chain:

  1. In main model: subpart_MissileTurretBase1 pointing to yaw model
  2. In yaw subpart model: subpart_MissileTurretBarrels pointing to pitch model


NullReferenceException / MyLargeTurretBase.GetWorldMatrix

Back to top

Thread:   1 ->  Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.Weapons.MyLargeTurretBase.GetWorldMatrix()

This can happen to any type of turret it's because the model is lacking one of the expected subparts.

For gatling turret and missile turret you can see the errors directly above for info on their expected empties.

For interior turret:

  1. In main model: subpart_InteriorTurretBase1 pointing to yaw model
  2. In yaw subpart model: subpart_InteriorTurretBase2 pointing to pitch model


MOD_CRITICAL_ERROR / MyCubeBlockDefinition.Init

Back to top

MOD_CRITICAL_ERROR: <ModName>, in file: <FileNameButProbablyALie>
MOD PARTIALLY SKIPPED, LOADED ONLY 4/6 PHASES, Following Error occured:
Object reference not set to an instance of an object.
Sandbox.Game
   at Sandbox.Definitions.MyCubeBlockDefinition.Init(MyObjectBuilder_DefinitionBase builder)
   at Sandbox.Definitions.MyDefinitionManager.InitDefinition[T](MyModContext context, MyObjectBuilder_DefinitionBase builder)
   at Sandbox.Definitions.MyDefinitionManager.ToDefinitions(MyModContext context, DefinitionDictionary`1 outputDefinitions, DefinitionDictionary`1[] outputCubeBlocks, MyObjectBuilder_CubeBlockDefinition[] cubeBlocks, Boolean failOnDebug)
   at Sandbox.Definitions.MyDefinitionManager.LoadPhase3(MyObjectBuilder_Definitions objBuilder, MyModContext context, DefinitionSet definitionSet, Boolean failOnDebug)

This MyCubeBlockDefinition.Init() in general is from generic block definition being initialized, stuff that all blocks have.

Most common causes:

  • one or more component subtypes don't exist (if you use a component from another mod, have that mod be loaded before yours, by it being lower in the mods window list)
  • the <CriticalComponent ... /> tag is not declared or its component also does not exist.
  • any of the other common block tags might be missing or have an unexpected value, ensure you're copying the vanilla counterpart for the block type you want to use, don't transform definitions from one type to another!


TargetInvocationException / Unable to cast ... to type 'Sandbox.Game.Entities.Blocks.MyTextPanel'

Back to top

Thread:  14 -> ERROR Entity init!: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidCastException: Unable to cast object of type '(AnyOtherBlockClass)' to type 'Sandbox.Game.Entities.Blocks.MyTextPanel'.
   at Sandbox.Game.Entities.Cube.MyUseObjectTextPanel..ctor(IMyEntity owner, String dummyName, MyModelDummy dummyData, UInt32 key)

The detector_textpanel empty in the model is causing this, it only works on TextPanel block type.


IndexOutOfRangeException / MyConveyorLine.GetBlockLinePositions

Back to top

Thread:   1 ->  Exception occurred: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at VRageMath.Base6Directions.GetDirection(Vector3& vec)
   at Sandbox.Game.GameSystems.Conveyors.MyConveyorLine.GetBlockLinePositions(MyCubeBlock block)
   at Sandbox.Game.GameSystems.Conveyors.MyMultilineConveyorEndpoint..ctor(MyCubeBlock myBlock)

Caused by having a conveyor dummy span over multiple directions.


KeyNotFoundException / MyResourceDistributorComponent.GetTypeIndex

Back to top

Thread:   1 ->  Exception occurred: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at Sandbox.Game.EntityComponents.MyResourceDistributorComponent.GetTypeIndex(MyDefinitionId& typeId)
   at Sandbox.Game.EntityComponents.MyResourceDistributorComponent.source_MaxOutputChanged(MyDefinitionId changedResourceTypeId, Single oldOutput, MyResourceSourceComponent obj)
   at Sandbox.Game.EntityComponents.MyResourceSourceComponent.SetMaxOutputByType(MyDefinitionId resourceTypeId, Single newMaxOutput)
   at Sandbox.Game.Entities.Blocks.MyGasGenerator.SetRemainingCapacities()
   at Sandbox.Game.Entities.Blocks.MyGasGenerator.UpdateAfterSimulation()

Caused when all these are true: 1. EnableOxygen turned off in world settings. 2. A GasGenerator block that does not have oxygen in its definitions. 3. Said GasGenerator being placed on a grid that does not have any oxygen-related blocks (placing it in mid-air qualifies).


NullReferenceException / MyMotorSuspension.CanPlaceRotor

Back to top

Thread:   1 ->  Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.Entities.Cube.MyMotorSuspension.CanPlaceRotor(MyAttachableTopBlockBase rotorBlock, Int64 builtBy)
   at Sandbox.Game.Entities.Blocks.MyMechanicalConnectionBlockBase.CreateTopPart(MyAttachableTopBlockBase& topBlock, Int64 builtBy, MyCubeBlockDefinitionGroup topGroup, Boolean smallToLarge, Boolean instantBuild)
   at Sandbox.Game.Entities.Blocks.MyMechanicalConnectionBlockBase.CreateTopPartAndAttach(Int64 builtBy, Boolean smallToLarge, Boolean instantBuild)
   at Sandbox.Game.Entities.Blocks.MyMechanicalConnectionBlockBase.OnBuildSuccess(Int64 builtBy, Boolean instantBuild)
   at Sandbox.Game.Entities.MyCubeBuilder.AfterGridBuild(MyEntity builder, MyCubeGrid grid, Boolean instantBuild, UInt64 senderId)

Likely caused by the wheel model not having a collider.


NullReferenceException / MyAutopilotComponent.UpdateGyro

Back to top

Thread:   1 ->  Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.EntityComponents.MyAutopilotComponent.UpdateGyro(Vector3D deltaPos, Vector3D perpDeltaPos, Boolean& rotating, Boolean& isLabile, Double& angleRadians, Boolean preciseRotation)
   at Sandbox.Game.EntityComponents.MyAutopilotComponent.UpdateAutopilot()
   at Sandbox.Game.Entities.MyRemoteControl.UpdateBeforeSimulationParallel()

In Automatons Beta update (might not still be an issue later) the remote control blocks require an entity component or enabling autopilot on them will crash the game.

See EntityComponents.sbc for AutopilotComponent (and reminder that EntityContainers.sbc links components to blocks).


ArgumentNullException / MyDefinitionManager.InitBlockGroups

Back to top

Thread:   1 ->  Error: Error during loading session:System.ArgumentNullException: Value cannot be null.
Parameter name: key
   at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
   at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
   at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
   at Sandbox.Definitions.MyDefinitionManager.InitBlockGroups()
   at Sandbox.Definitions.MyDefinitionManager.LoadPostProcess()
   at Sandbox.Definitions.MyDefinitionManager.LoadData(List`1 mods)

Caused by a block definition without a <BlockPairName> declared.
This is probably no longer an issue because if BlockPairName is missing then it will copy the DisplayName to BlockPairName.


NullReferenceException / MyBlockBuilderBase.AddFastBuildModelWithSubparts

Back to top

Thread:   1 ->  Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
   at Sandbox.Game.Entities.MyBlockBuilderBase.AddFastBuildModelWithSubparts(MatrixD& matrix, List1 matrices, List1 models, MyCubeBlockDefinition blockDefinition, Single gridScale)
   at Sandbox.Game.Entities.MyCubeBuilder.AddFastBuildModels(MatrixD baseMatrix, Matrix& localMatrixAdd, List1 matrices, List1 models, MyCubeBlockDefinition definition, Nullable1 startBuild, Nullable1 continueBuild)
   at Sandbox.Game.Entities.MyCubeBuilder.UpdateGizmo_Grid(MyGizmoSpaceProperties gizmoSpace, Boolean add, Boolean remove, Boolean draw)
   at Sandbox.Game.Entities.MyCubeBuilder.UpdateGizmos(Boolean addPos, Boolean removePos, Boolean draw)

One known cause for this is <MirroringBlock> not being the same type as the held block.


ArgumentNullException / FirstOrDefault() at PostprocessRadialMenus

Back to top

Thread:   1 ->  Error: Error during loading session:System.ArgumentNullException: Value cannot be null.
Parameter name: source
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)
   at Sandbox.Definitions.MyDefinitionManager.PostprocessRadialMenus()
   at Sandbox.Definitions.MyDefinitionManager.LoadPostProcess()
   at Sandbox.Definitions.MyDefinitionManager.LoadData(List`1 mods)

This is caused by a block that does not have any <Icon> defined.


Render errors

IndexOutOfRangeException / MyHwBuffers.GetVertexBuffer

Back to top

Thread:  22 ->  Exception occured: System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at VRage.Render11.Resources.MyHwBuffers.GetVertexBuffer(VertexBufferId id)
   at VRageRender.MyRenderingPass.BindProxyGeometry(MyRenderableProxy proxy, MyRenderContext rc)
   at VRageRender.MyGBufferPass.RecordCommandsInternal(MyRenderableProxy proxy)

One cause is model not UV mapped.


KeyNotFoundException / MyMeshes.CreateSections

Back to top

Thread:  10 ->  Exception occured: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at VRageRender.MyMeshes.CreateSections(MyMeshData meshData, MyMeshPartInfo1[] parts, MyMeshSectionInfo1[]& sections)
   at VRageRender.MyMeshes.CreatePartInfos(String assetName, String contentPath, MyMeshData meshData, MyLodMeshInfo& lodMeshInfo, MyMeshPartInfo1[]& parts, MyMeshSectionInfo1[]& sections)
   at VRageRender.MyMeshes.LoadMwm(MyLodMeshInfo& lodMeshInfo, MyMeshPartInfo1[]& parts, MyMeshSectionInfo1[]& sections, MyLODDescriptor[]& lodDescriptors, Single rescale)

One cause is a model has UV maps but it's improperly unwrapped (zero size UV?)


ArgumentNullException / MyBillboardRenderer.GatherInternal

Back to top

Thread:  11 ->  Exception occured: System.ArgumentNullException: Value cannot be null.
Parameter name: key
  at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
  at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
  at VRageRender.MyBillboardRenderer.GatherInternal()

A transparent material definition's file doesn't actually exist.


Mod script errors

Exception during loading of type

Back to top

Exception during loading of type : <YourClassName>

There's an exception thrown in the constructor of that class or inside the fields (like trying to access something null, for example MyAPIGateway.Session), and the game eats it up and shows this instead.

Attach a debugger (like dnSpy) to catch the actual exception.


Fatal error compiling / MyBlacklistSyntaxVisitor.VisitAttribute

Back to top

Fatal error compiling Steam:<ModName> - <FolderName>. This item is likely not a mod and should be removed from the mod list.
Exception occurred: System.AggregateException: One or more errors occurred. > System.NullReferenceException: Object reference not set to an instance of an object.
   at VRage.Scripting.MyBlacklistSyntaxVisitor.VisitAttribute(AttributeSyntax node)
   at VRage.Scripting.MyBlacklistSyntaxVisitor.Visit(SyntaxNode node)
...
   at VRage.Scripting.MyScriptCompiler.<Compile>d__37.MoveNext()
    End of inner exception stack trace 
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Sandbox.Game.World.MyScriptManager.Compile(IEnumerable`1 scriptFiles, String assemblyName, Boolean zipped, MyModContext context)
   at Sandbox.Game.World.MyScriptManager.LoadScripts(String path, MyModContext mod)
   at Sandbox.Game.World.MyScriptManager.LoadData()
> (Inner Exception #0) System.NullReferenceException: Object reference not set to an instance of an object.
   at VRage.Scripting.MyBlacklistSyntaxVisitor.VisitAttribute(AttributeSyntax node)
   at VRage.Scripting.MyBlacklistSyntaxVisitor.Visit(SyntaxNode node)
...
   at VRage.Scripting.MyScriptCompiler.<Compile>d__37.MoveNext()<

The message of "likely not a mod" is generally from adding PB scripts, ship blueprints or worlds as mods, but in this particular exception with MyBlacklistSyntaxVisitor.VisitAttribute it's caused by an attribute in C# code syntax.

One example that triggers this error:

[MyEntityComponentDescriptor(typeof(MyObjectBuilder_CargoContainer), false), "SomeSubtype"]

The MyEntityComponentDescriptor's closing paranthesis closes before the last string, which seems to break the game's script analyzer.


IndexOutOfRangeException / MyConcurrentTwoLevelQueue.Enqueue

Back to top

Thread:   1 ->  var exception = System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at VRageRender.MyUpdateFrame.MyConcurrentTwoLevelQueue.Enqueue(MyRenderMessageBase message)
   at VRageRender.MyRender11.EnqueueMessage(MyRenderMessageBase message)
   at ...

This is primarily caused by script mods, but nothing is truly excluded.

Usually means there were too many render messages queued that frame. The code at the 3rd "at ..." might not be the underlying cause.

If you're a player, first find a way to reliably cause it then narrow it down by removing script mods and report to the author once you found it.

If you're the author and you're out of ideas on what might be spamming render messages then one way to find out is to attach a debugger (like dnSpy and ensure the IndexOutOfRangeException is enabled in exceptions tab) and trigger the crash. Once it pauses execution you can peek around the code (and jump the callstack) and see if you can get the current queue's entries to see what message type appears a lot of times, then find what that message is queued by.

One thing indirectly causing this coloring blocks, it will trigger all emissive blocks on the grid to get recolored (it calls GridSystems.EmissiveSystem?.UpdateEmissivity()). The MyCubeGrid's ChangeColorAndSkin() does not trigger that so it can be used instead but it also does not sync.

Errors with unknown causes

(None)