Hi all, I've been having fun with TASpring v73b1, thanks to the developers for this excellent game!
I am getting constant sync warnings with v74b3 in singleplayer.
the warnings begin as soon as spring.exe starts and are continuous.
also, v74b2 hangs with assertion failure (pregame.cpp - expression: good-fpu-control-registers)
my system is
-xp w/sp1
-e6400 cpu
-2gb ram
-nvidia 7900gs w/latest drivers
-realtek audio software
-pci expansion card (siig 4-port IDE)
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("before CGameServer creation")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("after CGameServer creation")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CPreGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CPreGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CPreGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CPreGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CPreGame::Update")
Sync warnings (singleplayer) SOLVED
Moderator: Moderators
-
- Posts: 4
- Joined: 23 May 2007, 15:10
Sync warnings (singleplayer) SOLVED
Last edited by jamestr234 on 24 May 2007, 23:54, edited 1 time in total.
-
- Posts: 4
- Joined: 23 May 2007, 15:10
I get constant sync warnings when i startup using springsp.exe or spring.exe.
below is the log file from springsp
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("before CGameServer creation")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("after CGameServer creation")
Map: Mars.smf
Mod: "XTA v8.1" from XTAPE.sd7
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CPreGame::Update")
Number of damage types: 5
Spring 0.74b3
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Player Player joined as 0
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::SimFrame")
AI\Bot-libs\AAI.dll has C++ interface
GlobalAI1: New BuildTable has been created
GlobalAI1: land map detected
GlobalAI1: New map-learning file created
GlobalAI1: AAI loaded
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::SimFrame")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::SimFrame")
......
below is the log file from springsp
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("before CGameServer creation")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("after CGameServer creation")
Map: Mars.smf
Mod: "XTA v8.1" from XTAPE.sd7
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CPreGame::Update")
Number of damage types: 5
Spring 0.74b3
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Player Player joined as 0
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::Update")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::SimFrame")
AI\Bot-libs\AAI.dll has C++ interface
GlobalAI1: New BuildTable has been created
GlobalAI1: land map detected
GlobalAI1: New map-learning file created
GlobalAI1: AAI loaded
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::SimFrame")
Sync warning: FPUCW 0x107F instead of 0x003A or 0x003F ("CGame::SimFrame")
......
-
- Posts: 4
- Joined: 23 May 2007, 15:10
solved
no sync errors occur if i do NOT run 'macro express' before starting spring. yeahhhhhhh!
(or terminate it before running spring, it loads at boot)
if i terminate it after starting spring the errors continue in spring.
(or terminate it before running spring, it loads at boot)
if i terminate it after starting spring the errors continue in spring.
I really have no clue why apps can (apparently) influence each other's CPU state... All resources I read about it (MSDN etc.) say that the FPU control word is stored per thread in Windows, but it seems Windows allows quite some exceptions to that rule
And yeah, if you get this warning (esp. continuously) there's an increased chance you'll desync (hence it's a sync warning
)

And yeah, if you get this warning (esp. continuously) there's an increased chance you'll desync (hence it's a sync warning

that is what I am wondering about tobi, ever since spring started to be ported to linux we saw desync. I used to play 4-5 hour games with no desync, I have been wondering if the cause was some cross platform code added into spring.. this is just unfounded speculation feel free to ignore it.
however, the issue still remains that if the program can now receive a sort of interference from other applications, can this be corrected?
however, the issue still remains that if the program can now receive a sort of interference from other applications, can this be corrected?
Not really. In the first place, according to docs from MS etc. this interference is theoretically impossible. In the second place, Spring already tries hard to get the control word correct before executing synced code: each time you see the warning it resets it to the correct value, and this check is just before it enters the CGame::SimFrame function, which is the toplevel function of all synced code (apart from the before game loading etc.).
Could be that getting a message involves some DLL (loaded by GoogleTalk) function call that messes with the CW and doesn't put it back, but such a change just shouldn't be visible to Spring in the first place... :/smoth wrote:actually I get something similar when running google talk while using spring single player...
why would I get an error message when a message is sent to me? is this possibly linkable/the cause of a desync issue?