Author Topic: [fixed] server Freeze in 3.3.7beta2 when client was disconnected from server  (Read 1143 times)

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
Tomreyn got his 24h disconnect from his provider while we played. I was server he was client, and M0ellermeister was client too.
The server freezed completly when this happened and I had to "kill -9 " the process.

( this was beta2 svn revision 1009 )

But before i saved the stacktrace:
Code: [Select]
tscharn@p60X2:~/megaglest$ more backtrace-running.log
[Thread debugging using libthread_db enabled]
[New Thread 0xb503e6f0 (LWP 23152)]
[New Thread 0xab4aeb90 (LWP 23546)]
[New Thread 0xb077ab90 (LWP 23539)]
[New Thread 0xb3c9db90 (LWP 23154)]
[New Thread 0xb4dffb90 (LWP 23153)]
0xb77a2410 in __kernel_vsyscall ()
#0  0xb77a2410 in __kernel_vsyscall ()
#1  0xb719de38 in send () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x08282a4a in Shared::Platform::Socket::send (this=0xb09454a8,
    data=0xbfc6c6a1, dataSize=175)
    at shared_lib/sources/platform/posix/socket.cpp:1054
#3  0x081af930 in Glest::Game::NetworkMessage::send (this=0xbfc6c69d,
    socket=0xb09454a8, data=0xbfc6c6a1, dataSize=175)
    at glest_game/network/network_message.cpp:107
#4  0x081b3d98 in Glest::Game::NetworkMessageCommandList::send (
    this=0xbfc6c69d, socket=0xb09454a8)
    at glest_game/network/network_message.cpp:375
#5  0x081c8300 in Glest::Game::ConnectionSlot::sendMessage (this=0x1ce91bf8,
    networkMessage=0xbfc6c69d) at glest_game/network/connection_slot.cpp:713
#6  0x081a60b8 in Glest::Game::ServerInterface::broadcastMessage (
    this=0x8475460, networkMessage=0xbfc6c69d, excludeSlot=-1)
    at glest_game/network/server_interface.cpp:1153
#7  0x081a6b2b in Glest::Game::ServerInterface::updateKeyframe (
    this=0x8475460, frameCount=17600)
    at glest_game/network/server_interface.cpp:740
#8  0x0809b5bf in Glest::Game::Commander::updateNetwork (this=0x173d28a8)
    at glest_game/game/commander.cpp:326
#9  0x080b1ff6 in Glest::Game::Game::update (this=0x173d1f60)
    at glest_game/game/game.cpp:665
#10 0x080faf3f in Glest::Game::Program::loopWorker (this=0x8378770)
    at glest_game/main/program.cpp:297
#11 0x080f477f in Glest::Game::glestMain (argc=1, argv=0xbfc7b984)
    at glest_game/main/main.cpp:925
#12 0x080f6f12 in main (argc=1, argv=0xbfc7b984)
    at glest_game/main/main.cpp:960

here are the logs from the server:
http://www.titusgames.de/bug/debug.crash.log.7z
http://www.titusgames.de/bug/debugPerf.crash.log.7z
« Last Edit: 18 September 2010, 22:52:55 by titi »
Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

titi

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 4,240
    • View Profile
    • http://www.titusgames.de
I think this happend again now several times for me with 3.3.7.2! I know softcoder already looked at it, but there must be something wrong!

What happend is the following: One client player looses his Internet connection ( some hard way of interruption like a 24 hour disconnect ).
This makes the server freeze for several minutes and the screen turns black!
Interisting was the following: after a very long time of waiting ( 2-5 minutes? ) glest suddenly worked again and tried to catch up all the lost frames.
Very strange! SO its not blocking forever but for MUCH too long.

Here is one stacktrace of today:
Code: [Select]
[Thread debugging using libthread_db enabled]
[New Thread 0xb50306f0 (LWP 17802)]
[New Thread 0xb05b3b90 (LWP 17815)]
[New Thread 0xaf5b1b90 (LWP 17814)]
[New Thread 0xafdb2b90 (LWP 17810)]
[New Thread 0xb3c88b90 (LWP 17804)]
[New Thread 0xb4deab90 (LWP 17803)]
0xb77a3410 in __kernel_vsyscall ()
#0  0xb77a3410 in __kernel_vsyscall ()
#1  0xb718fe38 in send () from /lib/tls/i686/cmov/libpthread.so.0
#2  0x0828bf71 in Shared::Platform::Socket::send (this=0x85517d0,
    data=0xbffb22b1, dataSize=651)
    at shared_lib/sources/platform/posix/socket.cpp:994
#3  0x081d0240 in Glest::Game::NetworkMessage::send (this=0xbffb22ad,
    socket=0x85517d0, data=0xbffb22b1, dataSize=651)
    at glest_game/network/network_message.cpp:107
#4  0x081d46a8 in Glest::Game::NetworkMessageCommandList::send (
    this=0xbffb22ad, socket=0x85517d0)
    at glest_game/network/network_message.cpp:375
#5  0x081a9790 in Glest::Game::ConnectionSlot::sendMessage (this=0x925b878,
    networkMessage=0xbffb22ad) at glest_game/network/connection_slot.cpp:717
#6  0x081c5d89 in Glest::Game::ServerInterface::broadcastMessage (
    this=0x923afd0, networkMessage=0xbffb22ad, excludeSlot=-1)
    at glest_game/network/server_interface.cpp:1160
#7  0x081c67fb in Glest::Game::ServerInterface::updateKeyframe (
    this=0x923afd0, frameCount=10640)
    at glest_game/network/server_interface.cpp:745
#8  0x0809fe0f in Glest::Game::Commander::updateNetwork (this=0xae402ad0)
    at glest_game/game/commander.cpp:326
#9  0x080b1c46 in Glest::Game::Game::update (this=0xae402188)
    at glest_game/game/game.cpp:667
#10 0x0810439f in Glest::Game::Program::loopWorker (this=0x8385778)
    at glest_game/main/program.cpp:297
#11 0x080f6d0e in Glest::Game::glestMain (argc=1, argv=0xbffc1684)
    at glest_game/main/main.cpp:950
#12 0x080f84f2 in main (argc=1, argv=0xbffc1684)
    at glest_game/main/main.cpp:985

Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Ok I made a small change and checked into svn so lets see if we get this again or not?

 

anything