There is nothing about server stats. It crashed on sending packet to player about HP regeneration (ex. for eating food):
Code:
#0 ProtocolGame::sendStats (this=0x555555ac3c10) at /home/debian/server/src/protocolgame.cpp:1214
msg = <error reading variable msg (value of type `NetworkMessage' requires 187696 bytes, which is more than max-value-size)>
#1 0x00005555556e948d in Player::sendStats (this=0x7fffb54bc500) at /home/debian/server/src/player.cpp:1111
No locals.
#2 Player::changeHealth (this=0x7fffb54bc500, healthChange=<optimized out>, sendHealthChange=<optimized out>) at /home/debian/server/src/player.cpp:3911
No locals.
#3 0x00005555555c2b6a in ConditionRegeneration::executeCondition (this=0x7fffdc6469f0, creature=0x7fffb54bc500, interval=200) at /home/debian/server/src/condition.cpp:756
realHealthGain = <optimized out>
#4 0x00005555555d6a0f in Creature::executeConditions (this=this@entry=0x7fffb54bc500, interval=interval@entry=200) at /home/debian/server/src/creature.cpp:1372
it = <optimized out>
condition = 0x7fffdc6469f0
__for_range = std::__cxx11::list = {[0] = 0x7fffdc6469f0, [1] = 0x7fffde5650c0, [2] = 0x7fffe48ad250, [3] = 0x7fffe5792450, [4] = 0x7fffddd2a170, [5] = 0x7fffcba9e3a0, [6] = 0x7fffe7847b50, [7] = 0x7fffe564c600}
tempConditions = std::__cxx11::list = {[0] = 0x7fffdc6469f0, [1] = 0x7fffde5650c0, [2] = 0x7fffe48ad250, [3] = 0x7fffe5792450, [4] = 0x7fffddd2a170, [5] = 0x7fffcba9e3a0, [6] = 0x7fffe7847b50, [7] = 0x7fffe564c600}
#5 0x00005555555f818f in Game::checkCreatures (this=0x5555559e8840 <g_game>, index=<optimized out>) at /home/debian/server/src/game.cpp:3582
Probably this player does not exist anymore or he has no connection. You can try to debug it with
gdb
:
Code:
p (Player*) 0x7fffb54bc500
p $1.name
If both commands work, it should show player name. If it does not, it means player is not in RAM anymore, but for some reason is still on list of 'creatures to check'.
You can also do same check for connection (if you run it after running check for Player without gdb restart, it will be different number than
$1
, probably
$3
):
Code:
p (ProtocolGame*) 0x555555ac3c10
p $1.player
It should some some address, probably
0x7fffb54bc500
.
It crashed on 1214 line of
protocolgame.cpp
. Post this file, so we can check what can be wrong with it.