interesting crash
revision last 0.12
(gdb) where
#0 0x00002b0841384fb5 in raise () from /lib/libc.so.6
#1 0x00002b0841386bc3 in abort () from /lib/libc.so.6
#2 0x00002b084137dfa9 in __assert_fail () from /lib/libc.so.6
#3 0x000000000052c3f2 in InstanceSave::SaveToDB (this=0x2b089bd3a860)
at ../../../src/game/InstanceSaveMgr.cpp:162
#4 0x000000000052c718 in InstanceSaveManager::AddInstanceSave (
this=0x14ce180, mapId=<value optimized out>, instanceId=562,
difficulty=1 '\\001', resetTime=1237348800, canReset=true, load=false)
at ../../../src/game/InstanceSaveMgr.cpp:104
#5 0x000000000057f46e in InstanceMap::Add (this=0x2b0888444f00,
player=0x2b086e1ed8d0) at ../../../src/game/Map.cpp:1727
#6 0x000000000073e27b in WorldSession::HandleMoveWorldportAckOpcode (
this=0x2b0868ebe870) at ../../../src/game/MovementHandler.cpp:82
#7 0x00000000006dc73b in WorldSession::Update (this=0x2b0868ebe870)
at ../../../src/game/WorldSession.cpp:206
#8 0x00000000006d1dbf in World::UpdateSessions (this=0xb2a130, diff=163)
at ../../../src/game/World.cpp:2631
#9 0x00000000006d5838 in World::Update (this=0xb2a130, diff=163)
at ../../../src/game/World.cpp:1486
#10 0x00000000004d602d in WorldRunnable::run (this=<value optimized out>)
at ../../../src/mangosd/WorldRunnable.cpp:60
#11 0x00002b084077aa68 in ZThread::ThreadImpl::Dispatch (parent=0xb06500,
impl=0x2b084fe4c080, task=
(gdb) f 3
#3 0x000000000052c3f2 in InstanceSave::SaveToDB (this=0x2b089bd3a860)
at ../../../src/game/InstanceSaveMgr.cpp:162
162 assert(map->IsDungeon());
(gdb) list
157 std::string data;
158
159 Map *map = MapManager::Instance().FindMap(m_instanceid, GetMapId());
160 if(map)
161 {
162 assert(map->IsDungeon());
163 InstanceData *iData = ((InstanceMap *)map)->GetInstanceData();
164 if(iData && iData->Save())
165 {
166 data = iData->Save();
(gdb) p m_instanceid
$1 = 562
(gdb) p m_mapid
$2 = 556
562 is arena mapid why it here?
Map *map = MapManager::Instance().FindMap(m_instanceid, GetMapId());
m_instanceid==instanceid?
why FindMap(m_instanceid, GetMapId());?
Map* MapManager::FindMap(uint32 mapid, uint32 instanceId)
may be Map *map = MapManager::Instance().FindMap(GetMapId(),m_instanceid);