<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40600 >

This transaction appears to have no content

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40600 >

[arch.and...@mail.ru - Wed Dec 17 15:51:23 2008]:

<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40600 >
[arch.and...@mail.ru - Sun Dec 14 11:38:50 2008]:

Good day!
Today I'm upgraded to new version of freeciv (2.1.8)
and server begins disconnecting my client with this message

2: Lost connection: Andrey from localhost [...]
1: cut connection [...] due to huge send buffer (2)

No other technical information received or displayed on
the screen.
I'm not sure how that particular error condition could have
been triggered, though it could be due to some changes I made
trying to fix other connection related bugs.

What system are you running on (e.g. windows, linux, osx, etc.)
and what exactly are you doing to cause the error to occur?
Are you trying to start a new local game, or connecting to
some server on the internet? Also, does the error always occur,
or only sometimes?
This error was returned on server console in process of
current turn (after pressing end turn button in the client
application but before turn calculation complete).  Server
stay work but client should be reconnected.  I'm running
local server and client applications under Windows XP sp2.

I'll make some tests like downgrade to lower version but
error does not disappear.  In the next test I'm set network
parameters "connection block" and "max seconds for network
buffer to drain" to higher values and it's help, error
doesn't currently present.  But I think if count of cities
and units in the game increased this error can return.

If it's need I can send save file. Now total count of
cities in the game world near 1000 and total count of units
near 6000. World size 30k tiles. Turn calculating time
near 4 minutes.  I have good hardware (Core2Quad Q6600,
and 4Gb RAM) this should be enough for gaming in big maps.

Thank you for the detailed information, I think I know
what is going on. Unfortunately it is a known design
bug that the current freeciv network code behaves badly in
extreme circumstances (long latency and large data sends),
and there is no easy way to fix this without a substantial
redesign and rewrite.

In your case I think the server tries to send a very large
amount of data at once using buffering and this causes the
buffer to exceed its maximum capacity. This is probably
unavoidable on very large maps with many cities and units.

This could be temporarily fixed by increasing the maximum
buffer size from 524288 bytes to say 4 MB, but this limit
is hard-coded in the program and would require a recompile
to change.

Anyway here is a patch that increases the limit for freeciv
2.1.8; I will think about making this configurable without
recompiling, or perhaps how to redesign the network code
without too much grief.

Ok! I understand what happens and I think this problem currently solved.
Thank you for help!
Freeciv-dev mailing list

Reply via email to