View Issue Details

IDProjectCategoryView StatusLast Update
0000212Medieval EngineersBugpublic2022-05-11 21:22
Reportershad Assigned Togwindalmir  
PriorityurgentSeveritycrashReproducibilityhave not tried
Status closedResolutionfixed 
PlatformWindowsOS2016 1607OS Version14393
Product Version0.7.3.33D4BB 
Target Version0.7.3.968CF8Fixed in Version0.7.3.968CF8 
Summary0000212: [DS] Crash: System.InvalidOperationException exception causes auto-save to fail and stop working
Description

[DS] Crash: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
See attached logfile.
Not a crash, but an exception while the server tried to do an autosave (see line 8121). After that, no autosaves ever happened again. The server crashed eventually and hours of progress went down the drain.

TagsSession

Relationships

has duplicate 0000081 closedequinox DS crash while autosaving  
related to 0000289 assignedgwindalmir [DS] Crash: System.InvalidOperationException: Collection was modified; enumeration operation may not execute.  

Activities

shad

2022-04-11 07:44

reporter   #~0000125

gwindalmir

2022-04-11 12:43

administrator   #~0000134

So, it looks like there's two issues:

  1. Voxel parsing isn't threadsafe
  2. The saving process creates a lock file, but it's not removed in the case of an error.

As a workaround, if this happens again, you should be able to delete the "save.lock" file in the save folder to resume auto-saving.

gwindalmir

2022-04-22 20:29

administrator   #~0000207

Ok, so here's what's going on:
I created a separate ticket, 0000289, to handle the InvalidOperationException thrown during save. This issue is much more complicated to resolve, and probably won't make it in the next hotfix.

However, the second issue, where auto-saves break, that's a much simpler issue to resolve. So I did.
The exception will still occur, however while the current save will fail, auto-saves will still continue working, so the next save should be successful.
At least this way if and when it occurs again, potentially hours of work won't be lost.

Issue History

Date Modified Username Field Change
2022-04-11 07:43 shad New Issue
2022-04-11 07:43 shad Tag Attached: Server
2022-04-11 07:44 shad Note Added: 0000125
2022-04-11 07:44 shad File Added: MedievalEngineersDedicated_20220411_111300.log
2022-04-11 12:18 gwindalmir Assigned To => gwindalmir
2022-04-11 12:18 gwindalmir Status new => in progress
2022-04-11 12:43 gwindalmir Note Added: 0000134
2022-04-11 14:15 equinox Target Version => 0.7.3.968CF8
2022-04-12 04:01 gwindalmir Tag Attached: Session
2022-04-12 04:01 gwindalmir Tag Detached: Server
2022-04-22 20:19 gwindalmir Issue cloned: 0000289
2022-04-22 20:19 gwindalmir Relationship added related to 0000289
2022-04-22 20:29 gwindalmir Status in progress => resolved
2022-04-22 20:29 gwindalmir Resolution open => fixed
2022-04-22 20:29 gwindalmir Fixed in Version => 0.7.3.968CF8
2022-04-22 20:29 gwindalmir Note Added: 0000207
2022-04-28 11:44 equinox Relationship added has duplicate 0000081
2022-05-11 20:26 gwindalmir Status resolved => closed
2022-05-11 20:26 gwindalmir Summary [DS] Crash: System.InvalidOperationException: Collection was modified; enumeration operation may not execute. => [DS] Crash: System.InvalidOperationException exception causes auto-save to fail and stop working
2022-05-11 20:26 gwindalmir Description Updated
2022-05-11 21:22 equinox Fixed in Version 0.7.3.968CF8 =>
2022-05-11 21:22 equinox Target Version 0.7.3.968CF8 =>
2022-05-11 21:22 equinox Fixed in Version => 0.7.3.968CF8
2022-05-11 21:22 equinox Target Version => 0.7.3.968CF8