Page 1 of 2

[0.13.0/1/2/3] Desync loop (instant, vanilla)

Posted: Mon Jun 27, 2016 7:47 pm
by steuff
We tried loading our huge map (zip file is just above 20MB) from 0.12.35, and while the server does that with no problems, the clients have issues. After downloading the map when connecting, a desync message appears, and the client redownloads the map. Then another desync message appears, and the map is redownloaded again. This repeats until we shut down the server or the clients gets bored and halt the game.

Have tried with various latency settings, no change.

Re: [0.13.0] Desync loop when trying to connect to server

Posted: Mon Jun 27, 2016 7:48 pm
by Smarty
please provide the desync report

Re: [0.13.0] Desync loop when trying to connect to server

Posted: Mon Jun 27, 2016 7:57 pm
by Loewchen
See my signature on how to find the report.

Re: [0.13.0] Desync loop when trying to connect to server

Posted: Mon Jun 27, 2016 8:30 pm
by steuff
Desync report added.

More details: Pure vanilla Factorio, i.e. no mods. Desync is instant. Tried two different hosts, with two different savegames (of the same map, saved within seconds of each other on different computers).

Edit: Link to complete desync report directory (zipped): Dropbox

Re: [0.13.0] Desync loop when trying to connect to server

Posted: Mon Jun 27, 2016 8:52 pm
by Loewchen
steuff wrote:Desync report added.

More details: Pure vanilla Factorio, i.e. no mods. Desync is instant. Tried two different hosts, with two different savegames (of the same map, saved within seconds of each other on different computers).
That is not a desync-report, please read the info in the link again.

Re: [0.13.0] Desync loop when trying to connect to server

Posted: Mon Jun 27, 2016 9:24 pm
by Gurrzz
Do you want desync reports from me as well? If it is valuable to have them from different clients even though it is from the same game then I could post it. I was trying to play with Steuff on the same server.

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Tue Jun 28, 2016 5:22 am
by Koub
If desync reports from both sides are easily available, it's always a better thing to post them. They are not always useful, but often are.

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Tue Jun 28, 2016 5:41 pm
by Skami
I'm experience this same issue with playing with Steuff and Gurrzz

My desync report can be found here:
http://puu.sh/pJcX3/a389ae8021.zip

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Tue Jun 28, 2016 5:58 pm
by Gurrzz
Here is one of my crash reports. I had 11 from all the attempts to connect, all from the same time, but I hope this will do. Otherwise I can upload the others too.

http://puu.sh/pJdZT/7537b8f57c.zip

/Gurrzz

Fixed the Link -Loewchen

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 2:41 pm
by Rseding91
When I load up the save file and connect 2 clients locally to each other it has no issues.

What are the operating systems of the peers in the session?

Does it desync for you if you start 2 local instances and connect them?

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 3:59 pm
by Gurrzz
I have

OS: Microsoft Windows 10 Home
Version: 10.0.10586 build 10586

I only have one computer, is it possible to launch and connect two instances of the game running on the same computer? And will it be sufficient to test what you ask for? Otherwise I can't perform that test (don't know about Steuff or Skami though).

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 7:01 pm
by Gurrzz
Just tried the same thing in 0.13.1 and we still had a desync. I will append a link to the 0.13.1 desync report as well.

http://puu.sh/pKve4/7e70a1db30.zip

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 7:07 pm
by Skami
The same thing happens when I try to connect to a game over LAN (physically 3 feet away from each other) https://dl.dropboxusercontent.com/u/129 ... -59-30.zip

Running Windows 8.1
and
Windows 7 on the other machine

