Segfault when client sends new vote kick player who left
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Armagetron Advanced |
Fix Committed
|
Critical
|
Manuel Moos |
Bug Description
It probably happens in (at least) all the 0.2.* versions, but I tried it on sty+ct
A way to reproduce: Sit in the kick menu, wait for a player to leave, then try to submit a kick poll on the player who left.
(gdb) backtrace
#0 0x0000555555682a4e in eVoteItemHarm:
#1 0x0000555555682c09 in eVoteItemHarm:
#2 0x000055555568312c in eVoteItem:
#3 0x000055555567e8d6 in se_HandleKickVo
#4 0x00005555556b92b4 in nDescriptor:
#5 0x00005555556ba8e0 in rec_peer(unsigned int) ()
#6 0x00005555556bb319 in sn_Receive() ()
#7 0x00005555555d49c9 in sg_Receive() ()
#8 0x00005555555d4c42 in gGame::NetSync() ()
#9 0x00005555555dbfee in gGame::
#10 0x00005555555d511f in GameLoop(bool) ()
#11 0x00005555555d5541 in sg_EnterGameCor
#12 0x00005555555d5c91 in sg_EnterGame(
#13 0x00005555555d9006 in own_game(nNetState) ()
#14 0x00005555555d9306 in sg_HostGame() ()
#15 0x0000555555594e55 in main ()
description: | updated |
information type: | Public → Private |
information type: | Private → Public |
A more useful backtrace (on +ap this time though, meh):
#0 0x00005555556e9822 in ePlayerNetID: :IsSilenced (this=0x0) ePlayer. h:393 :CheckValidNoHa rm ( 0x555555fd5bd0, senderID=1) at engine/ eVoter. cpp:1190 :DoCheckValid (this=0x555555f d5bd0, eVoter. cpp:1215 rverControlled: :DoCheckValid ( 0x555555fd5b30, senderID=1) at engine/ eVoter. cpp:1643 :CheckValid (this=0x555555f d5b70, eVoter. cpp:676 :FillFromMessag e (this=0x555555f d5b70, eVoter. cpp:251 eVoter. cpp:1664 :HandleMessage (message=...) nNetwork. cpp:618 nNetwork. cpp:2892 nNetwork. cpp:3674 state=nSERVER) state=nSERVER) state=nSERVER) at tron/gGame.cpp:2135 e538) at tron/gArmagetro n.cpp:828
at engine/
#1 0x0000555555719c4e in eVoteItemHarm:
this=
#2 0x0000555555719ddc in eVoteItemHarm:
senderID=1) at engine/
#3 0x000055555571be70 in eVoteItemKickSe
this=
#4 0x0000555555718d17 in eVoteItem:
senderID=1) at engine/
#5 0x0000555555717420 in eVoteItem:
m=...) at engine/
#6 0x0000555555714a1b in se_HandleKickVote (m=...) at engine/
#7 0x000055555575707d in nDescriptor:
at network/
#8 0x000055555575e139 in rec_peer (peer=33) at network/
#9 0x00005555557610b3 in sn_Receive () at network/
#10 0x00005555555e3fa3 in sg_Receive () at tron/gGame.cpp:2292
#11 0x00005555555eed78 in sg_EnterGameCore (enter_
at tron/gGame.cpp:5629
#12 0x00005555555eef17 in sg_EnterGame (enter_
at tron/gGame.cpp:5702
#13 0x00005555555e3968 in own_game (enter_
---Type <return> to continue, or q <return> to quit---
#14 0x00005555555e3d64 in sg_HostGame () at tron/gGame.cpp:2232
#15 0x000055555559fe2f in main (argc=1, argv=0x7fffffff