Opened 6 years ago

Last modified 5 years ago

#5086 new defect

Race condition in gamesetup when player joins while starting game

Reported by: Dunedan Owned by:
Priority: Nice to Have Milestone: Backlog
Component: UI – Game setup Keywords:
Cc: Patch:

Description

Turns out there is a rather funny race condition in gamesetup. If there is an open player slot and a player joins exactly when the host starts the game the following happens:

  • the joining player doesn't have to press the "ready" button. The game gets loaded instantly.
  • in game the player shows up with his regular nick and can play regularly
  • when chatting his correct nick is shown
  • in the game summary the player name doesn't show up. Instead "Player x" is shown.
  • in replays the real nick isn't shown at all, instead it's always "Player x"

The attached replay is from such a game. Black hosted the game and blue is the poor player who was affected by the bug. While he only shows up as "Player 6" in the replay, in the real game he showed up with his correct nick (gaius22) and did some chatting as well. As chat messages aren't included in replays, that's not visible in the replay.

Attachments (1)

race-condition-gamesetup.tar.bz2 (169.3 KB ) - added by Dunedan 6 years ago.
replay of the a match with the race condition in gamesetup

Download all attachments as: .zip

Change History (4)

by Dunedan, 6 years ago

replay of the a match with the race condition in gamesetup

comment:1 by Imarok, 6 years ago

Component: Multiplayer lobbyNetwork

Don't think that is connected to the lobby.

comment:2 by elexis, 6 years ago

Component: NetworkUI & Simulation
Priority: Should HaveNice to Have

That should be a gamesetup UI bug. (There's also the race condition that if someone joins just when the host is opened, he becomes assigned to playerslot1 and the host isn't assigned. At least I experienced it twice a number of months ago.)

comment:3 by Imarok, 5 years ago

Component: UI & SimulationGame setup

Move tickets to Game Setup as UI & Simulation got some sub components.

Note: See TracTickets for help on using tickets.