Sprites.MySpritesRenderer.ProcessDrawMessage

bodyboarder2528 shared this bug 5 months ago
Reported – Awaiting fix

so im looking to do a wipe and one of the testers for the world and mods had a graphics crash due to spirits.


2021-02-01 02:29:53.521 - Thread: 1 -> GC Memory: 3381.014 / 3381.014 MB

2021-02-01 02:30:01.897 - Thread: 25 -> Exception in render!


Exception: ParallelTasks.TaskException: An exception(s) was thrown while executing a task.

at ParallelTasks.WorkItem.ThrowExceptionsInternal(Int32 runId)

at ParallelTasks.Task.WaitOrExecute(Boolean blocking)

at ParallelTasks.Future`1.GetResult()

at VRage.Render11.Render.MyOffscreenRenderer.Render()

at VRageRender.MyRender11.DrawGameScene(IRtvBindable renderTarget, IBorrowedRtvTexture& debugAmbientOcclusion)

at VRageRender.MyRender11.DrawScene()

at VRageRender.MyRender11.FullDraw(Boolean draw)

at VRageRender.MyRender11.Draw(Boolean draw)

at VRageRender.ExternalApp.MyRenderThread.Draw()

at VRageRender.ExternalApp.MyRenderThread.RenderFrame(Boolean async)

at VRageRender.ExternalApp.MyRenderThread.RenderCallback(Boolean async)

Task exception, inner exception 0:

System.NullReferenceException: Object reference not set to an instance of an object.

at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawMessage(MyRenderMessageBase drawMessage, Boolean touchTextures)

at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawSpritesQueue(MySpriteMessageData messages, Boolean touchTextures)

at VRageRender.MyRender11.DrawSpritesOffscreen(MyRenderContext rc, IRtvBindable texture, MySpriteMessageData messages, Vector2& aspectRatio, Nullable`1 clearColor, IBlendState blendState)

at VRage.Render11.Render.MyOffscreenRenderer.RenderWork(MyData data, RenderTargetProxy renderTarget)

at ParallelTasks.FutureWork`1.DoWork(WorkData workData)

at ParallelTasks.WorkItem.DoWork(Int32 expectedID)


2021-02-01 02:30:01.932 - Thread: 25 -> Additional information --

Aftermath: Main(|FAIL_NotInitialized|Unknown|NotStarted) Deferred(MyOffscreenRenderer.RenderWork@|FAIL_NotInitialized|Unknown|NotStarted )

Statistics: Scene:

Entities

Actors: 2,591

InstanceBuffers: 36

GPUEmitters: 0

Atmospheres: 7

Clouds: 37

DebugDrawMesh: 0

Videos: 0

Decals: 0

Billboards: 33


Actor Components

MyLightComponent: 131

MyRenderVoxelActor: 8

MyInstanceComponent: 1,592

MyResourcePrioritizationComponent: 2,627

MyRenderableComponent: 823

MyRotationAnimator: 4

MyThrustFlameAnimator: 39

MySkinningComponent: 1

MyVoxelCellComponent: 175

MyFoliageComponent: 0


2021-02-01 02:30:04.009 - Thread: 25 -> Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.

at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawMessage(MyRenderMessageBase drawMessage, Boolean touchTextures)

at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawSpritesQueue(MySpriteMessageData messages, Boolean touchTextures)

at VRageRender.MyRender11.DrawSpritesOffscreen(MyRenderContext rc, IRtvBindable texture, MySpriteMessageData messages, Vector2& aspectRatio, Nullable`1 clearColor, IBlendState blendState)

at VRage.Render11.Render.MyOffscreenRenderer.RenderWork(MyData data, RenderTargetProxy renderTarget)

