packetflinger / openra2

An open source remake of the Rocket Arena mod for Quake 2
GNU General Public License v3.0
20 stars 4 forks source link

Server crash on player crater #27

Closed joe0x04 closed 3 years ago

joe0x04 commented 3 years ago

This happens at least in warmup mode, not sure about during a match

joe0x04 commented 3 years ago
Program received signal SIGSEGV, Segmentation fault.
0x7680858c in Killed (targ=0x765ac334, inflictor=0x765ac018, attacker=0x765ac018, damage=4, point=0x765ac338) at g_combat.c:103
103             if (ARENA(attacker)->state > ARENA_STATE_WARMUP) {
(gdb) backtrace
#0  0x7680858c in Killed (targ=0x765ac334, inflictor=0x765ac018, attacker=0x765ac018, damage=4, point=0x765ac338) at g_combat.c:103
#1  0x768091e0 in T_Damage (targ=0x765ac334, inflictor=0x765ac018, attacker=0x765ac018, dir=0x7efff548, point=0x765ac338,
    normal=0x7686558c <vec3_origin>, damage=4, knockback=0, dflags=0, mod=22) at g_combat.c:410
#2  0x7683a880 in P_FallingDamage (ent=0x765ac334) at p_view.c:549
#3  0x7683c01c in ClientEndServerFrame (ent=0x765ac334) at p_view.c:981
#4  0x7681431c in ClientEndServerFrames () at g_main.c:183
#5  0x76815c58 in G_RunFrame () at g_main.c:819
#6  0x000362dc in SV_RunGameFrame () at src/server/main.c:1774
#7  SV_Frame (msec=msec@entry=24) at src/server/main.c:1936
#8  0x00019148 in Qcommon_Frame () at src/common/common.c:1119
#9  0x00011f70 in main (argc=8, argv=<optimized out>) at src/unix/system.c:569
joe0x04 commented 3 years ago

Based on that stack, I'm thinking attacker is the world entity in the case of a crater, and it doesn't have a client_persistent_t associated with it.