Author Topic: r4558: Server SegF while/after gathering CRC error logs, after client timeout  (Read 884 times)

tomreyn

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
With the 20 frames interval CRC checksumming, on an all Linux-64 bit game, we had Lyra run into a CRC mismatch (discussed separately). So she got disconnected, but there was a ~1 minute interval between her running into the CRC mismatch, and her actually getting disconnected (as reported on the host). In the meantime the game freezed for roughly 20 seconds (lasted until the disconnect). Probably prompted by this freeze, the other client, Filux, got a lag warning message as soon as the server was working again. Three seconds later, the server (I was running) went into the following:

Code: [Select]
megaglest v3.8.0-dev
Compiled using: GNUC: 40703 [64bit] on: Sep 21 2013 02:43:04 platform: Linux-X64 endianness: little
SVN: [Rev: 4558M] - using STREFLOP [SSE] - [no-denormals]
radeon: Acquired access to Hyper-Z.
[] *ERROR* SOCKET WRITE TIMEOUT In [/home/user1/SCM/megaglest-trunk/source/shared_lib/sources/platform/posix/socket.cpp::isWritable Line: 1756] i = 0 sock = 16
[..]
[] *ERROR* SOCKET WRITE TIMEOUT In [/home/user1/SCM/megaglest-trunk/source/shared_lib/sources/platform/posix/socket.cpp::isWritable Line: 1756] i = 0 sock = 19
Check save world CRC to log. isNetworkGame = 1 fileSuffix = _faction_3
Save to log debugCRCWorldLogFile = /home/user1/.megaglest/debugCRCWorld.log_faction_3
In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5528] Error detected: signal 11:
Error saved to logfile [/home/user1/.megaglest/error.log]
[] *ERROR* In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 643] [In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5528] Error detected: signal 11:
] gameInitialized = 1, program = 0x2db75f0
[] *ERROR* In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleRuntimeError Line: 662] [In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5528] Error detected: signal 11:

Stack Trace:
./megaglest:Glest::Game::ExceptionHandler::handleRuntimeError(char const*, bool)address [0x68f857] line: 653
./megaglest() [0x68facf]address [0x68facf]
/lib/x86_64-linux-gnu/libc.so.6:()address [0x7fa06bf470b0] line: 0
]

GDB output:
Code: [Select]
[..]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff7ef5b000
Core was generated by `./megaglest --starthost'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000000000 in ?? ()
#0  0x0000000000000000 in ?? ()
#1  0x000000000088271f in Glest::Game::Unit::updateTimedParticles (this=this@entry=0xb6d0c30) at /home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:2492
#2  0x000000000093812c in Glest::Game::UnitUpdater::updateUnit (this=this@entry=0x4c52700, unit=unit@entry=0xb6d0c30) at /home/user1/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:133
#3  0x0000000000958826 in Glest::Game::World::updateAllFactionUnits (this=this@entry=0x4c51f10) at /home/user1/SCM/megaglest-trunk/source/glest_game/world/world.cpp:707
#4  0x000000000095a1f0 in Glest::Game::World::update (this=this@entry=0x4c51f10) at /home/user1/SCM/megaglest-trunk/source/glest_game/world/world.cpp:863
#5  0x00000000005bf8b6 in Glest::Game::Game::update (this=0x4c51ed0) at /home/user1/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2128
#6  0x00000000006b90f0 in Glest::Game::Program::loopWorker (this=0x2db75f0) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/program.cpp:458
#7  0x00000000006baf35 in Glest::Game::Program::loop (this=<optimized out>) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/program.cpp:369
#8  0x000000000068f75d in Glest::Game::ExceptionHandler::handleRuntimeError (msg=msg@entry=0x7fff7eedbc00 "In [/home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 5528] Error detected: signal 11:\n", getStackTraceString=getStackTraceString@entry=true) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp:684
#9  0x000000000068facf in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp:5532
#10 <signal handler called>
#11 0x0000000000000000 in ?? ()
#12 0x000000000088271f in Glest::Game::Unit::updateTimedParticles (this=this@entry=0xb6d0c30) at /home/user1/SCM/megaglest-trunk/source/glest_game/type_instances/unit.cpp:2492
#13 0x000000000093812c in Glest::Game::UnitUpdater::updateUnit (this=this@entry=0x4c52700, unit=unit@entry=0xb6d0c30) at /home/user1/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:133
#14 0x0000000000958826 in Glest::Game::World::updateAllFactionUnits (this=this@entry=0x4c51f10) at /home/user1/SCM/megaglest-trunk/source/glest_game/world/world.cpp:707
#15 0x000000000095a1f0 in Glest::Game::World::update (this=this@entry=0x4c51f10) at /home/user1/SCM/megaglest-trunk/source/glest_game/world/world.cpp:863
#16 0x00000000005bf8b6 in Glest::Game::Game::update (this=0x4c51ed0) at /home/user1/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2128
#17 0x00000000006b90f0 in Glest::Game::Program::loopWorker (this=this@entry=0x2db75f0) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/program.cpp:458
#18 0x00000000006baf35 in Glest::Game::Program::loop (this=this@entry=0x2db75f0) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/program.cpp:369
#19 0x000000000069d077 in Glest::Game::glestMain (argc=argc@entry=2, argv=argv@entry=0x7fff7eeee388) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp:5379
#20 0x00000000006a0c36 in Glest::Game::glestMainSEHWrapper (argc=argc@entry=2, argv=argv@entry=0x7fff7eeee388) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp:5624
#21 0x00000000006a0dce in Glest::Game::glestMainWrapper (argc=2, argv=0x7fff7eeee388) at /home/user1/SCM/megaglest-trunk/source/glest_game/main/main.cpp:5697
#22 0x00007fa06bf31ea5 in __libc_start_main (main=0x5108f0 <main(int, char**)>, argc=2, ubp_av=0x7fff7eeee388, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fff7eeee378) at libc-start.c:260
#23 0x00000000005172c9 in _start ()
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

filux

  • MegaGlest Team
  • Draco Rider
  • ********
  • Posts: 310
  • was OpenSuse x64, is Debian testing x64
    • View Profile
http://pastebin.com/rDzwQgqA
In my opinion it can be problem with this: the game/server doesn't wait for client when it still processing / saving some.

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Is this reproducible with current svn?

 

anything