at ParallelTasks.FutureWork`1.DoWork(WorkData workData)

at ParallelTasks.WorkItem.DoWork(Int32 expectedID)

2021-02-01 02:30:04.009 - Thread: 25 -> Exception Data:

Exception Info: Holder ID: 1372; m_runCount: 1372; m_executing: 1; MaximumThreads: 1

Work Options: MaximumThreads: 1, QueueFIFO: False, DebugName: OffscreenRender, TaskType: GUI

2021-02-01 02:30:04.010 - Thread: 25 -> Task Exception Stack:

at ParallelTasks.WorkItem.ThrowExceptionsInternal(Int32 runId)

at ParallelTasks.Task.WaitOrExecute(Boolean blocking)

at ParallelTasks.Future`1.GetResult()

at VRage.Render11.Render.MyOffscreenRenderer.Render()

at VRageRender.MyRender11.DrawGameScene(IRtvBindable renderTarget, IBorrowedRtvTexture& debugAmbientOcclusion)

at VRageRender.MyRender11.DrawScene()

at VRageRender.MyRender11.FullDraw(Boolean draw)

at VRageRender.MyRender11.Draw(Boolean draw)

at VRageRender.ExternalApp.MyRenderThread.Draw()

at VRageRender.ExternalApp.MyRenderThread.RenderFrame(Boolean async)

at VRageRender.ExternalApp.MyRenderThread.RenderCallback(Boolean async)

at VRageRender.ExternalApp.MyRenderThread.RenderThreadStart(Object param)

at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)

at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)

at System.Threading.ThreadHelper.ThreadStart(Object obj)

2021-02-01 02:30:04.010 - Thread: 25 -> Showing message

2021-02-01 02:30:04.988 - Thread: 25 ->

================================== CRASH INFO ==================================

AppVersion: 01_197_075

GameName: Space Engineers

IsOutOfMemory: False

IsGPU: False

IsNative: False

IsTask: True

IsExperimental: True

ProcessRunTime: 607

PCUCount: 25256

IsHang: False

GCMemory: 3384

GCMemoryAllocated: 3384

HWAvailableMemory: 10583

ProcessPrivateMemory: 7809

AnalyticId: SE

================================== OFNI HSARC ==================================


2021-02-01 02:30:04.988 - Thread: 25 -> Log Closed


we deleted the grid they would spawn near and they could then join and not crash. so we wrote it off as the script in the PB. but i was testing another mod and a grid was causing me to get the same crash but the grid had no PB but it did have LCDs using the vanilla scripts like the analog clock and faction symbol so i deleted the LCDs and i could then go back to that grid. it was not crashing the server only the player near the affected lcd the spirits are working on

Comments (3)

photo
1

2021-01-27 16:30:19.611 - Thread:   1 ->  MyVoxelReplicable.OnLoad - isUserCreated:False isFromPrefab:True contentChanged:False data?: True
2021-01-27 16:30:27.321 - Thread:  22 ->  Exception in render!

