[1.201.013] Removing Grids Near Voxel Causes Error
Need More Information
When grids are being closed/removed from the world on a dedicated server, they tend to cause a physics exception if, at the time of deletion, they were interacting with voxels. This is most observable when grid deleting happens through clipboard (CTRL-X / CTRL-DELETE) or if the trash remover does so, which often leads to the crash in question; see attached log.
NOTE: Only seems to occur on dedicated servers.
Steps to reproduce:
1. Place non-station grids on top of voxel.
2. Remove these grids.
3. Repeat until bug shows itself.
Files:
SpaceEngineersD...
Hello, Slushtrap,
thanks for letting us know.
Are you able to reproduce this issue every time, or is there some condition that would trigger it? So far I was not able to reproduce it.
How exactly is the issue observable? You are writing that the game is crashing... often. That's quite self explanatory :) But since the world "often", and not "every time", I understand it, that some other times, it won't crash. How does it look in game in this situation? Does some error pop-up in the game itself as well, or are those visible only in the logs?
Do you have any grids, with that it happens more ofter than with others? Can you share BP of this, if any?
Are you only able to reproduce it on DS, as you wrote, or in other game modes as well?
The steps are still applicable or did you find any step that would make it more accurate? Any more information that you can share would help!
Thanks in advance.
Kind Regards
Keen Software House: QA Department
Hello, Slushtrap,
thanks for letting us know.
Are you able to reproduce this issue every time, or is there some condition that would trigger it? So far I was not able to reproduce it.
How exactly is the issue observable? You are writing that the game is crashing... often. That's quite self explanatory :) But since the world "often", and not "every time", I understand it, that some other times, it won't crash. How does it look in game in this situation? Does some error pop-up in the game itself as well, or are those visible only in the logs?
Do you have any grids, with that it happens more ofter than with others? Can you share BP of this, if any?
Are you only able to reproduce it on DS, as you wrote, or in other game modes as well?
The steps are still applicable or did you find any step that would make it more accurate? Any more information that you can share would help!
Thanks in advance.
Kind Regards
Keen Software House: QA Department
The issue does not appear every time, but the grids involved don't seem to matter. Sometimes it was a large rover with plenty of subgrids, while at another time a simple piece of debri around 100 blocks. The issue is observable given the server crashes when the bug kicks in and it displays a message similar to the error outlined at the end of the provided log; see:
2022-05-19 01:22:50.023 - Thread: 23 -> Exception occurred: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Havok.HkReferenceObject.HkReferenceObject_RemoveReference(IntPtr instance)
at Havok.HkEntity.Dispose(Boolean disposing)
at Havok.HkRigidBody.Dispose(Boolean disposing)
at Havok.HkHandle.DisposeInternal(Boolean disposing)
at Sandbox.Engine.Physics.MyPhysicsBody.CloseRigidBody()
at Sandbox.Engine.Physics.MyPhysicsBody.Close()
at Sandbox.Engine.Voxels.MyVoxelPhysicsBody.Close()
at VRage.Game.Entity.MyEntity.Delete()
at Sandbox.Game.Entities.MyEntities.DeleteRememberedEntities()
at Sandbox.Game.Entities.MyEntities.UpdateAfterSimulation()
at Sandbox.Game.World.MySector.UpdateAfterSimulation()
at Sandbox.Game.World.MySession.UpdateComponents()
at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at VRage.Dedicated.DedicatedServer.RunInternal(String instanceName)
at VRage.Dedicated.DedicatedServer.RunMain(String instanceName, String customPath, Boolean isService, Boolean showConsole, Boolean checkAlive)
at VRage.Dedicated.WindowsService.MainThreadStart(Object obj)
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)
2022-05-19 01:22:50.024 - Thread: 23 -> Showing message
2022-05-19 01:22:50.600 - Thread: 23 ->
In game it looks like the server crashes and the error itself is only observable through the logs, and as far as ive been able to test, only happens on DS. What is known is that using the entity list removal button does not induce the bug, thus i have two suggestions for getting it to happen:
Either throw around lots of grids then let trash remover cleanup (this seems to be the most common cause), or use grids with large amount of subgrids such as rovers, which will also remove more than one grid at a time that also interacts with voxel.
Lastly, while i don't think it entirely matters; the world settings have voxel damage disabled
The issue does not appear every time, but the grids involved don't seem to matter. Sometimes it was a large rover with plenty of subgrids, while at another time a simple piece of debri around 100 blocks. The issue is observable given the server crashes when the bug kicks in and it displays a message similar to the error outlined at the end of the provided log; see:
2022-05-19 01:22:50.023 - Thread: 23 -> Exception occurred: System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
at Havok.HkReferenceObject.HkReferenceObject_RemoveReference(IntPtr instance)
at Havok.HkEntity.Dispose(Boolean disposing)
at Havok.HkRigidBody.Dispose(Boolean disposing)
at Havok.HkHandle.DisposeInternal(Boolean disposing)
at Sandbox.Engine.Physics.MyPhysicsBody.CloseRigidBody()
at Sandbox.Engine.Physics.MyPhysicsBody.Close()
at Sandbox.Engine.Voxels.MyVoxelPhysicsBody.Close()
at VRage.Game.Entity.MyEntity.Delete()
at Sandbox.Game.Entities.MyEntities.DeleteRememberedEntities()
at Sandbox.Game.Entities.MyEntities.UpdateAfterSimulation()
at Sandbox.Game.World.MySector.UpdateAfterSimulation()
at Sandbox.Game.World.MySession.UpdateComponents()
at Sandbox.Game.World.MySession.Update(MyTimeSpan updateTime)
at Sandbox.MySandboxGame.Update()
at Sandbox.Engine.Platform.Game.UpdateInternal()
at Sandbox.Engine.Platform.Game.RunSingleFrame()
at Sandbox.Engine.Platform.FixedLoop.<>c__DisplayClass11_0.<Run>b__0()
at Sandbox.Engine.Platform.GenericLoop.Run(VoidAction tickCallback)
at Sandbox.Engine.Platform.Game.RunLoop()
at Sandbox.MySandboxGame.Run(Boolean customRenderLoop, Action disposeSplashScreen)
at VRage.Dedicated.DedicatedServer.RunInternal(String instanceName)
at VRage.Dedicated.DedicatedServer.RunMain(String instanceName, String customPath, Boolean isService, Boolean showConsole, Boolean checkAlive)
at VRage.Dedicated.WindowsService.MainThreadStart(Object obj)
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)
2022-05-19 01:22:50.024 - Thread: 23 -> Showing message
2022-05-19 01:22:50.600 - Thread: 23 ->
In game it looks like the server crashes and the error itself is only observable through the logs, and as far as ive been able to test, only happens on DS. What is known is that using the entity list removal button does not induce the bug, thus i have two suggestions for getting it to happen:
Either throw around lots of grids then let trash remover cleanup (this seems to be the most common cause), or use grids with large amount of subgrids such as rovers, which will also remove more than one grid at a time that also interacts with voxel.
Lastly, while i don't think it entirely matters; the world settings have voxel damage disabled
Update: The bug seems to effect all entities, not just grids, as removing players who are currently interacting, such as colliding, with voxel, also seems to cause the exact same error.
Update: The bug seems to effect all entities, not just grids, as removing players who are currently interacting, such as colliding, with voxel, also seems to cause the exact same error.
It appears the crash is not due to removing grids but rather connected to the removal of the voxels physicsbody, as the logs seem to imply. As of late, the crash was observed to happen even though no grid was removed; instead a character was moved away from voxel which then triggered the crash.
It appears the crash is not due to removing grids but rather connected to the removal of the voxels physicsbody, as the logs seem to imply. As of late, the crash was observed to happen even though no grid was removed; instead a character was moved away from voxel which then triggered the crash.
The problem does not appear to be a hardware issue, as the server has recently recieved new components including those related to memory, however the crash is still observable and quite often at that.
The problem does not appear to be a hardware issue, as the server has recently recieved new components including those related to memory, however the crash is still observable and quite often at that.
Hello, Slushtrap Gamer,
do you think this player was experiencing similar issue to yours? https://support.keenswh.com/spaceengineers/pc/topic/27424-crash-when-deleting-a-grid-in-automatons-beta
They were having the problem on beta but it could related. Could please also share your world where you are experiencing this crash? It could help me identify where the problem is. The save is located in the Roaming- Space engineers dedicated- saves. That is if your are playing on your own server.
Thank you in advance.
Kind regards,
Keen Software House: QA Department
Hello, Slushtrap Gamer,
do you think this player was experiencing similar issue to yours? https://support.keenswh.com/spaceengineers/pc/topic/27424-crash-when-deleting-a-grid-in-automatons-beta
They were having the problem on beta but it could related. Could please also share your world where you are experiencing this crash? It could help me identify where the problem is. The save is located in the Roaming- Space engineers dedicated- saves. That is if your are playing on your own server.
Thank you in advance.
Kind regards,
Keen Software House: QA Department
Of what i can read no, the issue is not the same. Have yet to see if it manifests itself in the newest update (1.202).
Of what i can read no, the issue is not the same. Have yet to see if it manifests itself in the newest update (1.202).
Replies have been locked on this page!