Complete.Org: Mailing Lists: Archives: freeciv-dev: March 2000:
[Freeciv-Dev] Re: server hangs
Home

[Freeciv-Dev] Re: server hangs

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Reinier Post <rp@xxxxxxxxxx>, freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: server hangs
From: Mark Hayden <hayden@xxxxxxxxxxxxxx>
Date: Mon, 13 Mar 2000 09:37:03 -0800

Reinier Post wrote:
> 
> On Sun, Mar 12, 2000 at 10:27:52PM -0800, Mark Hayden wrote:
> > Are the people on this list aware that the server has
> > a tendency to hang for 10-20 minutes when playing with
> > large numbers of clients?
> 
> Yes.  I've always assumed it was due to a bad connection from
> one of the users.  Such a user may connect while the game is running.

Right, a likely scenario is that the
TCP buffer fills up for a slow client and the
server blocks while trying to send to it.  The chance
of having at least one slow client grows with the
number of players.

> > Imagine getting 10 people to join a game,
> > playing for an hour, and then having the game break up
> > because the server hangs for 20 minutes.  I bet
> > this turns alot of people off from the game.
> 
> It isn't all that common.

I disagree.
I've had this happen in at least 5 games.  It happened
several times in a game last night.  Most of the players
were joined at a second server that we would keep going to
to talk while waiting for the first server to un-hang.
Really, really annoying.
 
> > A likely cause of the problem was described in a bug report
> > I posted over 2 weeks ago, #280, for which I have seen only
> > one message on this list.  I haven't seen any other traffic
> > related to fixing server hangs.
> 
>   http://arch.freeciv.org/freeciv-dev-200003/msg00037.html
>   http://arch.freeciv.org/freeciv-cvs-200003/msg00008.html

The current version of the code under CVS doesn't appear to
block, but will now drop random data in the connection stream,
which I believe can then cause anything to happen, such as a
server/client crash.
 
> Another idea I've been thinking of: a Freeciv echo packet
> (might use an existing packet type).  The server could do
> a 'Freeciv ping' to all clients, and clients could do the
> same to servers, even before being connected.

I think this is a good idea.

regards, Mark



[Prev in Thread] Current Thread [Next in Thread]