Bug#629272: sync errors during on-line play
Oh and one more note, just FYI: Sync errors are not related to timing. The patches should be 100% safe to apply. What will cause sync errors is when the same code gives a different result on one client as on another client. This can happen for various reasons: - Broken code (either in Spring itself or any library it uses) overwrites random memory that happens to be used in "synced" calculations - Different compiler optimizations - in particular ones that reduce / improve floating point accuracy - or change from X87 math to SSE math or vice versa Note though that with GCC 4.0 up to at least 4.4 the normal optimization options (-O0..-O3) all synced perfectly. - Miscompilations - Our "known good" build flags are overridden by something unsafe. - Different floating point accuracy selected in the processor. Spring typically ensures the correct mode is selected, but some libraries like to reset it... - Bugs in Spring or any libs used for synced calculations that make the results of those synced calculations depend on unsynced data. I hope that was useful :-) Regards, Tobi On 5 June 2011 13:45, Tobi Vollebregt wrote: > Hi, > > I've actually noticed a few days ago that on Fedora 15 I also desync > with current release build. I am a developer but I am kind of inactive > so I didn't play online since Fedora 13. > > So if new Debian packages also desync that suggests to me that > something in the whole stack has been upgraded during this time which > breaks sync. > > I already did some tests (although on Fedora of course, but it looks > like this affects all distros): > > - self compiled spring with distro's gcc 4.6 : desync > - packaged spring (compiled with gcc 4.6) : desync > - self compiled spring using self compiled gcc 4.5 : desync > - someone else on Ubuntu (unknown version), using a self-compiled gcc > 4.6 : NO desync > - yet someone else on latest Ubuntu, using packaged gcc 4.6 : desync > > So to me this suggests that probably some upgraded library is to > blame, or gcc 4.6 contains some miscompile but only with certain > compilation options, but the search space is huge :-/ > > I'll keep you informed if I figure out more on why it happens / how to > solve it on Fedora, as the solution would probably apply to Debian > too. > > Regards, > > Tobi > > > On 5 June 2011 12:11, Jan Dittberner wrote: >> On Sun, Jun 05, 2011 at 10:16:39AM +0200, Piotr Majkrzak wrote: >>> Package: spring >>> Version: 0.82.7.1+dfsg1-3 >>> Severity: important >>> >>> Hi, >>> I have problem when I'm trying to play on-line, because I have lot of "sync >>> errors". >>> http://springrts.com/wiki/Build_from_source says that it can be caused by >>> wrong build. >>> Yours sincerely >>> Piotr Majkrzak >> >> I just checked a network game and got (few) sync errors too. Maybe this is >> related to the patch [1] added recently to fix the GCC 4.6 build failures. >> Upstream did not have objections to use this patch but maybe it introduces >> some minor timing issues. >> >> [1] >> http://anonscm.debian.org/gitweb/?p=pkg-games/spring.git;a=history;f=debian/patches/ftbfs-fix-625097.patch >> >> Thanks for reporting the issue. >> >> >> Jan Dittberner >> >>> -- System Information: >>> Debian Release: wheezy/sid >>> APT prefers unstable >>> APT policy: (500, 'unstable') >>> Architecture: amd64 (x86_64) >>> >>> Kernel: Linux 2.6.39-1-amd64 (SMP w/2 CPU cores) >>> Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) >>> Shell: /bin/sh linked to /bin/dash >>> >>> Versions of packages spring depends on: >>> ii libboost-program-option 1.46.1-5 program options library for C++ >>> ii libboost-regex1.46.1 1.46.1-5 regular expression library for >>> C++ >>> ii libboost-signals1.46.1 1.46.1-5 managed signals and slots >>> library >>> ii libboost-system1.46.1 1.46.1-5 Operating system (e.g. >>> diagnostics >>> ii libboost-thread1.46.1 1.46.1-5 portable C++ multi-threading >>> ii libc6 2.13-4 Embedded GNU C Library: Shared >>> lib >>> ii libdevil1c2 1.7.8-6+b1 Cross-platform image loading >>> and m >>> ii libfreetype6 2.4.4-1 FreeType 2 font engine, shared >>> lib >>> ii libgcc1 1:4.6.0-11 GCC support library >>> ii libgl1-mesa-glx [libgl1 7.10.2-3 free implementation of the >>> OpenGL >>> ii libglew1.5 1.5.8-3 The OpenGL Extension Wrangler >>> - ru >>> ii libglu1-mesa [libglu1] 7.10.2-3 The OpenGL utility library >>> (GLU) >>> ii libogg0 1.2.2~dfsg-1 Ogg bitstream library >>> ii libopenal1 1:1.13-2 Software implementation of the >>> Ope >>> ii libsdl1.2debian 1.2.14-6.4 Simple DirectMedia Layer >>> ii libstdc++6 4.6.0-11 The GNU Standard C++ Library v3 >>> ii libvorbis0a 1.3.2-1 The Vorbis General Audio >>> Compressi >>> ii libvorbisfile3
Bug#629272: sync errors during on-line play
Hi, I've actually noticed a few days ago that on Fedora 15 I also desync with current release build. I am a developer but I am kind of inactive so I didn't play online since Fedora 13. So if new Debian packages also desync that suggests to me that something in the whole stack has been upgraded during this time which breaks sync. I already did some tests (although on Fedora of course, but it looks like this affects all distros): - self compiled spring with distro's gcc 4.6 : desync - packaged spring (compiled with gcc 4.6) : desync - self compiled spring using self compiled gcc 4.5 : desync - someone else on Ubuntu (unknown version), using a self-compiled gcc 4.6 : NO desync - yet someone else on latest Ubuntu, using packaged gcc 4.6 : desync So to me this suggests that probably some upgraded library is to blame, or gcc 4.6 contains some miscompile but only with certain compilation options, but the search space is huge :-/ I'll keep you informed if I figure out more on why it happens / how to solve it on Fedora, as the solution would probably apply to Debian too. Regards, Tobi On 5 June 2011 12:11, Jan Dittberner wrote: > On Sun, Jun 05, 2011 at 10:16:39AM +0200, Piotr Majkrzak wrote: >> Package: spring >> Version: 0.82.7.1+dfsg1-3 >> Severity: important >> >> Hi, >> I have problem when I'm trying to play on-line, because I have lot of "sync >> errors". >> http://springrts.com/wiki/Build_from_source says that it can be caused by >> wrong build. >> Yours sincerely >> Piotr Majkrzak > > I just checked a network game and got (few) sync errors too. Maybe this is > related to the patch [1] added recently to fix the GCC 4.6 build failures. > Upstream did not have objections to use this patch but maybe it introduces > some minor timing issues. > > [1] > http://anonscm.debian.org/gitweb/?p=pkg-games/spring.git;a=history;f=debian/patches/ftbfs-fix-625097.patch > > Thanks for reporting the issue. > > > Jan Dittberner > >> -- System Information: >> Debian Release: wheezy/sid >> APT prefers unstable >> APT policy: (500, 'unstable') >> Architecture: amd64 (x86_64) >> >> Kernel: Linux 2.6.39-1-amd64 (SMP w/2 CPU cores) >> Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) >> Shell: /bin/sh linked to /bin/dash >> >> Versions of packages spring depends on: >> ii libboost-program-option 1.46.1-5 program options library for C++ >> ii libboost-regex1.46.1 1.46.1-5 regular expression library for >> C++ >> ii libboost-signals1.46.1 1.46.1-5 managed signals and slots >> library >> ii libboost-system1.46.1 1.46.1-5 Operating system (e.g. >> diagnostics >> ii libboost-thread1.46.1 1.46.1-5 portable C++ multi-threading >> ii libc6 2.13-4 Embedded GNU C Library: Shared >> lib >> ii libdevil1c2 1.7.8-6+b1 Cross-platform image loading >> and m >> ii libfreetype6 2.4.4-1 FreeType 2 font engine, shared >> lib >> ii libgcc1 1:4.6.0-11 GCC support library >> ii libgl1-mesa-glx [libgl1 7.10.2-3 free implementation of the >> OpenGL >> ii libglew1.5 1.5.8-3 The OpenGL Extension Wrangler - >> ru >> ii libglu1-mesa [libglu1] 7.10.2-3 The OpenGL utility library (GLU) >> ii libogg0 1.2.2~dfsg-1 Ogg bitstream library >> ii libopenal1 1:1.13-2 Software implementation of the >> Ope >> ii libsdl1.2debian 1.2.14-6.4 Simple DirectMedia Layer >> ii libstdc++6 4.6.0-11 The GNU Standard C++ Library v3 >> ii libvorbis0a 1.3.2-1 The Vorbis General Audio >> Compressi >> ii libvorbisfile3 1.3.2-1 The Vorbis General Audio >> Compressi >> ii libx11-6 2:1.4.3-1 X11 client-side library >> ii libxcursor1 1:1.1.11-1 X cursor management library >> ii otf-freefont 20100919-1 Freefont Serif, Sans and Mono >> Open >> ii spring-common 0.82.7.1+dfsg1-3 a modern full-3D RTS game >> engine ( >> ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime >> >> Versions of packages spring recommends: >> ii springlobby [spring-lobby] 0.130-1 single/multiplayer lobby for >> the S >> >> Versions of packages spring suggests: >> pn libtxc-dxtn0 (no description available) >> pn spring-javaai (no description available) >> pn spring-maps-deltasiege | spri (no description available) >> pn spring-mods-kernelpanic | spr (no description available) >> >> -- no debconf information >> >> >> >> ___ >> Pkg-games-devel mailing list >> pkg-games-de...@lists.alioth.debian.org >> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-devel >> > > -- > Jan Dittberner - Debian Developer > GPG-key: 4096R/558FB8DD 2009-05-10 > B2FF 1D95 CE8F 7A
Bug#629272: sync errors during on-line play
On Sun, Jun 05, 2011 at 10:16:39AM +0200, Piotr Majkrzak wrote: > Package: spring > Version: 0.82.7.1+dfsg1-3 > Severity: important > > Hi, > I have problem when I'm trying to play on-line, because I have lot of "sync > errors". > http://springrts.com/wiki/Build_from_source says that it can be caused by > wrong build. > Yours sincerely > Piotr Majkrzak I just checked a network game and got (few) sync errors too. Maybe this is related to the patch [1] added recently to fix the GCC 4.6 build failures. Upstream did not have objections to use this patch but maybe it introduces some minor timing issues. [1] http://anonscm.debian.org/gitweb/?p=pkg-games/spring.git;a=history;f=debian/patches/ftbfs-fix-625097.patch Thanks for reporting the issue. Jan Dittberner > -- System Information: > Debian Release: wheezy/sid > APT prefers unstable > APT policy: (500, 'unstable') > Architecture: amd64 (x86_64) > > Kernel: Linux 2.6.39-1-amd64 (SMP w/2 CPU cores) > Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) > Shell: /bin/sh linked to /bin/dash > > Versions of packages spring depends on: > ii libboost-program-option 1.46.1-5 program options library for C++ > ii libboost-regex1.46.11.46.1-5 regular expression library for > C++ > ii libboost-signals1.46.1 1.46.1-5 managed signals and slots > library > ii libboost-system1.46.1 1.46.1-5 Operating system (e.g. > diagnostics > ii libboost-thread1.46.1 1.46.1-5 portable C++ multi-threading > ii libc6 2.13-4 Embedded GNU C Library: Shared > lib > ii libdevil1c2 1.7.8-6+b1 Cross-platform image loading and > m > ii libfreetype62.4.4-1 FreeType 2 font engine, shared > lib > ii libgcc1 1:4.6.0-11 GCC support library > ii libgl1-mesa-glx [libgl1 7.10.2-3 free implementation of the > OpenGL > ii libglew1.5 1.5.8-3 The OpenGL Extension Wrangler - > ru > ii libglu1-mesa [libglu1] 7.10.2-3 The OpenGL utility library (GLU) > ii libogg0 1.2.2~dfsg-1 Ogg bitstream library > ii libopenal1 1:1.13-2 Software implementation of the > Ope > ii libsdl1.2debian 1.2.14-6.4 Simple DirectMedia Layer > ii libstdc++6 4.6.0-11 The GNU Standard C++ Library v3 > ii libvorbis0a 1.3.2-1 The Vorbis General Audio > Compressi > ii libvorbisfile3 1.3.2-1 The Vorbis General Audio > Compressi > ii libx11-62:1.4.3-1X11 client-side library > ii libxcursor1 1:1.1.11-1 X cursor management library > ii otf-freefont20100919-1 Freefont Serif, Sans and Mono > Open > ii spring-common 0.82.7.1+dfsg1-3 a modern full-3D RTS game engine > ( > ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime > > Versions of packages spring recommends: > ii springlobby [spring-lobby]0.130-1single/multiplayer lobby for the > S > > Versions of packages spring suggests: > pn libtxc-dxtn0 (no description available) > pn spring-javaai (no description available) > pn spring-maps-deltasiege | spri (no description available) > pn spring-mods-kernelpanic | spr (no description available) > > -- no debconf information > > > > ___ > Pkg-games-devel mailing list > pkg-games-de...@lists.alioth.debian.org > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-devel > -- Jan Dittberner - Debian Developer GPG-key: 4096R/558FB8DD 2009-05-10 B2FF 1D95 CE8F 7A22 DF4C F09B A73E 0055 558F B8DD http://ddportfolio.debian.net/ - http://people.debian.org/~jandd/ signature.asc Description: Digital signature
Bug#629272: sync errors during on-line play
Package: spring Version: 0.82.7.1+dfsg1-3 Severity: important Hi, I have problem when I'm trying to play on-line, because I have lot of "sync errors". http://springrts.com/wiki/Build_from_source says that it can be caused by wrong build. Yours sincerely Piotr Majkrzak -- System Information: Debian Release: wheezy/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.39-1-amd64 (SMP w/2 CPU cores) Locale: LANG=pl_PL.UTF-8, LC_CTYPE=pl_PL.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages spring depends on: ii libboost-program-option 1.46.1-5 program options library for C++ ii libboost-regex1.46.11.46.1-5 regular expression library for C++ ii libboost-signals1.46.1 1.46.1-5 managed signals and slots library ii libboost-system1.46.1 1.46.1-5 Operating system (e.g. diagnostics ii libboost-thread1.46.1 1.46.1-5 portable C++ multi-threading ii libc6 2.13-4 Embedded GNU C Library: Shared lib ii libdevil1c2 1.7.8-6+b1 Cross-platform image loading and m ii libfreetype62.4.4-1 FreeType 2 font engine, shared lib ii libgcc1 1:4.6.0-11 GCC support library ii libgl1-mesa-glx [libgl1 7.10.2-3 free implementation of the OpenGL ii libglew1.5 1.5.8-3 The OpenGL Extension Wrangler - ru ii libglu1-mesa [libglu1] 7.10.2-3 The OpenGL utility library (GLU) ii libogg0 1.2.2~dfsg-1 Ogg bitstream library ii libopenal1 1:1.13-2 Software implementation of the Ope ii libsdl1.2debian 1.2.14-6.4 Simple DirectMedia Layer ii libstdc++6 4.6.0-11 The GNU Standard C++ Library v3 ii libvorbis0a 1.3.2-1 The Vorbis General Audio Compressi ii libvorbisfile3 1.3.2-1 The Vorbis General Audio Compressi ii libx11-62:1.4.3-1X11 client-side library ii libxcursor1 1:1.1.11-1 X cursor management library ii otf-freefont20100919-1 Freefont Serif, Sans and Mono Open ii spring-common 0.82.7.1+dfsg1-3 a modern full-3D RTS game engine ( ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime Versions of packages spring recommends: ii springlobby [spring-lobby]0.130-1single/multiplayer lobby for the S Versions of packages spring suggests: pn libtxc-dxtn0 (no description available) pn spring-javaai (no description available) pn spring-maps-deltasiege | spri (no description available) pn spring-mods-kernelpanic | spr (no description available) -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org