Jump to content

[important][8653] Per map guid store


Guest ApoC
 Share

Recommended Posts

What bug does the patch fix? What features does the patch add?

This patch splits up guid->object looking from ObjectAccessor into Maps. This can avoid locking in further MT map updates, speedup lookups because of smaller data set what needs to be looked up through and opens possibilities for simplify another core parts.

For which repository revision was the patch created?

8574

Is there a thread in the bug report section or at lighthouse? If yes, please add a link to the thread.

None

Who has been writing this patch? Please include either forum user names or email addresses.

ApoC (me)

Patch on pastebin: http://www.pastebin.ca/1586778

Patch on filebeam: http://filebeam.com/9f04e9be290135d35473c7b0024b9f61

Patch on github: git pull git://github.com/apoc/mangos.git per_map_guid_store

Please test the patch and report any crashes/malfunctions. Thanks.

Link to comment
Share on other sites

Well her ei receive link errors but maybe its my fault:

3>game.lib(CombatHandler.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(GuardAI.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(TotemAI.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(MiscHandler.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(SpellHandler.obj) : error LNK2019: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A) referenced in function "public: static class Unit * __cdecl ObjectAccessor::GetObjectInWorld(unsigned __int64,class Unit *)" ([email protected]@@[email protected]@[email protected]@Z)

3>game.lib(ChatHandler.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@0V?$unordered[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(PetHandler.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(OutdoorPvPEP.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(OutdoorPvPZM.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(OutdoorPvPNA.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(SpellEffects.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(GameEventMgr.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(MovementHandler.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected]_KPEAVCre[email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(Level2.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(OutdoorPvP.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(Spell.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

3>game.lib(DynamicObject.obj) : error LNK2001: unresolved external symbol "private: static class std::tr1::unordered_map<unsigned __int64,class Creature *,class std::tr1::hash<unsigned __int64>,struct std::equal_to<unsigned __int64>,class std::allocator<struct std::Pair<unsigned __int64 const ,class Creature *> > > HashMapHolder<class Creature>::m_objectMap" ([email protected][email protected]@@@@[email protected][email protected]@[email protected][email protected]@[email protected]@[email protected][email protected]@[email protected][email protected][email protected]@@[email protected]@@[email protected]@[email protected]@@A)

and thanks for this patch, just a question i have crash here ( with mtmaps patch ):

Its a ~Map destructor called by InstanceMap::~InstanceMap ( maybe your patch fix ?)

0000000140043A0A 000000002AD8F7C0 Map::~Map+EA e:\\wow\\src\\game\\map.cpp line 72

Local <user defined> 'obj' = 1F0000001F

Local <user defined> 'this' = 2A6FB6A0

Link to comment
Share on other sites

So this dont work with mtmaps?

PD: A lot of crashes. without mtmaps

[?1034h[New Thread 17238]

[New Thread 17235]

[New Thread 17221]

[New Thread 17231]

[New Thread 17232]

[New Thread 17225]

[New Thread 17237]

[New Thread 17236]

[New Thread 17224]

[New Thread 17234]

[New Thread 17233]

[New Thread 17223]

Core was generated by `./bin/mangos-worldd -c etc/mangosd.conf'.

Program terminated with signal 6, Aborted.

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

No symbol table info available.

#1 0x0000003297a34b20 in abort () from /lib64/libc.so.6

No symbol table info available.

#2 0x0000003297a2c2fa in __assert_fail () from /lib64/libc.so.6

No symbol table info available.

#3 0x000000000054a014 in insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:78

No locals.

#4 insert<GameObject, GameObject, TypeList<DynamicObject, TypeNull> > (

obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:92

No locals.

#5 insert<GameObject, Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > (obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#6 insert<GameObject, Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#7 insert<GameObject, Creature, TypeList<Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#8 insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:53

No locals.

#9 GameObject::AddToWorld (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/GameObject.cpp:69

No locals.

#10 0x00000000005e04e7 in LoadHelper<GameObject> (

guid_set=<value optimized out>, cell=<value optimized out>,

m=<value optimized out>, [email protected], map=0x9e371b0)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:129

bg = 0x0

#11 0x00000000005df87e in ObjectGridLoader::Visit (this=0x7f8c469e3bd0,

m=[email protected])

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:177

x = <value optimized out>

y = <value optimized out>

cell_pair = {x_coord = 164, y_coord = 240}

cell_guids = @0x0

#12 0x00000000005dfa91 in VisitorHelper<ObjectGridLoader, GameObject> (

c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:64

No locals.

#13 VisitorHelper<ObjectGridLoader, GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > (c=<value optimized out>,

v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:70

No locals.

#14 VisitorHelper<ObjectGridLoader, TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > (

c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:94

No locals.

#15 TypeContainerVisitor<ObjectGridLoader, TypeMapContainer<TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > >::Visit (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:105

No locals.

#16 Visit<ObjectGridLoader> (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/Grid.h:94

No locals.

#17 ObjectGridLoader::Load (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:211

No locals.

#18 0x00000000005dfb5e in Load<ObjectGridLoader> (

loader=<value optimized out>, grid=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/GridLoader.h:53

No locals.

#19 ObjectGridLoader::LoadN (loader=<value optimized out>,

grid=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:233

y = 1

x = 4

#20 0x00000000005b04ef in Map::EnsureGridLoaded (this=0x9e371b0,

[email protected]) at /root/Desktop/Mangos/Sources/src/game/Map.cpp:410

loader = {i_cell = {data = {Part = {grid_x = 20, grid_y = 30,

cell_x = 4, cell_y = 0, nocreate = 0, reserved = 0},

All = 18324}}, i_grid = @0x9f47920, i_map = 0x9e371b0,

i_gameObjects = 9, i_creatures = 12, i_corpses = 0}

grid = 0x9f47920

__PRETTY_FUNCTION__ = "bool Map::EnsureGridLoaded(const Cell&)"

#21 0x00000000005b24fe in Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.h:623

x = 20

y = <value optimized out>

cell_x = 2

cell_y = 0

#22 Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>, cell=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/CellImpl.h:227

r_zone = {data = {Part = {grid_x = 20, grid_y = 30, cell_x = 2,

cell_y = 0, nocreate = 0, reserved = 0}, All = 10132}}

cell_pair = {x_coord = 162, y_coord = 240}

area = {right_offset = 1, left_offset = 1, upper_offset = 1,

lower_offset = 1}

#23 Map::UpdatePlayerVisibility (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:1959

pl_notifier = {i_player = @0x7f8bf5493040}

player_notifier = {i_visitor = @0x7f8c469e3d20}

cell_lock = {i_cell = @0x7f8c469e3de0, i_cellPair = @0x7f8c469e3db0}

#24 0x00000000005b7c32 in Map::Add (this=0x9e371b0, player=0x7f8bf5493040)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:444

p = {x_coord = 163, y_coord = 239}

cell = {data = {Part = {grid_x = 20, grid_y = 29, cell_x = 3,

cell_y = 7, nocreate = 0, reserved = 0}, All = 1849172}}

#25 0x00000000007947be in WorldSession::HandlePlayerLogin (

this=<value optimized out>, holder=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/CharacterHandler.cpp:693

data = {<ByteBuffer> = {static DEFAULT_SIZE = 4096, _rpos = 0,

_wpos = 8, _storage = std::vector of length 8, capacity 118 = {

0 '\\0', 0 '\\0', 0 '\\0', 0 '\\0', 0 '\\0', 0 '\\0', 0 '\\0',

0 '\\0'}}, m_opcode = 1109}

resultGuild = <value optimized out>

IP_str = "190.30.162.37"

#26 0x00000000007ad215 in SqlResultQueue::Update (this=0x7f8c30002a00)

at /root/Desktop/Mangos/Sources/src/shared/Database/SqlOperations.cpp:77

callback = 0x7f8bf3d26900

#27 0x000000000071c9c0 in World::UpdateResultQueue (this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:2087

No locals.

#28 World::Update (this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:1645

No locals.

#29 0x00000000004cd12c in WorldRunnable::run (this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/mangosd/WorldRunnable.cpp:64

diff = 3903

realCurrTime = 1606955112

realPrevTime = <value optimized out>

prevSleepTime = 76

#30 0x00000000007b46dc in ACE_Based::Thread::ThreadTask (param=0x4345)

at /root/Desktop/Mangos/Sources/src/shared/Threading.cpp:183

_task = 0x448a2d0

#31 0x000000329820686a in start_thread () from /lib64/libpthread.so.0

No symbol table info available.

#32 0x0000003297ade3bd in clone () from /lib64/libc.so.6

No symbol table info available.

#33 0x0000000000000000 in ?? ()

No symbol table info available.

Link to comment
Share on other sites

More more and more..

[?1034h[New Thread 17256]

[New Thread 17259]

[New Thread 17253]

[New Thread 17249]

[New Thread 17254]

[New Thread 17248]

[New Thread 17246]

[New Thread 17250]

[New Thread 17260]

[New Thread 17257]

[New Thread 17255]

[New Thread 17258]

Core was generated by `./bin/mangos-worldd -c etc/mangosd.conf'.

Program terminated with signal 6, Aborted.

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

No symbol table info available.

#1 0x0000003297a34b20 in abort () from /lib64/libc.so.6

No symbol table info available.

#2 0x0000003297a2c2fa in __assert_fail () from /lib64/libc.so.6

No symbol table info available.

#3 0x000000000054a014 in insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:78

No locals.

#4 insert<GameObject, GameObject, TypeList<DynamicObject, TypeNull> > (

obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:92

No locals.

#5 insert<GameObject, Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > (obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#6 insert<GameObject, Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#7 insert<GameObject, Creature, TypeList<Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#8 insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:53

No locals.

#9 GameObject::AddToWorld (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/GameObject.cpp:69

No locals.

#10 0x00000000005e04e7 in LoadHelper<GameObject> (

guid_set=<value optimized out>, cell=<value optimized out>,

m=<value optimized out>, [email protected], map=0xb278310)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:129

bg = 0x0

#11 0x00000000005df87e in ObjectGridLoader::Visit (this=0x7f5e5fffe9d0,

[email protected])

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:177

x = <value optimized out>

y = <value optimized out>

cell_pair = {x_coord = 164, y_coord = 240}

cell_guids = @0x0

#12 0x00000000005dfa91 in VisitorHelper<ObjectGridLoader, GameObject> (

c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:64

No locals.

#13 VisitorHelper<ObjectGridLoader, GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > (c=<value optimized out>,

v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:70

No locals.

#14 VisitorHelper<ObjectGridLoader, TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > (

c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:94

No locals.

#15 TypeContainerVisitor<ObjectGridLoader, TypeMapContainer<TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > >::Visit (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:105

No locals.

#16 Visit<ObjectGridLoader> (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/Grid.h:94

No locals.

#17 ObjectGridLoader::Load (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:211

No locals.

#18 0x00000000005dfb5e in Load<ObjectGridLoader> (

loader=<value optimized out>, grid=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/GridLoader.h:53

No locals.

#19 ObjectGridLoader::LoadN (loader=<value optimized out>,

grid=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:233

y = 1

x = 4

#20 0x00000000005b04ef in Map::EnsureGridLoaded (this=0xb278310,

[email protected]) at /root/Desktop/Mangos/Sources/src/game/Map.cpp:410

loader = {i_cell = {data = {Part = {grid_x = 20, grid_y = 30,

cell_x = 4, cell_y = 0, nocreate = 0, reserved = 0},

All = 18324}}, i_grid = @0xb388a80, i_map = 0xb278310,

i_gameObjects = 9, i_creatures = 12, i_corpses = 0}

grid = 0xb388a80

__PRETTY_FUNCTION__ = "bool Map::EnsureGridLoaded(const Cell&)"

#21 0x00000000005b24fe in Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.h:623

x = 20

y = <value optimized out>

cell_x = 2

cell_y = 0

#22 Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>, cell=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/CellImpl.h:227

r_zone = {data = {Part = {grid_x = 20, grid_y = 30, cell_x = 2,

cell_y = 0, nocreate = 0, reserved = 0}, All = 10132}}

cell_pair = {x_coord = 162, y_coord = 240}

area = {right_offset = 1, left_offset = 1, upper_offset = 1,

lower_offset = 1}

#23 Map::UpdatePlayerVisibility (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:1959

pl_notifier = {i_player = @0x7f5e1b899700}

player_notifier = {i_visitor = @0x7f5e5fffeb20}

cell_lock = {i_cell = @0x7f5e5fffeca0, i_cellPair = @0x7f5e5fffec50}

#24 0x00000000005b788f in Map::PlayerRelocation (this=0xb278310,

player=0x7f5e1b899700, x=<value optimized out>, y=<value optimized out>,

z=<value optimized out>, orientation=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:859

__PRETTY_FUNCTION__ = "void Map::PlayerRelocation(Player*, float, float, float, float)"

old_val = {x_coord = 163, y_coord = 239}

old_cell = {data = {Part = {grid_x = 20, grid_y = 29, cell_x = 3,

cell_y = 7, nocreate = 0, reserved = 0}, All = 1849172}}

new_val = {x_coord = 163, y_coord = 239}

new_cell = {data = {Part = {grid_x = 20, grid_y = 29, cell_x = 3,

cell_y = 7, nocreate = 0, reserved = 0}, All = 1849172}}

timems = <value optimized out>

newGrid = <value optimized out>

#25 0x000000000066f270 in Player::SetPosition (this=0x7f5e1b899700,

x=<value optimized out>, y=<value optimized out>, z=<value optimized out>,

orientation=<value optimized out>, teleport=false)

at /root/Desktop/Mangos/Sources/src/game/Player.cpp:5677

m = 0xb278310

old_y = -1132.19653

old_x = -6182.06592

old_z = <value optimized out>

old_r = <value optimized out>

#26 0x000000000077ae4e in WorldSession::HandleMovementOpcodes (

this=0x7f5e30019b10, recv_data=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/MovementHandler.cpp:321

opcode = 188

mover = 0x7f5e1b899700

plMover = 0x7f5e1b899700

data = {<ByteBuffer> = {static DEFAULT_SIZE = 4096, _rpos = 0,

_wpos = 34, _storage = std::vector of length 34, capacity 34 = {

7 '\\a', 103 'g', 193 '\\301', 4 '\\4', 17 '\\21', 0 '\\0', 0 '\\0',

16 '\\20', 0 '\\0', 0 '\\0', 39 '\\'', 195 '\\303', 203 '\\313',

95 '_', 80 'P', 84 'T', 193 '\\301', 197 '\\305', 30 '\\36',

75 'K', 141 '\\215', 196 '\\304', 10 '\\n', 85 'U', 89 'Y',

195 '\\303', 156 '\\234', 249 '\\371', 47 '/', 64 '@', 85 'U',

1 '\\1', 0 '\\0', 0 '\\0'}}, m_opcode = 188}

guid = <value optimized out>

movementInfo = {guid = 311655, flags = 268435473, unk1 = 0,

time = 1607189287, x = -6186.53906, y = -1130.34741,

z = -217.332184, o = 2.74960995, t_guid = 0, t_x = 0, t_y = 0,

t_z = 0, t_o = 0, t_time = 0, t_seat = 94 '^', s_pitch = 0,

fallTime = 341, j_unk = 0, j_sinAngle = 0, j_cosAngle = 0,

j_xyspeed = 0, u_unk1 = 0}

#27 0x0000000000722fb2 in WorldSession::Update (this=0x7f5e30019b10)

at /root/Desktop/Mangos/Sources/src/game/WorldSession.cpp:238

packet = 0x7f5e3002a2d0

currTime = <value optimized out>

#28 0x000000000071c672 in World::UpdateSessions (this=0x202de40, diff=109)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:2051

itr = {<std::tr1::__detail::_Hashtable_iterator_base<std::Pair<unsigned int const, WorldSession*>, false>> = {_M_cur_node = 0x4ad90927,

_M_cur_bucket = 0xaf35b}, <No data fields>}

sess = <value optimized out>

#29 0x000000000071c862 in World::Update (this=0x202de40, diff=109)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:1598

No locals.

#30 0x00000000004cd12c in WorldRunnable::run (this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/mangosd/WorldRunnable.cpp:64

diff = 109

realCurrTime = 1607189285

realPrevTime = <value optimized out>

prevSleepTime = 79

#31 0x00000000007b46dc in ACE_Based::Thread::ThreadTask (param=0x435e)

at /root/Desktop/Mangos/Sources/src/shared/Threading.cpp:183

_task = 0x58a64f0

#32 0x000000329820686a in start_thread () from /lib64/libpthread.so.0

No symbol table info available.

#33 0x0000003297ade3bd in clone () from /lib64/libc.so.6

No symbol table info available.

#34 0x0000000000000000 in ?? ()

No symbol table info available.

Link to comment
Share on other sites

More than 10 crashes in 10 minuts

[?1034h[New Thread 28440]

[New Thread 28439]

[New Thread 28442]

[New Thread 28433]

[New Thread 28443]

[New Thread 28444]

[New Thread 28446]

[New Thread 28430]

[New Thread 28441]

[New Thread 28434]

[New Thread 28445]

[New Thread 28432]

Core was generated by `./bin/mangos-worldd -c etc/mangosd.conf'.

Program terminated with signal 6, Aborted.

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

No symbol table info available.

#1 0x0000003297a34b20 in abort () from /lib64/libc.so.6

No symbol table info available.

#2 0x0000003297a2c2fa in __assert_fail () from /lib64/libc.so.6

No symbol table info available.

#3 0x000000000054a014 in insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:78

No locals.

#4 insert<GameObject, GameObject, TypeList<DynamicObject, TypeNull> > (

obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:92

No locals.

#5 insert<GameObject, Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > (obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#6 insert<GameObject, Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#7 insert<GameObject, Creature, TypeList<Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#8 insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:53

No locals.

#9 GameObject::AddToWorld (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/GameObject.cpp:69

No locals.

#10 0x00000000005e04e7 in LoadHelper<GameObject> (

guid_set=<value optimized out>, cell=<value optimized out>,

m=<value optimized out>, [email protected], map=0xb7cd6c0)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:129

bg = 0x0

#11 0x00000000005df87e in ObjectGridLoader::Visit (this=0x7fd8300f49d0,

[email protected])

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:177

x = <value optimized out>

y = <value optimized out>

cell_pair = {x_coord = 164, y_coord = 240}

cell_guids = @0x0

#12 0x00000000005dfa91 in VisitorHelper<ObjectGridLoader, GameObject> (

c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:64

No locals.

#13 VisitorHelper<ObjectGridLoader, GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > (c=<value optimized out>,

v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:70

No locals.

#14 VisitorHelper<ObjectGridLoader, TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > (

c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:94

No locals.

#15 TypeContainerVisitor<ObjectGridLoader, TypeMapContainer<TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > >::Visit (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:105

No locals.

#16 Visit<ObjectGridLoader> (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/Grid.h:94

No locals.

#17 ObjectGridLoader::Load (c=<value optimized out>, v=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:211

No locals.

#18 0x00000000005dfb5e in Load<ObjectGridLoader> (

loader=<value optimized out>, grid=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/GridLoader.h:53

No locals.

#19 ObjectGridLoader::LoadN (loader=<value optimized out>,

grid=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:233

y = 1

x = 4

#20 0x00000000005b04ef in Map::EnsureGridLoaded (this=0xb7cd6c0,

[email protected]) at /root/Desktop/Mangos/Sources/src/game/Map.cpp:410

loader = {i_cell = {data = {Part = {grid_x = 20, grid_y = 30,

cell_x = 4, cell_y = 0, nocreate = 0, reserved = 0},

All = 18324}}, i_grid = @0xb8dde30, i_map = 0xb7cd6c0,

i_gameObjects = 9, i_creatures = 12, i_corpses = 0}

grid = 0xb8dde30

__PRETTY_FUNCTION__ = "bool Map::EnsureGridLoaded(const Cell&)"

#21 0x00000000005b24fe in Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.h:623

x = 20

y = <value optimized out>

cell_x = 2

cell_y = 0

#22 Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>, cell=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/CellImpl.h:227

r_zone = {data = {Part = {grid_x = 20, grid_y = 30, cell_x = 2,

cell_y = 0, nocreate = 0, reserved = 0}, All = 10132}}

cell_pair = {x_coord = 162, y_coord = 240}

area = {right_offset = 1, left_offset = 1, upper_offset = 1,

lower_offset = 1}

#23 Map::UpdatePlayerVisibility (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:1959

pl_notifier = {i_player = @0x7fd78ffb1c90}

player_notifier = {i_visitor = @0x7fd8300f4b20}

cell_lock = {i_cell = @0x7fd8300f4ca0, i_cellPair = @0x7fd8300f4c50}

#24 0x00000000005b788f in Map::PlayerRelocation (this=0xb7cd6c0,

player=0x7fd78ffb1c90, x=<value optimized out>, y=<value optimized out>,

z=<value optimized out>, orientation=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:859

__PRETTY_FUNCTION__ = "void Map::PlayerRelocation(Player*, float, float, float, float)"

old_val = {x_coord = 163, y_coord = 239}

old_cell = {data = {Part = {grid_x = 20, grid_y = 29, cell_x = 3,

cell_y = 7, nocreate = 0, reserved = 0}, All = 1849172}}

new_val = {x_coord = 163, y_coord = 239}

new_cell = {data = {Part = {grid_x = 20, grid_y = 29, cell_x = 3,

cell_y = 7, nocreate = 0, reserved = 0}, All = 1849172}}

timems = <value optimized out>

newGrid = <value optimized out>

#25 0x000000000066f270 in Player::SetPosition (this=0x7fd78ffb1c90,

x=<value optimized out>, y=<value optimized out>, z=<value optimized out>,

orientation=<value optimized out>, teleport=false)

at /root/Desktop/Mangos/Sources/src/game/Player.cpp:5677

m = 0xb7cd6c0

old_y = -1131.83203

old_x = -6172.66113

old_z = <value optimized out>

old_r = <value optimized out>

#26 0x000000000077ae4e in WorldSession::HandleMovementOpcodes (

this=0x7fd810029150, recv_data=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/MovementHandler.cpp:321

opcode = 238

mover = 0x7fd78ffb1c90

plMover = 0x7fd78ffb1c90

data = {<ByteBuffer> = {static DEFAULT_SIZE = 4096, _rpos = 0,

_wpos = 34, _storage = std::vector of length 34, capacity 34 = {

7 '\\a', 103 'g', 193 '\\301', 4 '\\4', 1 '\\1', 0 '\\0', 0 '\\0',

16 '\\20', 0 '\\0', 0 '\\0', 86 'V', 131 '\\203', 0 '\\0', 96 '`',

240 '\\360', 12 '\\f', 193 '\\301', 197 '\\305', 51 '3', 67 'C',

141 '\\215', 196 '\\304', 189 '\\275', 30 '\\36', 89 'Y',

195 '\\303', 55 '7', 139 '\\213', 51 '3', 64 '@', 0 '\\0', 0 '\\0',

0 '\\0', 0 '\\0'}}, m_opcode = 238}

guid = <value optimized out>

movementInfo = {guid = 311655, flags = 268435457, unk1 = 0,

time = 1610646358, x = -6177.61719, y = -1130.09998,

z = -217.120071, o = 2.805372, t_guid = 0, t_x = 0, t_y = 0,

t_z = 0, t_o = 0, t_time = 0, t_seat = 0 '\\0', s_pitch = 0,

fallTime = 0, j_unk = 0, j_sinAngle = 0, j_cosAngle = 0,

j_xyspeed = 0, u_unk1 = 0}

#27 0x0000000000722fb2 in WorldSession::Update (this=0x7fd810029150)

at /root/Desktop/Mangos/Sources/src/game/WorldSession.cpp:238

packet = 0x7fd8100110e0

currTime = <value optimized out>

#28 0x000000000071c672 in World::UpdateSessions (this=0x2028e20, diff=57)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:2051

itr = {<std::tr1::__detail::_Hashtable_iterator_base<std::Pair<unsigned int const, WorldSession*>, false>> = {_M_cur_node = 0x4ad916a8,

_M_cur_bucket = 0xc09ae}, <No data fields>}

sess = <value optimized out>

#29 0x000000000071c862 in World::Update (this=0x2028e20, diff=57)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:1598

No locals.

#30 0x00000000004cd12c in WorldRunnable::run (this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/mangosd/WorldRunnable.cpp:64

diff = 57

realCurrTime = 1610646356

realPrevTime = <value optimized out>

prevSleepTime = 47

#31 0x00000000007b46dc in ACE_Based::Thread::ThreadTask (param=0x6f0e)

at /root/Desktop/Mangos/Sources/src/shared/Threading.cpp:183

_task = 0x5895c30

#32 0x000000329820686a in start_thread () from /lib64/libpthread.so.0

No symbol table info available.

#33 0x0000003297ade3bd in clone () from /lib64/libc.so.6

No symbol table info available.

#34 0x0000000000000000 in ?? ()

No symbol table info available.

Link to comment
Share on other sites

Please, see this crash dump (WITHOUT MTMAPS) i dont have any patch

[?1034h[New Thread 23509]

[New Thread 23507]

[New Thread 23506]

[New Thread 23512]

[New Thread 23508]

[New Thread 23511]

[New Thread 23510]

[New Thread 23495]

[New Thread 23497]

[New Thread 23498]

[New Thread 23499]

[New Thread 23505]

Core was generated by `./bin/mangos-worldd -c etc/mangosd.conf'.

Program terminated with signal 6, Aborted.

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

#0 0x0000003297a332f5 in raise () from /lib64/libc.so.6

No symbol table info available.

#1 0x0000003297a34b20 in abort () from /lib64/libc.so.6

No symbol table info available.

#2 0x0000003297a2c2fa in __assert_fail () from /lib64/libc.so.6

No symbol table info available.

#3 0x0000000000559824 in insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:78

No locals.

#4 insert<GameObject, GameObject, TypeList<DynamicObject, TypeNull> > (

obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:92

No locals.

#5 insert<GameObject, Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > (obj=<value optimized out>, handle=<value optimized out>,

elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#6 insert<GameObject, Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#7 insert<GameObject, Creature, TypeList<Pet, TypeList<Vehicle, TypeList<GameObject, TypeList<DynamicObject, TypeNull> > > > > (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:93

No locals.

#8 insert<GameObject> (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainer.h:53

No locals.

#9 GameObject::AddToWorld (obj=<value optimized out>,

handle=<value optimized out>, elements=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/GameObject.cpp:69

No locals.

#10 0x00000000006033a7 in LoadHelper<GameObject> (

guid_set=<value optimized out>, cell=<value optimized out>,

m=<value optimized out>, [email protected], map=0xbc12b00)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:129

bg = 0x0

#11 0x00000000006025c9 in ObjectGridLoader::Visit (m=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:177

x = <value optimized out>

y = 740124944

cell_pair = {x_coord = 160, y_coord = 240}

cell_guids = @0x0

#12 VisitorHelper<ObjectGridLoader, GameObject> (m=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:64

No locals.

#13 VisitorHelper<ObjectGridLoader, GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > (m=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:70

No locals.

#14 VisitorHelper<ObjectGridLoader, TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > (

m=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:94

No locals.

#15 TypeContainerVisitor<ObjectGridLoader, TypeMapContainer<TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > > >::Visit (m=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/TypeContainerVisitor.h:105

No locals.

#16 Visit<ObjectGridLoader> (m=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/Grid.h:94

No locals.

#17 ObjectGridLoader::Load (m=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:211

No locals.

#18 Load<ObjectGridLoader> (m=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/../framework/GameSystem/GridLoader.h:53

No locals.

#19 ObjectGridLoader::LoadN (m=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/ObjectGridLoader.cpp:233

y = 0

x = 0

#20 0x00000000005cbe8f in Map::EnsureGridLoaded (this=0xbc12b00,

[email protected]) at /root/Desktop/Mangos/Sources/src/game/Map.cpp:410

loader = {i_cell = {data = {Part = {grid_x = 20, grid_y = 30,

cell_x = 0, cell_y = 0, nocreate = 0, reserved = 0},

All = 1940}}, i_grid = @0xc271d80, i_map = 0xbc12b00,

i_gameObjects = 2, i_creatures = 0, i_corpses = 0}

grid = 0xc271d80

__PRETTY_FUNCTION__ = "bool Map::EnsureGridLoaded(const Cell&)"

#21 0x00000000005cfb2e in Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.h:623

x = 20

y = <value optimized out>

cell_x = 3

cell_y = 0

#22 Visit<RGuard<ACE_RW_Thread_Mutex, ACE_Thread_Mutex>, MaNGOS::PlayerNotifier, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeNull> > > > > (visitor=<value optimized out>, cell=<value optimized out>,

this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/CellImpl.h:227

r_zone = {data = {Part = {grid_x = 20, grid_y = 30, cell_x = 3,

cell_y = 0, nocreate = 0, reserved = 0}, All = 14228}}

cell_pair = {x_coord = 163, y_coord = 240}

area = {right_offset = 1, left_offset = 1, upper_offset = 1,

lower_offset = 1}

#23 Map::UpdatePlayerVisibility (visitor=<value optimized out>,

cell=<value optimized out>, this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:1959

pl_notifier = {i_player = @0x7fb0d209e150}

player_notifier = {i_visitor = @0x7fb12c1d5b20}

cell_lock = {i_cell = @0x7fb12c1d5c90, i_cellPair = @0x7fb12c1d5c40}

#24 0x00000000005d79e1 in Map::PlayerRelocation (this=0xbc12b00,

player=0x7fb0d209e150, x=<value optimized out>, y=<value optimized out>,

z=<value optimized out>, orientation=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/Map.cpp:859

__PRETTY_FUNCTION__ = "void Map::PlayerRelocation(Player*, float, float, float, float)"

old_val = {x_coord = 164, y_coord = 239}

old_cell = {data = {Part = {grid_x = 20, grid_y = 29, cell_x = 4,

cell_y = 7, nocreate = 0, reserved = 0}, All = 1853268}}

new_val = {x_coord = 164, y_coord = 239}

new_cell = {data = {Part = {grid_x = 20, grid_y = 29, cell_x = 4,

cell_y = 7, nocreate = 0, reserved = 0}, All = 1853268}}

timems = <value optimized out>

newGrid = <value optimized out>

#25 0x00000000006a2326 in Player::SetPosition (this=0x7fb0d209e150,

x=<value optimized out>, y=<value optimized out>, z=<value optimized out>,

orientation=<value optimized out>, teleport=false)

at /root/Desktop/Mangos/Sources/src/game/Player.cpp:5677

m = 0xbc12b00

old_y = -1132.69226

old_x = -6111.99365

old_z = <value optimized out>

old_r = <value optimized out>

#26 0x00000000007fb83d in WorldSession::HandleMovementOpcodes (

this=0x7fb10400d0a0, recv_data=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/game/MovementHandler.cpp:321

opcode = 190

mover = 0x7fb0d209e150

plMover = 0x7fb0d209e150

data = {<ByteBuffer> = {static DEFAULT_SIZE = 4096, _rpos = 0,

_wpos = 34, _storage = std::vector of length 34, capacity 34 = {

7 '\\a', 223 '\\337', 136 '\\210', 4 '\\4', 1 '\\1', 0 '\\0', 0 '\\0',

0 '\\0', 0 '\\0', 0 '\\0', 130 '\\202', 98 'b', 100 'd', 102 'f',

75 'K', 9 '\\t', 191 '\\277', 197 '\\305', 144 '\\220', 87 'W',

141 '\\215', 196 '\\304', 28 '\\34', 224 '\\340', 59 ';',

195 '\\303', 38 '&', 43 '+', 32 ' ', 64 '@', 0 '\\0', 0 '\\0',

0 '\\0', 0 '\\0'}}, m_opcode = 190}

guid = <value optimized out>

movementInfo = {guid = 297183, flags = 1, unk1 = 0, time = 1717854850,

x = -6113.16162, y = -1130.73633, z = -187.875427, o = 2.50263357,

t_guid = 0, t_x = 0, t_y = 0, t_z = 0, t_o = 0, t_time = 0,

t_seat = 0 '\\0', s_pitch = 0, fallTime = 0, j_unk = 0,

j_sinAngle = 0, j_cosAngle = 0, j_xyspeed = 0, u_unk1 = 0}

#27 0x0000000000797ee2 in WorldSession::Update (this=0x7fb10400d0a0)

at /root/Desktop/Mangos/Sources/src/game/WorldSession.cpp:238

packet = 0x7fb104015b10

currTime = <value optimized out>

#28 0x000000000078cb8a in World::UpdateSessions (this=0x1e43e20, diff=80)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:2051

sess = <value optimized out>

#29 0x000000000078ce78 in World::Update (this=0x1e43e20, diff=80)

at /root/Desktop/Mangos/Sources/src/game/World.cpp:1598

No locals.

#30 0x00000000004c86ac in WorldRunnable::run (this=<value optimized out>)

at /root/Desktop/Mangos/Sources/src/mangosd/WorldRunnable.cpp:64

diff = 80

realCurrTime = 1717854848

realPrevTime = <value optimized out>

prevSleepTime = 78

#31 0x000000000083c59c in ACE_Based::Thread::ThreadTask (param=0x5bc7)

at /root/Desktop/Mangos/Sources/src/shared/Threading.cpp:183

_task = 0xa95a360

#32 0x000000329820686a in start_thread () from /lib64/libpthread.so.0

No symbol table info available.

#33 0x0000003297ade3bd in clone () from /lib64/libc.so.6

No symbol table info available.

#34 0x0000000000000000 in ?? ()

No symbol table info available.

No, something is wrong, crash every 2 minuts... maybe is my db? is possible?

Well, I switch back again to 8650

the problem is here.

template<class SPECIFIC_TYPE> static bool insert(ContainerUnorderedMap<SPECIFIC_TYPE, KEY_TYPE>& elements, KEY_TYPE handle, SPECIFIC_TYPE* obj)

{

typename UNORDERED_MAP<OBJECT_HANDLE, SPECIFIC_TYPE*>::iterator i = elements._element.find(handle);

if (i == elements._element.end())

{

elements._element[handle] = obj;

return true;

}

else

{

assert (i->second == obj && "Object with certain key already in but objects are different!");

return false;

}

}

Link to comment
Share on other sites

Maybe this is solution

diff --git a/src/game/PoolHandler.cpp b/src/game/PoolHandler.cpp
index d1f2305..e038add 100644
--- a/src/game/PoolHandler.cpp
+++ b/src/game/PoolHandler.cpp
@@ -185,11 +185,15 @@ void PoolGroup<T>::SpawnObject(uint32 limit, bool cache)
    if (limit == 1)                                         // This is the only case where explicit chance is used
    {
        uint32 roll = RollOne();
-        if (cache && m_LastDespawnedNode != roll)
-            Despawn1Object(m_LastDespawnedNode);
-
+        if (!cache || (cache && m_LastDespawnedNode != roll))
+        {
+            if (cache)
+                Despawn1Object(m_LastDespawnedNode);
+            Spawn1Object(roll);
+        }
+        else
+            ReSpawn1Object(roll);
        m_LastDespawnedNode = 0;
-        Spawn1Object(roll);
    }
    else if (limit < EqualChanced.size() && m_SpawnedPoolAmount < limit)
    {

?

Original post by seirge at http://getmangos.ru/forum/showthread.php?p=289270

Link to comment
Share on other sites

Maybe this is solution

diff --git a/src/game/PoolHandler.cpp b/src/game/PoolHandler.cpp
index d1f2305..e038add 100644
--- a/src/game/PoolHandler.cpp
+++ b/src/game/PoolHandler.cpp
@@ -185,11 +185,15 @@ void PoolGroup<T>::SpawnObject(uint32 limit, bool cache)
    if (limit == 1)                                         // This is the only case where explicit chance is used
    {
        uint32 roll = RollOne();
-        if (cache && m_LastDespawnedNode != roll)
-            Despawn1Object(m_LastDespawnedNode);
-
+        if (!cache || (cache && m_LastDespawnedNode != roll))
+        {
+            if (cache)
+                Despawn1Object(m_LastDespawnedNode);
+            Spawn1Object(roll);
+        }
+        else
+            ReSpawn1Object(roll);
        m_LastDespawnedNode = 0;
-        Spawn1Object(roll);
    }
    else if (limit < EqualChanced.size() && m_SpawnedPoolAmount < limit)
    {

?

Original post by seirge at http://getmangos.ru/forum/showthread.php?p=289270

Yes, i think this solves problem what I also find in pools and what leads to same assert.

Link to comment
Share on other sites

How will be a good lock on i_mapList ?

       // TODO: This methods will need lock in MT environment

       static void LinkMap(Map* map)   { i_mapList.push_back(map); }
       static void DelinkMap(Map* map) { i_mapList.remove(map); }

AND

// TODO: This methods will need lock in MT environment
       // Theoreticaly multiple threads can enter and search in this method but
       // in that case linking/delinking other map should be guarded
       template <class OBJECT> static OBJECT* FindHelper(uint64 guid)
       {
           OBJECT* ret = NULL;
           std::list<Map*>::const_iterator i = i_mapList.begin();
           while (i != i_mapList.end() && !ret)
           {
               ret = (*i)->GetObjectsStore().find<OBJECT>(guid, (OBJECT*)NULL);
               ++i;
           }

           return ret;
       }

      static std::list<Map*> i_mapList;

Maybe a lock type and...

LockType i_mapListGuard;

static void LinkMap(Map* map)   {
 Guard guard(i_mapListGuard);
i_mapList.push_back(map); 
}
static void DelinkMap(Map* map)   {
 Guard guard(i_mapListGuard);
i_mapList.push_back(map); 
}

Only on Link and Delink maybe ? Any help ( Using MT )

Thanks

Link to comment
Share on other sites

Mangos needs to be updated to read/write locks anyways instead of generic locks.

Well, generally read-write locks are better, but only in scenarios where you can't avoid locking ^_^ Also in case when you hold lock for very small amount of time there is no need for anything more complex than general lock :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use