Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server misreporting gameInfo to clients #142

Closed
HardlySoftly opened this issue May 28, 2016 · 16 comments
Closed

Server misreporting gameInfo to clients #142

HardlySoftly opened this issue May 28, 2016 · 16 comments

Comments

@HardlySoftly
Copy link

Server is reporting 100s of closed state games with 0 players to the FAF client on startup, causing client side performance issues.

See FAForever/client#348

@HardlySoftly
Copy link
Author

The number of bad gameInfo items being sent has grown since the report yesterday (seems like a bad trend)

@micheljung micheljung added the bug label May 29, 2016
@micheljung micheljung added this to the v0.3 milestone May 29, 2016
@Crotalus
Copy link
Member

An uneducated guess would be that games gets state ENDED but never marked dirty so they doesn't get cleaned up in report_dirties() function.

Could timeout-games be the culprit?
https://github.com/FAForever/server/blob/develop/server/games/game.py#L142

No dirty marking there

@HardlySoftly
Copy link
Author

HardlySoftly commented May 29, 2016

Can confirm some seriously old games are getting reported to the client (like 3+ weeks old), and its the old ones with an open state that are causing issues.

@aeoncleanse
Copy link
Member

Specifically, it was that 97 out of 205 registered games were older than 24 hours.

@Crotalus
Copy link
Member

old ones with an open state that are causing issues.

Aren't they all closed, or?

@aeoncleanse
Copy link
Member

https://github.com/FAForever/client/blob/develop/src/replays/_replayswidget.py#L353

At fault is that function. Specifically, lines 440 and 441, cutting those dramatically cuts execution time. State has to be 'Playing' to get there.

@HardlySoftly
Copy link
Author

Here's a pastebin of the games I got sent by the server: http://pastebin.com/0ETTYnRT

@Crotalus
Copy link
Member

Crotalus commented May 29, 2016

Hmm, seems like all games are closed, visibility is None which is a bit weird, AFAIK it should be "public" as default.

Only place I can see this being possible would be here:
https://github.com/FAForever/server/blob/develop/server/lobbyconnection.py#L932

i.e. someone sent some unknown visibility argument

but on the other hand that visibility should never be set on the game object then?

Crotalus added a commit that referenced this issue May 30, 2016
Games ending with timeout never gets marked dirty, thus never garbage
collected.

Proposed fix for #142
Crotalus added a commit that referenced this issue May 30, 2016
Games ending with timeout never gets marked dirty, thus never garbage
collected.

Proposed fix for #142
@HardlySoftly
Copy link
Author

Old games building up again and causing issues, if we don't have a fix yet it may be time for the classic server restart before people stop being able to log in.

@Crotalus
Copy link
Member

Crotalus commented Jun 21, 2016

Client was monkey patched but server bugfix has been lingering since ~1 month AFAIK

@HardlySoftly
Copy link
Author

Client hasn't been patched in ages, and right now I'm counting 111 games from the server that didn't start in the last hour, and 90 which didn't start in the last 24 hours.

The last I heard we knew what the problem was, is there a hold up with deploying a fix?

@HardlySoftly
Copy link
Author

People have come to me saying they're getting the Outbound Traffic Blocked errors.

I have told them its a known issue, and I'm sure it will be resolved soon.

@Sheeo
Copy link
Member

Sheeo commented Jun 25, 2016

Yes I'll reboot the server with Crotalus' patch tonight when we've got a lower user count.

@HardlySoftly
Copy link
Author

The server is still sending dead games to my client

@Crotalus
Copy link
Member

Crotalus commented Jul 9, 2016

Hmm if fix is applied that means more game state debugging I guess

@HardlySoftly
Copy link
Author

Still have this problem after server/client update, but at least now the client won't completely barf on it

@micheljung micheljung modified the milestones: v1.0, v0.3 Aug 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants