I played a multiplayer game with the Warp-Drive-Machine mod with some windows PCs and an OSX (M1/arm64) laptop.What did you do?
The OSX factorio instance hangs soon after landing on a new planet. The windows instances work just fine.What happened?
I expected all clients to behave the same way (and ideally not hang).What did you expect to happen instead? It might be obvious to you, but do it anyway!
I have a save that reproduces this problem (attached).Does it happen always, once, or sometimes?
I did some amount of debugging attempts. When factorio is hung in this state, it is using 1 CPU worth of resources, and running commands like
Code: Select all
sudo sample 3236 10 -file /tmp/factorio_sample2.txt
I have not tried loading the save on linux, so I don't know whether it works there or not.
I am willing to do work to try and help debug, including changing the mod code. I'd love to at least have some understanding of what I should even be looking for though. I don't really understand what would cause infinite-map-generation.
Note that in the attached save, the game actually hangs a tiny bit after loading (maybe 30 ticks or something).
Code: Select all
8360 Thread_37889358: MapGenerationHelper
8360 thread_start (in libsystem_pthread.dylib) + 8 [0x185cef0fc]
8360 _pthread_start (in libsystem_pthread.dylib) + 136 [0x185cf42e4]
8360 std::__thread_proxy[abi:v160006]<std::tuple<std::unique_ptr<std::__thread_struct>, void (MapGenerationHelper::*)(), MapGenerationHelper*>>(void*) (in factorio) + 72 [0x106c689f>
8360 MapGenerationHelper::consumeTasks() (in factorio) + 484 [0x106001f80] MapGenerationHelper.cpp:153
8360 EntityMapGenerationTask::compute() (in factorio) + 52 [0x105fdfba4] EntityMapGenerationTask.cpp:111
8360 EntityMapGenerationTask::computeInternal() (in factorio) + 104 [0x105fdfc70] EntityMapGenerationTask.cpp:134
8357 Noise::multioctaveNoise(float, float, unsigned int, unsigned int, float, float, float, float, float, NoiseScratch&, float*) const (in factorio) + 332 [0x1060f5e84] Noi>
! 3516 Noise::noise(float, float, unsigned int, unsigned int, float, float, float, NoiseScratch&, float*) const (in factorio) + 900,904,... [0x1060f57bc,0x1060f57c0,...] No>
! 2044 Noise::noise(float, float, unsigned int, unsigned int, float, float, float, NoiseScratch&, float*) const (in factorio) + 864,836,... [0x1060f5798,0x1060f577c,...] No>
! 969 Noise::noise(float, float, unsigned int, unsigned int, float, float, float, NoiseScratch&, float*) const (in factorio) + 888,884,... [0x1060f57b0,0x1060f57ac,...] Noi>