Results 1 to 6 of 6

Thread: Crash on Linux Dedicated server with 1.114

  1. #1

    Default Crash on Linux Dedicated server with 1.114

    The =|UWS|= servers have been updated recently to RC3 (1.114). But in the past couple of days the main server has been crashing quite a lot.
    The mods haven't changed and the rcon tool is exactly the same.
    The logs of the crashes show this exactly at the end:
    Hitch warning: 829 msec frame time
    SV packet 64.34.199.61:-24054 : rcon
    Rcon from 64.34.199.61:-24054:
    clientkick
    Crash Recover Attempt will take place!
    And there doesn't seem to be much of interest before that except for a stream of connection attempts:
    Sax : dropped gamestate, resending
    SV_SendClientGameState() for Sax
    Going from CS_CONNECTED to CS_PRIMED for Sax
    The_d3nso : dropped gamestate, resending
    SV_SendClientGameState() for The_d3nso
    Going from CS_CONNECTED to CS_PRIMED for The_d3nso
    arcangel(bol) : dropped gamestate, resending
    SV_SendClientGameState() for arcangel(bol)
    Going from CS_CONNECTED to CS_PRIMED for arcangel(bol)
    bruno.toco : dropped gamestate, resending
    SV_SendClientGameState() for bruno.toco
    Going from CS_CONNECTED to CS_PRIMED for bruno.toco
    BloodStain : dropped gamestate, resending
    SV_SendClientGameState() for BloodStain
    Going from CS_CONNECTED to CS_PRIMED for BloodStain
    The clientkick is done by a PHP based rcon tool but I don't think that has been an issue before.

    Could someone help me out? Perhaps shout at me for not using the ad commands to run the kick :P
    =|UWS|=|SA|Vince - Head Serveradmin - mohaa.uwsclan.us (MOH:AA - FT)

  2. #2
    Über Prodigy & Developer Razo[R]apiD's Avatar
    Join Date
    May 2010
    Location
    Poland, Lublin
    Posts
    3,257

    Default

    Are you sure you use clientkick with client number and not his name? Make sure you use valid binaries.

    Does it always happen when you kick someone with clientkick? Maybe some special cases?

  3. #3

    Default

    Quote Originally Posted by Razo[R]apiD View Post
    Are you sure you use clientkick with client number and not his name? Make sure you use valid binaries.

    Does it always happen when you kick someone with clientkick? Maybe some special cases?
    The binaries are valid (all hashes are found to be OK at startup), they were updated to 1.114 by autoupdate.
    Performing game and patch files integrity check...
    --> MoHAA Server Hash: 6d8c51fa1a3a7b3d392348dd6cb2e4c5
    --> Fgameded Hash: a08070c65b6994312a2218f79174245d
    --> mohaa_lnxded file valid!
    --> fgamededmohaa.so file valid!
    --> Next update check will be performed after 11 hours (0 day/s)!
    It doesn't always happen on clientkick. If so, the server would crash a whole lot more.
    And the clientkick is always done by number. Never by name, or at least not when it's automated in the way shown above (kick was done by the server running the tool).

    Must say I do not log every command that the rcon tool issues. So I can't give a 100% certain answer as PHP can be strange.
    But, from reading through the code again, I'm pretty sure it only uses the slot number.
    Are servers prone to crashing when a string or anything other than an integer is passed? That would be pretty interesting...

    It seems like it triggers on map switch. Because the clientkick and subsequent crash recovery are directly preceded by a mapload and switches from primed->active.

    Any more ideas?
    =|UWS|=|SA|Vince - Head Serveradmin - mohaa.uwsclan.us (MOH:AA - FT)

  4. #4
    Testing Crew Member dax's Avatar
    Join Date
    Aug 2010
    Location
    liverpool uk
    Posts
    549

    Default

    this seems the same as the problem i am having with forsight scanner ..on our linux server
    i stopped using the scanner for a week.... no more crashes.
    resumed its use ...crashes at clientkick as with wargamer .
    unfortunatley unable to get a log as it gets over-written by the time i can log in to save the log.
    i am in the process of setting up a second pc as a server monitor so i can remain logged in to try and get a log.
    =COH=Ubersoldier/Dax
    mess with the best ,die like the rest !!!

  5. #5

    Default

    The aforementioned issue has been fixed by replacing "clientkick" with "clientkickr".
    Since I can edit the PHP source I just replaced the command and I've seen no more server crashes since.
    Hope that helps someone out there.
    =|UWS|=|SA|Vince - Head Serveradmin - mohaa.uwsclan.us (MOH:AA - FT)

  6. #6

    Default

    Ran into a new issue. It runs into a parsing problem in my disconnect handler first:
    Code:
    broadcast: print "TooZ_FeeK disconnected\n"
    Going to CS_ZOMBIE for TooZ_FeeK
            if(local.player == NULL || local.player == NIL)          (handlers/disconnect_handler.scr, 17)
            if(local.player == NULL || ^
    Which is directly followed by a hard abort:
    Code:
    Got signal 6 - Aborted
    Crash Recover Attempt will take place!
    Execution path:
     --> [0xffffe410]
     --> /lib/libc.so.6(abort+0x101) [0x2f6701]
     --> /usr/lib/libstdc++.so.5 [0xf7fbe157]
     --> /usr/lib/libstdc++.so.5 [0xf7fbe1a4]
     --> /usr/lib/libstdc++.so.5 [0xf7fbe316]
     --> ./fgamededmohaa.so(_ZN8ScriptVM7ExecuteEP14ScriptVariablei9const_str+0x25f) [0xf4a5dccf]
     --> ./fgamededmohaa.so(_ZN12ScriptThread13ScriptExecuteEP14ScriptVariableiRS0_+0xec) [0xf4a510bc]
     --> ./fgamededmohaa.so(_ZN8Listener21ExecuteScriptInternalEP13Event_GAMEDLLR14ScriptVariable+0x4a) [0xf4b14bda]
     --> ./fgamededmohaa.so(_ZN8Listener13ExecuteScriptEP13Event_GAMEDLL+0x29) [0xf4b14a19]
     --> /opt/mohaa/MOHAA/fgameded.so(ExecuteScript+0x2e) [0xf4dea4e3]
     --> /opt/mohaa/MOHAA/fgameded.so(G_ClientDisconnect+0x1ec) [0xf4df1d1c]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8086cbf]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8087bf9]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8087745]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8087d33]
     --> /opt/mohaa/MOHAA/mohaa_main [0x808781e]
     --> /opt/mohaa/MOHAA/mohaa_main [0x806676b]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8067425]
     --> /opt/mohaa/MOHAA/mohaa_main [0x809726e]
     --> /lib/libc.so.6(__libc_start_main+0xdc) [0x2e1e9c]
     --> /opt/mohaa/MOHAA/mohaa_main(_Znwj+0x71) [0x8049c41]
    And after that it seg faults a couple million times like this:
    Code:
    Got signal 11 - Segmentation fault, faulty address is 0x73f
    Crash Recover Attempt will take place!
    Execution path:
     --> [0x73f]
     --> /lib/libc.so.6(abort+0x101) [0x2f6701]
     --> /usr/lib/libstdc++.so.5 [0xf7fbe157]
     --> /usr/lib/libstdc++.so.5 [0xf7fbe1a4]
     --> /usr/lib/libstdc++.so.5 [0xf7fbe316]
     --> ./fgamededmohaa.so(_ZN8ScriptVM7ExecuteEP14ScriptVariablei9const_str+0x25f) [0xf4a5dccf]
     --> ./fgamededmohaa.so(_ZN12ScriptThread13ScriptExecuteEP14ScriptVariableiRS0_+0xec) [0xf4a510bc]
     --> ./fgamededmohaa.so(_ZN8Listener21ExecuteScriptInternalEP13Event_GAMEDLLR14ScriptVariable+0x4a) [0xf4b14bda]
     --> ./fgamededmohaa.so(_ZN8Listener13ExecuteScriptEP13Event_GAMEDLL+0x29) [0xf4b14a19]
     --> /opt/mohaa/MOHAA/fgameded.so(ExecuteScript+0x2e) [0xf4dea4e3]
     --> /opt/mohaa/MOHAA/fgameded.so(G_ClientDisconnect+0x1ec) [0xf4df1d1c]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8086cbf]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8087bf9]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8087745]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8087d33]
     --> /opt/mohaa/MOHAA/mohaa_main [0x808781e]
     --> /opt/mohaa/MOHAA/mohaa_main [0x806676b]
     --> /opt/mohaa/MOHAA/mohaa_main [0x8067425]
     --> /opt/mohaa/MOHAA/mohaa_main [0x809726e]
     --> /lib/libc.so.6(__libc_start_main+0xdc) [0x2e1e9c]
     --> /opt/mohaa/MOHAA/mohaa_main(_Znwj+0x71) [0x8049c41]
    Full script code:
    Code:
    main:
    	level waittill spawn
    	if(level.disconnect_handler == 1)
    		end
    	level.disconnect_handler = 1
    	
    	thread start	
    end
    
    start:
    
    local.result = registerev "disconnected" handlers/disconnect_handler.scr::disconnect
    
    end
    
    disconnect local.player:
    	if(local.player == NULL || local.player == NIL)		
    		end
    	local.player addkills -(local.player getkills)
    	local.player.hasmines = 0
    	local.player.killAssists = NULL
    	local.player.uwsdeaths = 0
    	level.uwsdeaths[netname(local.player)] = 0
    	waitthread checks/uneven.scr::setFlags "reset" local.player	
    end
    It's an attempt to clear all the used variables and reset the player's kills.
    Any suggestions?
    =|UWS|=|SA|Vince - Head Serveradmin - mohaa.uwsclan.us (MOH:AA - FT)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •