yavl / teeworlds-infcroya

InfCroya - InfClass with battle royale elements for Teeworlds 0.7+ (WIP)
https://www.teeworlds.com
Other
4 stars 0 forks source link

Server crash #1

Closed yavl closed 5 years ago

yavl commented 5 years ago

Server crashed few mins ago. Yesterday it crashed too with exactly the same backtrace.

How to reproduce: no exact instruction, but it crashes after some time (30 mins to few hours?)

why: I have no clue yet, but maybe due to some issue with zombie Respawn Ponts (visualized as armor pickup) or with engineer wall.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000043f12c in CPickup::Tick (this=0x0)
    at src/game/server/entities/pickup.cpp:126
126                                     m_SpawnTick = Server()->Tick() + Server()->TickSpeed() * RespawnTime;
[Current thread is 1 (Thread 0x7f114915a740 (LWP 1294))]
(gdb) backtrace
#0  0x000000000043f12c in CPickup::Tick (this=0x0)
    at src/game/server/entities/pickup.cpp:126
#1  0x000000000043f164 in CPickup::Tick (this=0x1372888)
    at src/game/server/entities/pickup.cpp:129
#2  0x0000000000446ab5 in CalcPos (Pos=..., Velocity=..., Curvature=0,
    Speed=6.28309301e-39, Time=4.59121429e-41) at src/game/gamecore.h:89
#3  0x000000000045aa39 in CEngineerWall::Snap (this=0x4478000044940000,
    SnappingClient=-1) at src/infcroya/entities/engineer-wall.cpp:156
#4  0x0000000000430a64 in CGameControllerMOD::OnRoundStart (this=0x0)
    at src/game/server/gamemodes/mod.cpp:142
#5  0x0000000000430c5f in CGameControllerMOD::OnRoundStart (
    this=0x10100647261646e) at src/game/server/gamemodes/mod.cpp:128
#6  0x0000000000424905 in CGameContext::OnTick (this=0x1179ee0)
    at src/game/server/gamecontext.cpp:509
#7  0x000000000041e9fa in CServer::Run (this=0x7f114708f010)
    at src/engine/server/server.cpp:1522
#8  0x0000000000420671 in main (argc=1, argv=0x7ffc05de72e8)
    at src/engine/server/server.cpp:1954
(gdb)

last lines in logfile:

[5cebff0a][game]: kill killer='7:nameless tee' victim='3:teeless name' weapon=0 special=0
[5cebff0c][server]: client dropped. cid=0 addr=31.59.104.82:10019 reason='Timeout'
[5cebff0c][game]: kill killer='0:DaniFake' victim='0:DaniFake' weapon=-3 special=0
[5cebff0c][game]: leave player='0:DaniFake'
[5cebff0d][game]: kill killer='7:nameless tee' victim='1:Fire' weapon=0 special=0
[5cebff0f][game]: kill killer='7:nameless tee' victim='8:mylainos' weapon=0 special=0
[5cebff0f][chat]: 2:1:Yavl-YKT: wheel down to place respawn point
[5cebff13][game]: kill killer='7:nameless tee' victim='4:NuaBuak' weapon=0 special=0
[5cebff13][game]: kill killer='7:nameless tee' victim='5:UA ' weapon=0 special=0
[5cebff14][game]: kill killer='7:nameless tee' victim='10:fesm' weapon=0 special=0
[5cebff15][chat]: 2:1:Yavl-YKT: скролл мышкой вниз чтоб респавн поставить
[5cebff1a][game]: kill killer='7:nameless tee' victim='2:Yavl-YKT' weapon=0 special=0
[5cebff1f][game]: kill killer='7:nameless tee' victim='2:Yavl-YKT' weapon=0 special=0
yavl commented 5 years ago

last commit did not fix it

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000043f12c in CPickup::Tick (this=0x0)
    at src/game/server/entities/pickup.cpp:126
126                                     m_SpawnTick = Server()->Tick() + Server()->TickSpeed() * RespawnTime;
[Current thread is 1 (Thread 0x7f114915a740 (LWP 1294))]
(gdb) backtrace
#0  0x000000000043f12c in CPickup::Tick (this=0x0)
    at src/game/server/entities/pickup.cpp:126
#1  0x000000000043f164 in CPickup::Tick (this=0x1372888)
    at src/game/server/entities/pickup.cpp:129
#2  0x0000000000446ab5 in CProjectile::Snap (
    this=0x446ab5 <CProjectile::Snap(int)+7>, SnappingClient=32764)
    at src/game/server/entities/projectile.cpp:101
#3  0x000000000045aa39 in CEngineerWall::Snap (this=0x4478000044940000,
    SnappingClient=-1) at src/infcroya/entities/engineer-wall.cpp:143
#4  0x0000000000430a64 in CGameControllerMOD::OnRoundStart (this=0x0)
    at src/game/server/gamemodes/mod.cpp:142
#5  0x0000000000430c5f in CGameControllerMOD::OnRoundStart (
    this=0x10100647261646e) at src/game/server/gamemodes/mod.cpp:128
#6  0x0000000000424905 in CGameContext::OnTick (this=0x1179ee0)
    at src/game/server/gamecontext.cpp:509
#7  0x000000000041e9fa in CServer::Run (this=0x7f114708f010)
    at src/engine/server/server.cpp:1522
#8  0x0000000000420671 in main (argc=1, argv=0x7ffc05de72e8)
    at src/engine/server/server.cpp:1954
(gdb)

logfile:

[5cec151c][game]: kill killer='0:Yavl-YKT' victim='4:nameless tee' weapon=0 special=0
[5cec1522][game]: kill killer='0:Yavl-YKT' victim='4:nameless tee' weapon=0 special=0
[5cec152b][game]: kill killer='3:pendawan' victim='2:art_2005' weapon=0 special=0
[5cec1535][game]: kill killer='0:Yavl-YKT' victim='4:nameless tee' weapon=0 special=0
[5cec1535][game]: kill killer='0:Yavl-YKT' victim='2:art_2005' weapon=0 special=0
[5cec1547][game]: kill killer='0:Yavl-YKT' victim='2:art_2005' weapon=0 special=0
[5cec1551][game]: kill killer='0:Yavl-YKT' victim='4:nameless tee' weapon=0 special=0
[5cec1555][game]: kill killer='0:Yavl-YKT' victim='2:art_2005' weapon=0 special=0
[5cec1557][game]: kill killer='0:Yavl-YKT' victim='4:nameless tee' weapon=0 special=0
[5cec1559][game]: kill killer='0:Yavl-YKT' victim='2:art_2005' weapon=0 special=0
[5cec155b][game]: kill killer='0:Yavl-YKT' victim='2:art_2005' weapon=0 special=0
[5cec1560][game]: kill killer='3:pendawan' victim='2:art_2005' weapon=0 special=0
[5cec1562][game]: kill killer='0:Yavl-YKT' victim='4:nameless tee' weapon=0 special=0
[5cec1563][game]: kill killer='3:pendawan' victim='2:art_2005' weapon=0 special=0
[5cec1568][game]: kill killer='3:pendawan' victim='2:art_2005' weapon=0 special=0
[5cec1581][game]: kill killer='0:Yavl-YKT' victim='2:art_2005' weapon=0 special=0
[5cec1581][game]: kill killer='0:Yavl-YKT' victim='3:pendawan' weapon=0 special=0
yavl commented 5 years ago

Crashes even after 6c4ad1e "fix"

 at src/game/server/entities/pickup.cpp:127
127                             if (str_comp_nocase(g_Config.m_SvGametype, "mod") != 0) {
[Current thread is 1 (Thread 0x7f114915a740 (LWP 1294))]
(gdb) backtrace
#0  0x000000000043f12c in CPickup::Tick (this=0x0)
    at src/game/server/entities/pickup.cpp:127
#1  0x000000000043f164 in CPickup::Tick (this=0x1372888)
    at src/game/server/entities/pickup.cpp:129
#2  0x0000000000446ab5 in CProjectile::Tick (this=0x1)
    at src/game/server/entities/projectile.cpp:76
#3  0x000000000045aa39 in CEngineerWall::Tick (this=0x4478000044940000)
    at src/infcroya/entities/engineer-wall.cpp:57
#4  0x0000000000430a64 in CGameControllerMOD::OnRoundStart (this=0x0)
    at src/game/server/gamemodes/mod.cpp:142
#5  0x0000000000430c5f in CGameControllerMOD::OnRoundStart (
    this=0x10100647261646e) at src/game/server/gamemodes/mod.cpp:128
#6  0x0000000000424905 in CGameContext::OnTick (this=0x1179ee0)
    at src/game/server/gamecontext.cpp:509
#7  0x000000000041e9fa in CServer::Run (this=0x7f114708f010)
    at src/engine/server/server.cpp:1522
#8  0x0000000000420671 in main (argc=1, argv=0x7ffc05de72e8)
    at src/engine/server/server.cpp:1954

this time right after I tried to place respawn point, so it's more likely due to respawn points.

yavl commented 5 years ago

(before the 'dirty crash fix'

    at src/game/server/entities/pickup.cpp:123
123                             GameServer()->Console()->Print(IConsole::OUTPUT_LEVEL_DEBUG, "game", aBuf);
[Current thread is 1 (Thread 0x7f114915a740 (LWP 1294))]
(gdb) backtrace
#0  0x000000000043f12c in CPickup::Tick (this=0x0)
    at src/game/server/entities/pickup.cpp:123
#1  0x000000000043f164 in CPickup::Tick (this=0x1372888)
    at src/game/server/entities/pickup.cpp:127
#2  0x0000000000446ab5 in CProjectile::Tick (this=0x1)
    at src/game/server/entities/projectile.cpp:70
#3  0x000000000045aa39 in CEngineerWall::Tick (this=0x4478000044940000)
    at src/infcroya/entities/engineer-wall.cpp:99
#4  0x0000000000430a64 in CGameControllerMOD::OnRoundStart (this=0x0)
    at src/game/server/gamemodes/mod.cpp:143
#5  0x0000000000430c5f in CGameControllerMOD::OnRoundStart (
    this=0x10100647261646e) at src/game/server/gamemodes/mod.cpp:130
#6  0x0000000000424905 in CGameContext::OnTick (this=0x1179ee0)
    at src/game/server/gamecontext.cpp:509
#7  0x000000000041e9fa in CServer::Run (this=0x7f114708f010)
    at src/engine/server/server.cpp:1522
#8  0x0000000000420671 in main (argc=1, argv=0x7ffc05de72e8)
    at src/engine/server/server.cpp:1954
(gdb)
yavl commented 5 years ago
#0  0x000000000043f12c in CLaser::DoBounce (this=0x0)
    at src/game/server/entities/laser.cpp:62
62                              m_Dir = normalize(TempDir);
[Current thread is 1 (Thread 0x7f114915a740 (LWP 1294))]
(gdb) backtrace
#0  0x000000000043f12c in CLaser::DoBounce (this=0x0)
    at src/game/server/entities/laser.cpp:62
#1  0x000000000043f164 in CLaser::DoBounce (this=0x1)
    at src/game/server/entities/laser.cpp:64
#2  0x0000000000446ab5 in CEntity::GameLayerClipped (this=0x1744780000,
    CheckPos=...) at src/game/server/entity.cpp:55
#3  0x000000000045aa39 in CInfCircle::~CInfCircle (this=0x100,
    __in_chrg=<optimized out>) at src/infcroya/entities/inf-circle.cpp:16
#4  0x0000000000430a64 in CGameControllerMOD::OnRoundStart (this=0x0)
    at src/game/server/gamemodes/mod.cpp:143
#5  0x0000000000430c5f in CGameControllerMOD::OnRoundStart (
    this=0x10100647261646e) at src/game/server/gamemodes/mod.cpp:130
#6  0x0000000000424905 in CGameContext::OnTick (this=0x1179ee0)
    at src/game/server/gamecontext.cpp:509
#7  0x000000000041e9fa in CServer::Run (this=0x7f114708f010)
    at src/engine/server/server.cpp:1522
#8  0x0000000000420671 in main (argc=1, argv=0x7ffc05de72e8)
    at src/engine/server/server.cpp:1954
(gdb)
teoman002 commented 5 years ago

Are you sure, you want to use CLaser::DoBounce in the Infection Circle? I mean these lasers are constants and can't move by themselves.

yavl commented 5 years ago

Latest crash does not look like all previous bugs

@teoman002 I can't deduce what is the reason of that last crash

teoman002 commented 5 years ago

I hammered a zombie with biologist and then it crashed. But it can be something else ofc.

yavl commented 5 years ago

logfile for last crash:

[5ced0555][game]: kill killer='3:Sincere' victim='0:Yavl-YKT' weapon=0 special=0
[5ced0556][game]: kill killer='3:Sincere' victim='9:<|Apple|>' weapon=0 special=0
[5ced055d][server]: player is ready. ClientID=10 addr=188.191.161.32:61284
[5ced055e][server]: player has entered the game. ClientID=10 addr=188.191.161.32:61284
[5ced055e][game]: team_join player='10:MistarioPlay' team=0
[5ced0561][game]: kill killer='3:Sincere' victim='0:Yavl-YKT' weapon=0 special=0
[5ced0563][game]: kill killer='5:Yarka' victim='2:KillOrBite' weapon=4 special=0
[5ced0569][game]: kill killer='5:Yarka' victim='3:Sincere' weapon=0 special=0
[5ced0569][game]: kill killer='5:Yarka' victim='0:Yavl-YKT' weapon=0 special=0
[5ced056c][chat]: 7:1:FluffyTee|Bro: Yavl-YKT: lol^^
[5ced0570][game]: kill killer='6:Karl Marx' victim='8:MONARCH-IV' weapon=4 special=0
[5ced0570][game]: kill killer='6:Karl Marx' victim='9:<|Apple|>' weapon=4 special=0
[5ced0570][game]: kill killer='5:Yarka' victim='2:KillOrBite' weapon=0 special=0
[5ced0577][game]: kill killer='5:Yarka' victim='3:Sincere' weapon=0 special=0
[5ced0578][game]: kill killer='7:FluffyTee|Bro' victim='10:MistarioPlay' weapon=4 special=0
[5ced0581][chat]: 0:1:Yavl-YKT: i wont kill you
[5ced0581][game]: kill killer='7:FluffyTee|Bro' victim='2:KillOrBite' weapon=0 special=0
teoman002 commented 5 years ago

