bugBattle for Wesnoth - Bugs: bug #21808, cannot join a reloaded game as an...

 
 
Show feedback again

bug #21808: cannot join a reloaded game as an observer

Submitted by:  Chris Beck <involution>
Submitted on:  Mon 17 Mar 2014 10:18:56 AM UTC  
 
Category: BugSeverity: 5 - Blocker
Priority: 7 - HighItem Group: Multiplayer Lobby
Status: FixedPrivacy: Public
Assigned to: Andrius Silinskas <thunderstruck>Open/Closed: Closed
Release: 1.11.7Operating System: Linux Mint

Add a New Comment (Rich MarkupRich Markup):
   

You are not logged in

Please log in, so followups can be emailed to you.

 

(Jump to the original submission Jump to the original submission)

Thu 17 Apr 2014 08:33:12 AM UTC, comment #7:

Not sure when exactly this stopped working again, but I noticed when testing patch for bug #21916 that the basic test I gave for this problem is failing again on master.

Tested at commit 5053fe1563dcd68d15bc473a000ca18ce728fea3

Chris Beck <involution>
Project Member
Sat 29 Mar 2014 02:54:49 PM UTC, comment #6:

Just want to comment that my earlier test that was failing on master is now passing, so this fix worked afaik.

Chris Beck <involution>
Project Member
Sat 22 Mar 2014 01:22:58 PM UTC, comment #5:

Should be fixed in https://github.com/wesnoth/wesnoth/commit/fa5b916bf1240c20d3faccb4f3be59c00003433b

Andrius Silinskas <thunderstruck>
Project MemberIn charge of this item.
Wed 19 Mar 2014 03:53:37 AM UTC, comment #4:

Now I wonder if the bug is related to this long-standing bug:

https://gna.org/bugs/?19603
"Replays of reloaded games are corrupted"

http://forums.wesnoth.org/viewtopic.php?p=525335#p525335

Chris Beck <involution>
Project Member
Tue 18 Mar 2014 07:03:13 PM UTC, comment #3:

Traced back to this commit in 1.11.6+dev:

https://github.com/wesnoth/wesnoth/commit/e07c69d5e53e47b2a4a7df13ba3a0e89c4d86585

Chris Beck <involution>
Project Member
Tue 18 Mar 2014 06:45:46 AM UTC, comment #2:

Correction to the previous post:

Since at least 1.10.6, we have the following (minor) bug:

If a game has only reserved slots available, it is displayed with yellow highlights. Any player who has a slot reserved may join, however a player without a slot reserved will be kicked back to lobby with the message "<server> You are an observer.", even if observation is allowed. If the reserved slots are filled or set to other controllers, then observers may join normally.

Starting in 1.11.7, we have a major bug. Here's exactly how I have reproduced it. (Basically I follow EP's recipe, in a seemingly unrelated bug: https://gna.org/bugs/?21797)

Start any networked game with allow observers enabled, with at least one remote player (besides the host). It may have some droids as well, it may not, it doesn't seem to matter. It can be checked that observers may join normally before and after the start of the game.

On turn 1, (P2) saves the game and quits, then hosts a reload. Now observers may not join the reload, before or after the start of game. ("Attempted to observe a game that doesn't allow obesrvers. (You probably joined the game shortly after it filled up.)") This happens regardless of "yellow" or "white" color highlight of the game, and regardless of the observer eye icon in the lobby.

In master, if this is done using a localhost wesnothd instance with debugging on, from inspecting the output of the "(g*)->allow_observers()" flag the server actually does believe that observers are not allowed in this game, despite the clients all displaying that they are permitted.

https://github.com/wesnoth/wesnoth/commit/f8a01890d119742ffc132771493489546f1c0052#diff-21c82be7cd6468901691490708d2f916R2290

Chris Beck <involution>
Project Member
Tue 18 Mar 2014 04:13:34 AM UTC, comment #1:

More testing:

Affects 1.11.1
Affects 1.11.3

Partially Affects 1.11.5:
When a game has only reserved slots vacant, the client may try to join and be kicked, with the confusing server message "you are an observer". However if the reserved sides fill, the client may then join as an observer as normally.

It seems to be a different issue from that observed in master, where the server explicitly states that observers are not allowed in the game.

Upgrading to "blocker" following discussion on IRC with Soliton.

Chris Beck <involution>
Project Member
Mon 17 Mar 2014 10:18:56 AM UTC, original submission:

Affects 1.13.0-dev, 1.12 branch,
and 1.11.7 checkout (with localhost 1.11.7 server).

If you make a reloaded game which had observers allowed, the clients will see the eye-without-X "observer allowed" symbol in the lobby, and a white border to signify that they can join. But when they try to join they get a message from the server:

"Attempt to observe a game that doesn't allow observers. (You probably joined the game shortly after it filled up.)"

This happens both before and after the game has started. In 1.13.0 testing, the server seems to report that observers are actually not allowed... so it isn't clear why the clients don't see it this way as well.

If I had to guess I would say it's most likely the bug was introduced due to a change in the logic of the host since that's where most of the recent code changes have occurred.

Chris Beck <involution>
Project Member

 

(Note: upload size limit is set to 1024 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by thunderstruck (Updated the item)
  • -unavailable- added by involution (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 8 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 15 Jul 2014 06:35:25 PM UTCthunderstruckStatusReady For Test=>Fixed
      Open/ClosedOpen=>Closed
    Sat 22 Mar 2014 01:21:56 PM UTCthunderstruckStatusNone=>Ready For Test
    Tue 18 Mar 2014 07:03:13 PM UTCinvolutionItem Group None of the others=>Multiplayer Lobby
      Assigned toNone=>thunderstruck
    Tue 18 Mar 2014 06:45:46 AM UTCinvolutionPriority5 - Normal=>7 - High
      Release1.13.0-dev=>1.11.7
    Tue 18 Mar 2014 04:13:34 AM UTCinvolutionSeverity4 - Important=>5 - Blocker
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup