Graphics crash from no-overlay in turrets but only when loading into it controlled

Digi shared this bug 2 days ago
Reported

This only occurs with mods as I think all vanilla turrets have an overlay.


Thread:   4 ->  Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at VRageRender.MyRender11.RenderMainSpritesWorker(IRtvBindable rtv, MyViewport viewportBound, MyViewport viewportFull, Vector2 size, MySpriteMessageData defaultMessages, MySpriteMessageData debugMessages, Nullable`1 targetRegion)
   at VRageRender.MyRender11.<>c__DisplayClass150_1.<RenderMainSprites>b__0()
   at ParallelTasks.DelegateWork.DoWork(WorkData workData)
   at ParallelTasks.WorkItem.DoWork(Int32 expectedID)
...
Thread:  24 ->  Exception in render!

Exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at VRage.Render11.RenderContext.MyRenderContextStatistics.Gather(MyRenderContextStatistics other)
   at VRage.Render11.RenderContext.MyRenderContext.ExecuteContext(MyFinishedContext& fc, String caller, Int32 callerLine, String callerPath)
   at VRageRender.MyRender11.ConsumeMainSprites()
   at VRageRender.MyRender11.FullDraw(Boolean draw)
   at VRageRender.MyRender11.Draw(Boolean draw)
   at VRageRender.MyDX11Render.Draw(Boolean draw)
   at VRageRender.MyRenderProxy.Draw()

This stacktrace probably covers multiple GUI/HUD crashes, but this particular one is identified: when you save the world while controlling a turret and that turret has <OverlayTexture> not set or set to a missing texture, then the game will crash upon loading that world. It does not crash if you control the turret later during the session (haven't tried all the cases ofc).


STR:

1. Get the attached local mod and extract to %appdata%/SpaceEngineers/Mods/ - this mod only changes the largegrid gatling turret to not have <OverlayTexture> defined anymore.

2. Create/load a world that has that local mod added, creative is fine (or survival+creative tools works too).

3. Place a largegrid battery, cockpit and find the "NoOverlay" turret and place that too.

4. Enter the cockpit then take control of the turret and stay there.

5. Save world and reload world, once it finishes loading you'll get the crash.

Replies (1)

photo
1

Hello Engineer,

Thank you for reaching our forum with this issue.

Issue was successfully reproduced on our side, and we have added it into our internal system.

Kind regards,

Keen Software House: QA Department

Leave a Comment
 
Attach a file
Access denied