So the crash says:

#0  0x000000000043f12c in CLaser::DoBounce (this=0x0)
    at src/game/server/entities/laser.cpp:62
62                              m_Dir = normalize(TempDir);

What happens if we normalize zero or a negative number?

inline vector2_base<float> normalize(const vector2_base<float> &v)
{
    float l = (float)(1.0f/sqrtf(v.x*v.x + v.y*v.y));
    return vector2_base<float>(v.x*l, v.y*l);
}

If one passes zero to normalize, they number becomes infinity.

yavl commented 5 years ago

@teoman002 if I remember correctly, there was an issue in 0.6 infclass when boomfly did a server crash because of zero vector being tried to be normalized

teoman002 commented 5 years ago

So we now search for code, that passes directional data to Claser.

yavl commented 5 years ago

I have little experience with gdb, is it normalize function that causes the crash? If so, I could just check if m_Dir.x, y are not zero and give them fake values otherwise

teoman002 commented 5 years ago

@yavl Please add guards to CLaser such that normalize can't get zero directions. If direction is zero, then make it one. And please add a console msg if that happens!

yavl commented 5 years ago

crashed again (without teoman002's commit)

    at src/game/server/entities/laser.cpp:64
64                              if (m_Dir.x == 0 && m_Dir.y == 0) {
[Current thread is 1 (Thread 0x7f114915a740 (LWP 1294))]
(gdb) backtrace
#0  0x000000000043f12c in CLaser::DoBounce (this=0x0)
    at src/game/server/entities/laser.cpp:64
#1  0x000000000043f164 in CLaser::DoBounce (this=0x1)
    at src/game/server/entities/laser.cpp:68
#2  0x0000000000446ab5 in CEntity::NetworkClipped (this=0x1744780000,
    SnappingClient=1150550016, CheckPos=...) at src/game/server/entity.cpp:46
#3  0x000000000045aa39 in CInfCircle::CInfCircle (this=0x1384240,
    pGameWorld=0x0, Pos=..., Owner=-1, Radius=360)
    at src/infcroya/entities/inf-circle.cpp:11
#4  0x0000000000430a64 in CGameControllerMOD::OnRoundStart (this=0x0)
    at src/game/server/gamemodes/mod.cpp:143
#5  0x0000000000430c5f in CGameControllerMOD::OnRoundStart (
    this=0x10100647261646e) at src/game/server/gamemodes/mod.cpp:130
#6  0x0000000000424905 in CGameContext::OnTick (this=0x1179ee0)
    at src/game/server/gamecontext.cpp:509
#7  0x000000000041e9fa in CServer::Run (this=0x7f114708f010)
    at src/engine/server/server.cpp:1522
#8  0x0000000000420671 in main (argc=1, argv=0x7ffc05de72e8)
    at src/engine/server/server.cpp:1954
(gdb)
yavl commented 5 years ago

crashed few secs after third person joined the server, with teoman's fix.