(File is still uploading due to it's size)

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 7:18 pm
by steuff
OS: Windows 8.1 x64

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 7:32 pm
by Skami
We've tried to do the same thing with a headless server running 0.13.1 and connecting a client to it from the same LAN and the desync loop happens there as well.
From console I was able to grab the following information

Code: Select all

 71.394 Info MultiplayerManager.cpp:1143: networkTick(3972) mapTick(12968747) received stateChanged peerID(1) oldState(ConnectedWaitingForMap) newState(ConnectedDownloadingMap)
  73.211 Info MultiplayerManager.cpp:1143: networkTick(4081) mapTick(12968747) received stateChanged peerID(1) oldState(ConnectedDownloadingMap) newState(ConnectedLoadingMap)
  73.211 Canceling serving for peer 1
  73.211 Info MultiplayerManager.cpp:996: networkTick(4081) mapTick(12968747) changing state from(InGameSendingMap) to(InGameWaitingForOthers)
  74.877 Info MultiplayerManager.cpp:1143: networkTick(4181) mapTick(12968747) received stateChanged peerID(0) oldState(InGameSendingMap) newState(InGameWaitingForOthers)
  74.910 Info MultiplayerManager.cpp:1143: networkTick(4183) mapTick(12968747) received stateChanged peerID(1) oldState(ConnectedLoadingMap) newState(InGameWaitingForOthers)
  74.910 Info MultiplayerManager.cpp:1342: networkTick(4183) mapTick(12968747) stopping mapAlign
  74.911 Info MultiplayerManager.cpp:996: networkTick(4183) mapTick(12968747) changing state from(InGameWaitingForOthers) to(InGame)
  74.911 Info MultiplayerManager.cpp:1706: networkTick(4183) mapTick(12968747) peerID(0) fullStateLog: local state(InGame) local peers(((peerID(0) state(InGameWaitingForOthers) mapAlignTick(-1))
((peerID(1) state(InGameWaitingForOthers) mapAlignTick(-1))
)
  76.577 Info MultiplayerManager.cpp:1143: networkTick(4283) mapTick(12968847) received stateChanged peerID(0) oldState(InGameWaitingForOthers) newState(InGame)
  76.577 Info MultiplayerManager.cpp:1143: networkTick(4283) mapTick(12968847) received stateChanged peerID(1) oldState(InGameWaitingForOthers) newState(InGame)
  76.616 Error NetworkInputHandler.cpp:375: Multiplayer desynchronisation: crc test(CheckCRCHeuristic) failed for mapTick(12968747) peer(1) testCrc(-1944093394) testCrcPeerID(0) currentCrc(-209221327)
  76.616 Info NetworkInputHandler.cpp:442: Desync specification: Reference CRC = 2350873902, reference peers = {0}, desynced group = {CRC = 4085745969, peers = {1}}
  76.616 Info NetworkInputHandler.cpp:608: assigning playerIndex(2) to peer(1)
  76.616 Info GameActionHandler.cpp:2611: MapTick(12968850) processed PlayerJoinGame peerID(1) playerIndex(2) mode(connect)
  76.633 Error NetworkInputHandler.cpp:375: Multiplayer desynchronisation: crc test(CheckCRCHeuristic) failed for mapTick(12968748) peer(1) testCrc(-975744854) testCrcPeerID(0) currentCrc(280848021)
  76.633 Info NetworkInputHandler.cpp:442: Desync specification: Reference CRC = 3319222442, reference peers = {0}, desynced group = {CRC = 280848021, peers = {1 (steuff)}}
  76.650 Error NetworkInputHandler.cpp:375: Multiplayer desynchronisation: crc test(CheckCRCHeuristic) failed for mapTick(12968749) peer(1) testCrc(-613788614) testCrcPeerID(0) currentCrc(234906117)
  76.650 Info NetworkInputHandler.cpp:442: Desync specification: Reference CRC = 3681178682, reference peers = {0}, desynced group = {CRC = 234906117, peers = {1 (steuff)}}
-- etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc
-- etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc etc
78.283 Error NetworkInputHandler.cpp:375: Multiplayer desynchronisation: crc test(CheckCRCHeuristic) failed for mapTick(12968847) peer(1) testCrc(-818366906) testCrcPeerID(0) currentCrc(-1331674535)
  78.283 Info NetworkInputHandler.cpp:442: Desync specification: Reference CRC = 3476600390, reference peers = {0}, desynced group = {CRC = 2963292761, peers = {1 (steuff)}}
  78.294 Info MultiplayerManager.cpp:1143: networkTick(4386) mapTick(12968950) received stateChanged peerID(1) oldState(InGame) newState(Desynced)
  78.294 Info MultiplayerManager.cpp:996: networkTick(4386) mapTick(12968950) changing state from(InGame) to(InGameAligning)
  78.294 Info MultiplayerManager.cpp:1818: networkTick(4386) mapTick(12968950) starting mapAlign
  79.949 Info PosixUDPSocket.cpp:279: Increasing size of socket buffer to 8192
  79.960 Info MultiplayerManager.cpp:1143: networkTick(4486) mapTick(12968950) received stateChanged peerID(0) oldState(InGame) newState(InGameAligning)
  79.960 Info MultiplayerManager.cpp:1143: networkTick(4486) mapTick(12968950) received stateChanged peerID(1) oldState(Desynced) newState(DesyncedAligning)
  79.960 Info MultiplayerManager.cpp:1752: networkTick(4486) mapTick(12968950) sending mapAlignAction
  81.627 Info MultiplayerManager.cpp:1390: networkTick(4586) mapTick(12968950) received MapAlignAction from peer(0), mapAlignTick(12968951) appliedTickClosuresCount(0)
  81.627 Info MultiplayerManager.cpp:1390: networkTick(4586) mapTick(12968950) received MapAlignAction from peer(1), mapAlignTick(12968851) appliedTickClosuresCount(305)
  81.627 Info MultiplayerManager.cpp:1834: networkTick(4587) mapTick(12968950) mapAlign finished targetTick(12968951) updating map and running the tasks ...
  81.627 Info MultiplayerManager.cpp:1706: networkTick(4587) mapTick(12968950) peerID(0) fullStateLog: local state(InGameAligning) local peers(((peerID(0) state(InGameAligning) mapAlignTick(12968951))
((peerID(1) state(DesyncedAligning) mapAlignTick(12968851))
)
  81.633 Info MultiplayerManager.cpp:1853: maptick(12968951) crc before applying all ticks: -1673993885
  81.633 Info NetworkInputHandler.cpp:670: applyAllTickClosures: expectedMapTick(12968951) lastTickApplied(12968848) referenceMapTick(12968951) networkTick(4587)
  81.633 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(12968849) inputActions((CheckCRCHeuristic) ) ) for peer(0)
  81.633 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(12968849) inputActions((CheckCRCHeuristic) ) ) for peer(1)
  81.633 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(12968850) inputActions((CheckCRCHeuristic) ) ) for peer(0)
  81.633 Info NetworkInputHandler.cpp:694: applyAllTickClosures: applying tickClosure(tick(12968851) inputActions((CheckCRCHeuristic) ) ) for peer(0)

-- from here it loops pretty much the same information as above...
I'm not sure if it's any help I just thought I could add the test information.

Re: [0.13.0] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 7:34 pm
by steuff
And the desync report from the client (mine) trying to connect to the headless server: http://puu.sh/pKy3l/0f0299e2ef.zip

Re: [0.13.0]/[0.13.1] Desync loop (instant, vanilla)

Posted: Wed Jun 29, 2016 11:40 pm
by Rseding91
I fixed a desync issue related to rail signals and rails for 0.13.2 that might possibly cause your issues here. When 0.13.2 comes out please re-test this and see if it still happens.

Re: [0.13.0]/[0.13.1] Desync loop (instant, vanilla)

Posted: Fri Jul 01, 2016 9:37 pm
by Mr. Turret
I'm having constant desyncs as well. Playing for 1-2 hours on the map. Both players getting desync if the other one is host.
Using 0.13.3 without any mods, Windows 10.

I think the last thing I crafted before the desync was an offshore pump, maybe this helps!

desync report: https://www.dropbox.com/s/3707k0snmja46 ... 4.zip?dl=0

Hope this helps!

Re: [0.13.0]/[0.13.1] Desync loop (instant, vanilla)

Posted: Fri Jul 01, 2016 9:59 pm
by daniel34
Mr. Turret wrote:I'm having constant desyncs as well. Playing for 1-2 hours on the map. Both players getting desync if the other one is host.
Using 0.13.3 without any mods, Windows 10.

I think the last thing I crafted before the desync was an offshore pump, maybe this helps!
That's a different desync and resolved for 0.13.4: [0.13.3] Desync by holding offshore pump in hand

Re: [0.13.0]/[0.13.1] Desync loop (instant, vanilla)

Posted: Fri Jul 01, 2016 10:10 pm
by Mr. Turret
I was able to reproduce the problem! Use this savegame: https://www.dropbox.com/s/rp8tdmqh46pjy ... e.zip?dl=0
I used two factorio local instances, one steam and one drm free. Server host is "Mr. Turret", connect as "NT" with 2nd instance.

As Mr. Turret:
- Run down the 3 transport belts and grab all iron plates from the chest
- Craft an offshore pump
- Try placing the offshore pump
- desync!

Hope this helps fixing the bug :)