Hi ,
I just noticed a special crash appearing just after another one if one group is in raid during the first crash.
I got this backtrace
#4 0x084fe6c9 in InstanceMap::Add (this=0x969736f0, player=0xa321a188) at ../../../src/game/Map.cpp:2437
#5 0x08777c5c in WorldSession::HandlePlayerLogin (this=0x96b900e0, holder=0xa36f60b8) at ../../../src/game/CharacterHandler.cpp:704
#6 0x0877bc40 in CharacterHandler::HandlePlayerLoginCallback (this=0x8920d54, holder=0xa36f60b8) at ../../../src/game/CharacterHandler.cpp:133
#7 0x0877afbe in MaNGOS::_Callback<CharacterHandler, QueryResult*, SqlQueryHolder*, void, void>::_Execute (this=0x98d1d154)
at ../../../src/game/../framework/Utilities/Callback.h:92
#8 0x0877afd8 in MaNGOS::_IQueryCallback<MaNGOS::_Callback<CharacterHandler, QueryResult*, SqlQueryHolder*, void, void> >::Execute (this=0x98d1d150)
at ../../../src/game/../framework/Utilities/Callback.h:405
#9 0x087a0165 in SqlResultQueue::Update (this=0xcc4de90) at ../../../../src/shared/Database/SqlOperations.cpp:77
#10 0x086ebdcd in World::UpdateResultQueue (this=0xb6a229e8) at ../../../src/game/World.cpp:1965
#11 0x086f3436 in World::Update (this=0xb6a229e8, diff=26) at ../../../src/game/World.cpp:1464
#12 0x0839b64f in WorldRunnable::run (this=0xb2c8faf0) at ../../../src/mangosd/WorldRunnable.cpp:60
I found the related piece of code in Map.cpp
bool InstanceMap::CanEnter(Player *player)
{
if(player->GetMapRef().getTarget() == this)
{
sLog.outError("InstanceMap::CanEnter - player %s(%u) already in map %d,%d,%d!", player->GetName(), player->GetGUIDLow(), GetId(), GetInstanceId(), GetSpawnMode());
ASSERT(false);
return false;
}
...
Why is there an assert here ? Isnt'it possible to replace it by a player teleport to his homebind ?
Maybe am I totally blind , but I don't understand this Assert, really.
Thanks for reading.