Core was generated by `./server'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000043f12c in CLaser::DoBounce (this=0x0)
    at src/game/server/entities/laser.cpp:64
64                              if (m_Dir.x == 0 && m_Dir.y == 0) {
[Current thread is 1 (Thread 0x7f114915a740 (LWP 1294))]
(gdb) backtrace
#0  0x000000000043f12c in CLaser::DoBounce (this=0x0)
    at src/game/server/entities/laser.cpp:64
#1  0x000000000043f164 in CLaser::DoBounce (this=0x1)
    at src/game/server/entities/laser.cpp:68
#2  0x0000000000446ab5 in CEntity::NetworkClipped (this=0x1744780000,
    SnappingClient=1150550016, CheckPos=...) at src/game/server/entity.cpp:46
#3  0x000000000045aa39 in CEngineerWall::Snap (this=0x4478000044940000,
    SnappingClient=-1) at src/infcroya/entities/engineer-wall.cpp:172
#4  0x0000000000430a64 in CGameControllerMOD::OnRoundStart (this=0x0)
    at src/game/server/gamemodes/mod.cpp:143
#5  0x0000000000430c5f in CGameControllerMOD::OnRoundStart (
    this=0x10100647261646e) at src/game/server/gamemodes/mod.cpp:130
#6  0x0000000000424905 in CGameContext::OnTick (this=0x1179ee0)
    at src/game/server/gamecontext.cpp:509
#7  0x000000000041e9fa in CServer::Run (this=0x7f114708f010)
    at src/engine/server/server.cpp:1522
#8  0x0000000000420671 in main (argc=1, argv=0x7ffc05de72e8)
    at src/engine/server/server.cpp:1954
yavl commented 5 years ago

Looks like the problem is somewhere in LuaLoader::GetCirclePositions()... functions (thank to breton). I will look at them and try to fix later.

yavl commented 5 years ago
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000433a62 in CGameWorld::GameServer (this=0x0)
    at src/game/server/gameworld.h:63
63              class CGameContext *GameServer() { return m_pGameServer; }
[Current thread is 1 (Thread 0x7fa221049740 (LWP 12372))]
(gdb) backtrace
#0  0x0000000000433a62 in CGameWorld::GameServer (this=0x0)
    at src/game/server/gameworld.h:63
#1  0x0000000000433a88 in CEntity::GameServer (
    this=0x6dd680 <ms_PoolDataCCharacter+1824>) at src/game/server/entity.h:62
#2  0x000000000044125b in CCharacter::IsGrounded (
    this=0x6dd680 <ms_PoolDataCCharacter+1824>)
    at src/game/server/entities/character.cpp:174
#3  0x000000000044b8b8 in CroyaPlayer::Tick (this=0xc5b760)
    at src/infcroya/croyaplayer.cpp:116
#4  0x000000000043175d in CGameControllerMOD::Tick (this=0xd531c0)
    at src/game/server/gamemodes/mod.cpp:190
#5  0x0000000000424e11 in CGameContext::OnTick (this=0xb73ee0)
    at src/game/server/gamecontext.cpp:552
#6  0x000000000041e9ac in CServer::Run (this=0x7fa21ef5e010)
    at src/engine/server/server.cpp:1512
#7  0x0000000000420623 in main (argc=1, argv=0x7ffe129cad48)
    at src/engine/server/server.cpp:1949

frame 3

(gdb) frame 3
#3  0x000000000044b8b8 in CroyaPlayer::Tick (this=0xc5b760)
    at src/infcroya/croyaplayer.cpp:116
116                     if(m_pCharacter->IsGrounded()) m_AirJumpCounter = 0;
teoman002 commented 5 years ago

crash 19:50

yavl commented 5 years ago
Program terminated with signal SIGSEGV, Segmentation fault.
#0  CCharacter::Die (this=0x6de2f0 <ms_PoolDataCCharacter+912>, Killer=1,
    Weapon=-3) at src/game/server/entities/character.cpp:1185
1185            m_pPlayer->m_RespawnTick = Server()->Tick()+Server()->TickSpeed()/2;
[Current thread is 1 (Thread 0x7f4f649ee740 (LWP 17568))]
(gdb) backtrace
#0  CCharacter::Die (this=0x6de2f0 <ms_PoolDataCCharacter+912>, Killer=1,
    Weapon=-3) at src/game/server/entities/character.cpp:1185
#1  0x00000000004492d1 in CPlayer::KillCharacter (
    this=0x6ec6d8 <ms_PoolDataCPlayer+632>, Weapon=-3)
    at src/game/server/player.cpp:346
#2  0x0000000000449878 in CPlayer::SetTeam (
    this=0x6ec6d8 <ms_PoolDataCPlayer+632>, Team=-1, DoChatMsg=true)
    at src/game/server/player.cpp:454
#3  0x000000000043da88 in IGameController::DoTeamChange (this=0x140ddf0,
    pPlayer=0x6ec6d8 <ms_PoolDataCPlayer+632>, Team=-1, DoChatMsg=true)
    at src/game/server/gamecontroller.cpp:1171
#4  0x000000000043a037 in IGameController::DoActivityCheck (this=0x140ddf0)
    at src/game/server/gamecontroller.cpp:96
#5  0x000000000043c72c in IGameController::Tick (this=0x140ddf0)
    at src/game/server/gamecontroller.cpp:863
#6  0x0000000000431611 in CGameControllerMOD::Tick (this=0x140ddf0)
    at src/game/server/gamemodes/mod.cpp:161
#7  0x0000000000424fc9 in CGameContext::OnTick (this=0x1227ee0)
    at src/game/server/gamecontext.cpp:552
#8  0x000000000041eb0e in CServer::Run (this=0x7f4f62903010)
    at src/engine/server/server.cpp:1535
#9  0x00000000004207cb in main (argc=1, argv=0x7ffdef4f0498)
    at src/engine/server/server.cpp:1976
[5cf50960][game]: kill killer='6:FoxKill8r' victim='0:Alisa bro' weapon=1 special=0
[5cf50962][chat]: 9:1:<|Apple|>: бл
[5cf50964][game]: kill killer='5:kirasu' victim='5:kirasu' weapon=-2 special=0
[5cf5096d][server]: client dropped. cid=5 addr=78.85.197.108:59253 reason=''
[5cf5096d][game]: kill killer='5:kirasu' victim='5:kirasu' weapon=-3 special=0
[5cf5096d][game]: leave player='5:kirasu'
[5cf5096f][game]: kill killer='8:NuaBuak' victim='2:Shaka' weapon=2 special=0
[5cf50977][game]: kill killer='4:plariym' victim='1:UwU♥' weapon=0 special=0
[5cf5097a][game]: kill killer='4:plariym' victim='2:Shaka' weapon=0 special=0
[5cf5097a][game]: kill killer='4:plariym' victim='4:plariym' weapon=0 special=0
[5cf50981][game]: kill killer='6:FoxKill8r' victim='9:<|Apple|>' weapon=0 special=0
[5cf50986][game]: kill killer='2:Shaka' victim='2:Shaka' weapon=-1 special=0
[5cf50987][game]: kill killer='8:NuaBuak' victim='4:plariym' weapon=2 special=0
[5cf5098d][game]: kill killer='7:Haword' victim='1:UwU♥' weapon=4 special=0
[5cf509a2][game]: kill killer='8:NuaBuak' victim='4:plariym' weapon=2 special=0
[5cf509a4][game]: kill killer='6:FoxKill8r' victim='9:<|Apple|>' weapon=0 special=0
[5cf509ae][game]: kill killer='8:NuaBuak' victim='2:Shaka' weapon=2 special=0
[5cf509c3][game]: kill killer='8:NuaBuak' victim='9:<|Apple|>' weapon=2 special=0
[5cf509cb][game]: kill killer='0:Alisa bro' victim='0:Alisa bro' weapon=-1 special=0
[5cf509d0][game]: kill killer='6:FoxKill8r' victim='4:plariym' weapon=0 special=0
[5cf509d6][game]: kill killer='6:FoxKill8r' victim='2:Shaka' weapon=1 special=0
[5cf509d7][game]: kill killer='6:FoxKill8r' victim='9:<|Apple|>' weapon=1 special=0
[5cf509dd][game]: kill killer='6:FoxKill8r' victim='0:Alisa bro' weapon=0 special=0
[5cf509eb][game]: kill killer='8:NuaBuak' victim='9:<|Apple|>' weapon=2 special=0
[5cf509f6][game]: kill killer='7:Haword' victim='4:plariym' weapon=0 special=0
[5cf509f7][game]: kill killer='7:Haword' victim='2:Shaka' weapon=4 special=0
[5cf509f9][game]: kill killer='6:FoxKill8r' victim='0:Alisa bro' weapon=0 special=0
[5cf50a00][game]: kill killer='9:<|Apple|>' victim='9:<|Apple|>' weapon=-1 special=0
[5cf50a02][game]: kill killer='1:UwU♥' victim='1:UwU♥' weapon=-3 special=0
[5cf50a04][game]: kill killer='7:Haword' victim='2:Shaka' weapon=4 special=0
[5cf50a05][game]: kill killer='0:Alisa bro' victim='0:Alisa bro' weapon=-1 special=0
[5cf50a06][game]: kill killer='4:plariym' victim='4:plariym' weapon=-3 special=0
yavl commented 5 years ago
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000433c4a in CCollision::CheckPoint (
    this=0x42b98f <length(vector2_base<float> const&)+63>, x=0,
    y=7.67398571e-38, Flag=-1011875840) at src/game/collision.h:28
28              bool CheckPoint(float x, float y, int Flag=COLFLAG_SOLID) const { return IsTile(round_to_int(x), round_to_int(y), Flag); }
[Current thread is 1 (Thread 0x7f7038aa4740 (LWP 20113))]
(gdb) backtrace
#0  0x0000000000433c4a in CCollision::CheckPoint (
    this=0x42b98f <length(vector2_base<float> const&)+63>, x=0,
    y=7.67398571e-38, Flag=-1011875840) at src/game/collision.h:28
#1  0x0000000000433c70 in CCollision::CheckPoint (
    this=0x433c70 <CCollision::CheckPoint(float, float, int) const+72>,
    x=4.59149455e-41, y=1.05148603e+23, Flag=0) at src/game/collision.h:28
#2  0x0000000000445abc in CCharacter::Die (this=0x7ffe65b22060, Killer=0,
    Weapon=0) at src/game/server/entities/character.cpp:1226
#3  0x000000000044b75c in CroyaPlayer::Tick (this=0x1b42f60)
    at src/infcroya/croyaplayer.cpp:60
#4  0x0000000000431915 in CGameControllerMOD::Tick (this=0x1b33940)
    at src/game/server/gamemodes/mod.cpp:188
#5  0x0000000000424fc9 in CGameContext::OnTick (this=0x1860ee0)
    at src/game/server/gamecontext.cpp:552
#6  0x000000000041eb0e in CServer::Run (this=0x7f70369b9010)
    at src/engine/server/server.cpp:1535
#7  0x00000000004207cb in main (argc=1, argv=0x7ffe65b23478)
    at src/engine/server/server.cpp:1976
[5cf7ca56][chat]: 4:1:Texas.C: go tower QAQ
[5cf7ca57][game]: kill killer='2:Lapkoska' victim='5:Karl Marx' weapon=0 special=0
[5cf7ca5a][game]: kill killer='10:Schwarztee' victim='6:ASDF12' weapon=0 special=0
[5cf7ca5e][game]: kill killer='2:Lapkoska' victim='0:Blazer' weapon=0 special=0
[5cf7ca60][game]: kill killer='7:Xoluose' victim='15:novne' weapon=4 special=0
[5cf7ca61][game]: kill killer='5:Karl Marx' victim='5:Karl Marx' weapon=-2 special=0
[5cf7ca66][game]: kill killer='2:Lapkoska' victim='0:Blazer' weapon=0 special=0
[5cf7ca69][game]: kill killer='7:Xoluose' victim='15:novne' weapon=2 special=0
[5cf7ca6a][game]: kill killer='5:Karl Marx' victim='5:Karl Marx' weapon=-2 special=0
[5cf7ca6c][chat]: 4:1:Texas.C: bomber!!
[5cf7ca6c][game]: kill killer='2:Lapkoska' victim='0:Blazer' weapon=0 special=0
[5cf7ca75][game]: kill killer='7:Xoluose' victim='0:Blazer' weapon=4 special=0
[5cf7ca75][game]: kill killer='7:Xoluose' victim='6:ASDF12' weapon=4 special=0
[5cf7ca78][game]: kill killer='5:Karl Marx' victim='10:Schwarztee' weapon=0 special=0
[5cf7ca78][game]: kill killer='5:Karl Marx' victim='5:Karl Marx' weapon=-2 special=0
yavl commented 5 years ago

A new rare server crash after hosting for 5 days

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000000000044ce44 in CroyaPlayer::SetClass (this=0xd64db0,
    pClass=0xd17c50, DrawPurpleThing=false) at src/infcroya/croyaplayer.cpp:484
484             str_format(aBuf, sizeof(aBuf), "%s", m_pClass->GetName().c_str());
[Current thread is 1 (Thread 0x7f7817479740 (LWP 12601))]
(gdb) backtrace
#0  0x000000000044ce44 in CroyaPlayer::SetClass (this=0xd64db0,
    pClass=0xd17c50, DrawPurpleThing=false) at src/infcroya/croyaplayer.cpp:484
#1  0x000000000044c0a8 in CroyaPlayer::SetClassNum (this=0xd64db0, Class=4,
    DrawPurpleThing=false) at src/infcroya/croyaplayer.cpp:176
#2  0x000000000044c636 in CroyaPlayer::TurnIntoNextHumanClass (this=0xd64db0)
    at src/infcroya/croyaplayer.cpp:332
#3  0x000000000044c340 in CroyaPlayer::OnMouseWheelDown (this=0xd64db0,
    pChr=0x6de680 <ms_PoolDataCCharacter+1824>)
    at src/infcroya/croyaplayer.cpp:241
#4  0x0000000000441f45 in CCharacter::HandleWeaponSwitch (
    this=0x6de680 <ms_PoolDataCCharacter+1824>)
    at src/game/server/entities/character.cpp:295
#5  0x0000000000444c5a in CCharacter::OnDirectInput (
    this=0x6de680 <ms_PoolDataCCharacter+1824>, pNewInput=0x7f78153c0cd0)
    at src/game/server/entities/character.cpp:1016
#6  0x00000000004490ac in CPlayer::OnDirectInput (
    this=0x6ec950 <ms_PoolDataCPlayer+1264>, NewInput=0x7f78153c0cd0)
    at src/game/server/player.cpp:282
#7  0x0000000000425a28 in CGameContext::OnClientDirectInput (this=0xa95ee0,
    ClientID=2, pInput=0x7f78153c0cd0) at src/game/server/gamecontext.cpp:678
#8  0x000000000041ca2d in CServer::ProcessClientPacket (this=0x7f781538e010,
    pPacket=0x7ffeb1b84b00) at src/engine/server/server.cpp:1097
#9  0x000000000041dc14 in CServer::PumpNetwork (this=0x7f781538e010)
--Type <RET> for more, q to quit, c to continue without paging--
    at src/engine/server/server.cpp:1325
#10 0x000000000041eba0 in CServer::Run (this=0x7f781538e010)
    at src/engine/server/server.cpp:1551
#11 0x00000000004207cb in main (argc=1, argv=0x7ffeb1b856f8)
    at src/engine/server/server.cpp:1976
[5d0253b2][lua]: LuaLoader constructed
[5d0253b2][lua]: LuaLoader::Load(maps/infc_ctf5.lua)
[5d0253b2][lua]: LuaLoader::Init(4)
[5d0253b2][lua]: LuaLoader::GetCirclePositions()
[5d0253b2][lua]: LuaLoader::GetCircleRadiuses()
[5d0253b2][lua]: LuaLoader::GetCircleMinRadiuses()
[5d0253b2][lua]: LuaLoader::GetCircleShrinkSpeeds()
[5d0253b2][lua]: LuaLoader::GetInfCirclePositions()
[5d0253b2][lua]: LuaLoader::GetInfCircleRadiuses()
[5d0253da][game]: kill killer='4:PENGFACE' victim='4:PENGFACE' weapon=-1 special=0
[5d0253db][game]: kill killer='2:Noneks' victim='2:Noneks' weapon=-1 special=0
[5d0253e0][engine/mastersrv]: refreshing master server addresses
[5d0253e0][register]: refreshing ip addresses
[5d0253e0][engine/mastersrv]: saving addresses
[5d0253e0][register]: fetching server counts
[5d0253e1][game]: kill killer='2:Noneks' victim='2:Noneks' weapon=-1 special=0
[5d0253e3][register]: chose 'master3.teeworlds.com' as master, sending heartbeats
[5d0253e4][register]: no firewall/nat problems detected
[5d0253e4][register]: server registered
[5d0253e8][game]: kill killer='1:Melonias' victim='2:Noneks' weapon=0 special=0
[5d0253ec][lua]: LuaLoader destructed
[5d0253ef][game]: start match type='InfCroya' teamplay='0'
[5d0253f3][server]: client dropped. cid=2 addr=unknown type 0 reason='Error sending data'
[5d0253f3][game]: kill killer='2:Noneks' victim='2:Noneks' weapon=-3 special=0
[5d0253f3][game]: leave player='2:Noneks'
yavl commented 5 years ago
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000433d78 in CGameWorld::GameServer (this=0x0)
    at src/game/server/gameworld.h:63
63              class CGameContext *GameServer() { return m_pGameServer; }
[Current thread is 1 (Thread 0x7f173a7a0740 (LWP 28866))]
(gdb) backtrace
#0  0x0000000000433d78 in CGameWorld::GameServer (this=0x0)
    at src/game/server/gameworld.h:63
#1  0x0000000000433d9e in CEntity::GameServer (
    this=0x6dfbe0 <ms_PoolDataCCharacter+7296>) at src/game/server/entity.h:62
#2  0x0000000000445bea in CCharacter::TakeDamage (
    this=0x6dfbe0 <ms_PoolDataCCharacter+7296>, Force=..., Source=..., Dmg=1,
    From=8, Weapon=-1) at src/game/server/entities/character.cpp:1235
#3  0x000000000044b904 in CroyaPlayer::Tick (this=0x14e6ca0)
    at src/infcroya/croyaplayer.cpp:60
#4  0x0000000000431a03 in CGameControllerMOD::Tick (this=0x13be3e0)
    at src/game/server/gamemodes/mod.cpp:198
#5  0x000000000042500b in CGameContext::OnTick (this=0x11daee0)
    at src/game/server/gamecontext.cpp:555
#6  0x000000000041eb0e in CServer::Run (this=0x7f17386b5010)
    at src/engine/server/server.cpp:1535
#7  0x00000000004207cb in main (argc=1, argv=0x7fffd947f9d8)
    at src/engine/server/server.cpp:1976
[5d497319][server]: player has entered the game. ClientID=6 addr=qwe123456
[5d497319][game]: team_join player='6:Shotzag' team=0
[5d497330][game]: kill killer='6:Shotzag' victim='6:Shotzag' weapon=-3 special=0
[5d497330][game]: kill killer='4:reckley' victim='4:reckley' weapon=-3 special=0
[5d497331][game]: kill killer='5:BOSS' victim='5:BOSS' weapon=-3 special=0
[5d497332][server]: client dropped. cid=6 addr=qwe123456 reason=''
[5d497332][game]: leave player='6:Shotzag'
[5d497334][lua]: LuaLoader destructed
[5d497337][game]: start match type='InfCroya' teamplay='0'
[5d497337][game]: team_join player='8:nameless tee' m_Team=-1
[5d49733d][game]: kill killer='9:<|Apple|>' victim='4:reckley' weapon=0 special=0
[5d497341][lua]: LuaLoader constructed
[5d497341][lua]: LuaLoader::Load(maps/infc_provence.lua)
[5d497341][lua]: LuaLoader::Init(7)
[5d497341][lua]: LuaLoader::GetCirclePositions()
[5d497341][lua]: LuaLoader::GetCircleRadiuses()
[5d497341][lua]: LuaLoader::GetCircleMinRadiuses()
[5d497341][lua]: LuaLoader::GetCircleShrinkSpeeds()
[5d497341][lua]: LuaLoader::GetInfCirclePositions()
[5d497341][lua]: LuaLoader::GetInfCircleRadiuses()
[5d497359][game]: kill killer='5:BOSS' victim='4:reckley' weapon=4 special=0
[5d497379][game]: kill killer='4:reckley' victim='4:reckley' weapon=-1 special=0
teoman002 commented 5 years ago

src/game/server/gameworld.h:63 CGameContext *GameServer() { return m_pGameServer; }

the GameServer pointer returned null (this=0x0), when a character (entity) took damage. Further observation is necessary.