[Rseding91] [0.17.9] Modded:Cannot save map: Detected corruption of the game state
Posted: Sat Mar 09, 2019 9:31 am
Hi,
i am currently working on a mod and am encountering a reproduce-able game state corruption. I am seeing this in 0.17.9 and 0.17.0, i did not try intermediate versions. Also the mod needs 0.17.x so i cannot try it in 0.16.x
steps to reproduce:
add only one attached mod RepeatingIslands_0.1.1 start a new game
choose "island" from map type (mandatory, otherwise the mod doesn't work correctly)
change Island size to lowest 17% (not so relevant but should show the issue faster)
run the command
/c game.forces.player.chart(game.player.surface, {lefttop = {x = -2048, y = -2048}, rightbottom = {x = 2048, y = 2048}})
Wait, the corruption typically occurs within ~1-2 minutes. It is 100% reproduceable on my machine, i tried it at least 30 times while trying to narrow it down.
The mod creates a new surface with the island type in the background. once the island is completely generated it is copied over to nauvis, and another one is started.
The mod makes heavy use of the APIs is_chunk_generated/request_to_generate_chunks/force_generate_chunk_requests/count_tiles_filtered/clone_area/delete_surface.
I was not able to pin it down to one responsible call, but the combination in the current mod shows it the fastest for me.
I know the delete_surface call is not the cause since it happens also when i don't delete the surfaces and just use new ones.
i am currently working on a mod and am encountering a reproduce-able game state corruption. I am seeing this in 0.17.9 and 0.17.0, i did not try intermediate versions. Also the mod needs 0.17.x so i cannot try it in 0.16.x
steps to reproduce:
add only one attached mod RepeatingIslands_0.1.1 start a new game
choose "island" from map type (mandatory, otherwise the mod doesn't work correctly)
change Island size to lowest 17% (not so relevant but should show the issue faster)
run the command
/c game.forces.player.chart(game.player.surface, {lefttop = {x = -2048, y = -2048}, rightbottom = {x = 2048, y = 2048}})
Wait, the corruption typically occurs within ~1-2 minutes. It is 100% reproduceable on my machine, i tried it at least 30 times while trying to narrow it down.
The mod creates a new surface with the island type in the background. once the island is completely generated it is copied over to nauvis, and another one is started.
The mod makes heavy use of the APIs is_chunk_generated/request_to_generate_chunks/force_generate_chunk_requests/count_tiles_filtered/clone_area/delete_surface.
I was not able to pin it down to one responsible call, but the combination in the current mod shows it the fastest for me.
I know the delete_surface call is not the cause since it happens also when i don't delete the surfaces and just use new ones.