Exception: ParallelTasks.TaskException: An exception(s) was thrown while executing a task.
   at ParallelTasks.WorkItem.ThrowExceptionsInternal(Int32 runId)
   at ParallelTasks.Task.WaitOrExecute(Boolean blocking)
   at ParallelTasks.Future`1.GetResult()
   at VRage.Render11.Render.MyOffscreenRenderer.Render()
   at VRageRender.MyRender11.DrawGameScene(IRtvBindable renderTarget, IBorrowedRtvTexture& debugAmbientOcclusion)
   at VRageRender.MyRender11.DrawScene()
   at VRageRender.MyRender11.FullDraw(Boolean draw)
   at VRageRender.MyRender11.Draw(Boolean draw)
   at VRageRender.ExternalApp.MyRenderThread.Draw()
   at VRageRender.ExternalApp.MyRenderThread.RenderFrame(Boolean async)
   at VRageRender.ExternalApp.MyRenderThread.RenderCallback(Boolean async)
Task exception, inner exception 0:
System.NullReferenceException: Object reference not set to an instance of an object.
   at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawMessage(MyRenderMessageBase drawMessage, Boolean touchTextures)
   at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawSpritesQueue(MySpriteMessageData messages, Boolean touchTextures)
   at VRageRender.MyRender11.DrawSpritesOffscreen(MyRenderContext rc, IRtvBindable texture, MySpriteMessageData messages, Vector2& aspectRatio, Nullable`1 clearColor, IBlendState blendState)
   at VRage.Render11.Render.MyOffscreenRenderer.RenderWork(MyData data, RenderTargetProxy renderTarget)
   at ParallelTasks.FutureWork`1.DoWork(WorkData workData)
   at ParallelTasks.WorkItem.DoWork(Int32 expectedID)

2021-01-27 16:30:27.328 - Thread:   1 ->  MyVoxelReplicable.OnLoad - isUserCreated:False isFromPrefab:True contentChanged:False data?: True
2021-01-27 16:30:27.329 - Thread:   1 ->  MyVoxelReplicable.OnLoad - isUserCreated:False isFromPrefab:True contentChanged:False data?: True
2021-01-27 16:30:27.541 - Thread:   1 ->  GUI Stats: Update 40.8376009444443, Draw 0.954019944444444
2021-01-27 16:30:27.557 - Thread:   1 ->  STATISTICS LEGEND,time,ReceivedPerSecond,SentPerSecond,PeakReceivedPerSecond,PeakSentPerSecond,OverallReceived,OverallSent,CPULoadSmooth,ThreadLoadSmooth,GetOnlinePlayerCount,Ping,GCMemoryUsed,ProcessMemory,PCUBuilt,PCU,GridsCount,RenderCPULoadSmooth,RenderGPULoadSmooth,HardwareCPULoad,HardwareAvailableMemory,FrameTime,LowSimQuality,FrameTimeLimit,FrameTimeCPU,FrameTimeGPU,CPULoadLimit,TrackedMemory,GCMemoryAllocated,PersistedEncounters,EncounterEntities
2021-01-27 16:30:30.005 - Thread:   1 ->  STATISTICS,0,2.034827,0.003991127,2.035089,0.01344299,2.490898,0.05360031,118.7407,1227.421,3,285,4439.641,10842.01,15304,0,2,23.63237,19.60078,0,36018,139.4171,1,16.66667,32.94756,27.32685,100,6997650635,4439.641,0,0
2021-01-27 16:30:30.007 - Thread:   1 ->  MEMORY LEGEND,Srv,Uav,Read,Debug,Index,Audio,SrvUav,Vertex,Buffers,Physics,Planets,Systems,Textures,Indirect,Constant,RwTextures,Dx11Render,MeshBuffers,FileTextures,DepthStencil,TileTextures,Voxels-Native,CustomTextures,HeightmapFaces,Mesh GPU Buffers,BitStreamBuffers,GeneratedTextures,FileArrayTextures,NativeDictionaries,CubemapDataBuffers,HeightDetailTexture,MyDeviceWriteBuffers,ShadowCascadesStatsBuffers,AI_PathFinding,EpicOnlineServices
2021-01-27 16:30:30.007 - Thread:   1 ->  MEMORY VALUES,1,1,0,1,27,959,36,105,185,63,852,6673,3790,0,0,113,3975,2,1905,31,0,59,15,384,4,4,12,1711,758,456,11,5,0,0,0
2021-01-27 16:30:30.098 - Thread:   1 ->  MyVoxelReplicable.OnLoad - isUserCreated:False isFromPrefab:True contentChanged:False data?: True
2021-01-27 16:30:30.612 - Thread:  22 ->  Additional information --
 Aftermath: Main(|FAIL_NotInitialized|Unknown|NotStarted) Deferred(MyOffscreenRenderer.RenderWork@|FAIL_NotInitialized|Unknown|NotStarted )
Statistics: Scene:
  Entities
    Actors: 909
    InstanceBuffers: 6
    GPUEmitters: 0
    Atmospheres: 10
    Clouds: 51
    DebugDrawMesh: 0
    Videos: 0
    Decals: 0
    Billboards: 173

  Actor Components
    MyLightComponent: 82
    MyRenderVoxelActor: 35
    MyInstanceComponent: 580
    MyResourcePrioritizationComponent: 810
    MyRenderableComponent: 206
    MyVoxelCellComponent: 18
    MyRotationAnimator: 41
    MyThrustFlameAnimator: 40
    MyTranslationAnimator: 20


2021-01-27 16:30:30.692 - Thread:   1 ->  MyVoxelReplicable.OnLoad - isUserCreated:False isFromPrefab:True contentChanged:False data?: True
2021-01-27 16:30:30.693 - Thread:   1 ->  MyVoxelReplicable.OnLoad - isUserCreated:False isFromPrefab:True contentChanged:False data?: True
2021-01-27 16:30:30.696 - Thread:   1 ->  GC Memory: 1800.354 / 1800.354 MB
2021-01-27 16:30:32.605 - Thread:  22 ->  Exception occurred: System.NullReferenceException: Object reference not set to an instance of an object.
   at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawMessage(MyRenderMessageBase drawMessage, Boolean touchTextures)
   at VRage.Render11.Sprites.MySpritesRenderer.ProcessDrawSpritesQueue(MySpriteMessageData messages, Boolean touchTextures)
   at VRageRender.MyRender11.DrawSpritesOffscreen(MyRenderContext rc, IRtvBindable texture, MySpriteMessageData messages, Vector2& aspectRatio, Nullable`1 clearColor, IBlendState blendState)
   at VRage.Render11.Render.MyOffscreenRenderer.RenderWork(MyData data, RenderTargetProxy renderTarget)
   at ParallelTasks.FutureWork`1.DoWork(WorkData workData)
   at ParallelTasks.WorkItem.DoWork(Int32 expectedID)
2021-01-27 16:30:32.605 - Thread:  22 ->  Exception Data:
	Exception Info: Holder ID: 81; m_runCount: 81; m_executing: 1; MaximumThreads: 1
	Work Options: MaximumThreads: 1, QueueFIFO: False, DebugName: OffscreenRender, TaskType: GUI
2021-01-27 16:30:32.606 - Thread:  22 ->  Task Exception Stack:
   at ParallelTasks.WorkItem.ThrowExceptionsInternal(Int32 runId)
   at ParallelTasks.Task.WaitOrExecute(Boolean blocking)
   at ParallelTasks.Future`1.GetResult()
   at VRage.Render11.Render.MyOffscreenRenderer.Render()
   at VRageRender.MyRender11.DrawGameScene(IRtvBindable renderTarget, IBorrowedRtvTexture& debugAmbientOcclusion)
   at VRageRender.MyRender11.DrawScene()
   at VRageRender.MyRender11.FullDraw(Boolean draw)
   at VRageRender.MyRender11.Draw(Boolean draw)
   at VRageRender.ExternalApp.MyRenderThread.Draw()
   at VRageRender.ExternalApp.MyRenderThread.RenderFrame(Boolean async)
   at VRageRender.ExternalApp.MyRenderThread.RenderCallback(Boolean async)
   at VRageRender.ExternalApp.MyRenderThread.RenderThreadStart(Object param)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ThreadHelper.ThreadStart(Object obj)
2021-01-27 16:30:32.606 - Thread:  22 ->  Showing message
2021-01-27 16:30:33.311 - Thread:  22 ->  
================================== CRASH INFO ==================================
AppVersion: 01_197_075
GameName: Space Engineers
IsOutOfMemory: False
IsGPU: False
IsNative: False
IsTask: True
IsExperimental: True
ProcessRunTime: 187
PCUCount: 15304
IsHang: False
GCMemory: 2102
GCMemoryAllocated: 2102
HWAvailableMemory: 36399
ProcessPrivateMemory: 11581
AnalyticId: SE
================================== OFNI HSARC ==================================

2021-01-27 16:30:33.312 - Thread:  22 ->  Log Closed

photo
2

For reference, since this involves my mod...

This is caused when a mod has a sprite (or in my case, a Faction icon) with a missing file.

Then a PB script tries to create an empty MySprite(), which crashes in the render with a NRE.

photo
1

Hello, Engineers,

thanks for letting us know about this issue that you are experiencing. The issue has been reported into our internal system.

Kind Regards

Keen Software House: QA Department