Jump to content

mtmaps (OpenMP)


Recommended Posts

If you are using mtmaps, need:

MapUpdate.Threads = 2 in mangosd.conf, 4+ very unstable

disable save,saveall commands and server save time interval 10-20 min.

And patch for database, prevent crashes on SqlDelayThread and removed ACE_Based::Thread::Sleep(10), thx Derex and Ambal.

http://paste2.org/p/528578 - updated, fixed typo in include, sorry

This patch make problems with last Mangos and SD2 revision, mangos-world freeze at start load SD2 C++ Scripts

Link to comment
Share on other sites

  • Replies 319
  • Created
  • Last Reply

Top Posters In This Topic

mtmaps ACE (8799+):

http://paste2.org/p/508050

After installation of a patch the server got сrash.

Also got сrashes in different places at various times without any sequences.

For example:

 #14 0x000000000069ab1d in VisitorHelper<ObjectGridUnloader, Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > (v=@0xb9ef18, c=@0x7fffffffe7d6)
   at TypeContainerVisitor.h:68
68      TypeContainerVisitor.h: No such file or directory.
       in TypeContainerVisitor.h

Please, help...=(

Link to comment
Share on other sites

After installation of a patch the server got сrash.

Also got сrashes in different places at various times without any sequences.

For example:

 #14 0x000000000069ab1d in VisitorHelper<ObjectGridUnloader, Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > (v=@0xb9ef18, c=@0x7fffffffe7d6)
   at TypeContainerVisitor.h:68
68      TypeContainerVisitor.h: No such file or directory.
       in TypeContainerVisitor.h

Please, help...=(

O_o Core version?

Link to comment
Share on other sites

O_o Core version?

8869 (using FreeBSD 7.2 x64, but no matter)

Got another crash:

#1  0x00000000008d9cea in WorldSession::HandleQuestgiverStatusMultipleQuery (
   this=0x81ad80880) at stl_tree.h:258
258             _M_node = _Rb_tree_increment(_M_node);
(gdb) frame 2
#2  0x000000000084b91b in WorldSession::Update (this=0x81ad80880)
   at ../../../src/game/WorldSession.cpp:230
230                         (this->*opHandle.handler)(*packet);
(gdb) frame 3
#3  0x00000000008416dd in World::UpdateSessions (this=0x802349000, diff=22)
   at ../../../src/game/World.cpp:2100
2100            if(!itr->second->Update(diff))                      // As interval = 0
(gdb) frame 4
#4  0x0000000000842d22 in World::Update (this=0x802349000, diff=22)
   at ../../../src/game/World.cpp:1644
1644            UpdateSessions(diff);
(gdb) frame 5
#5  0x00000000004fac92 in WorldRunnable::run (this=Variable "this" is not available.
)
   at ../../../src/mangosd/WorldRunnable.cpp:60
60              sWorld.Update( diff );
#6  0x0000000000922d5c in ACE_Based::Thread::ThreadTask (param=Variable "param" is not available.
)
   at ../../../src/shared/Threading.cpp:183
183         _task->run();

Link to comment
Share on other sites

who can help me with this crash?

#0  std::_List_base<Aura*, std::allocator<Aura*> >::_M_clear (this=0x8e7c04860)
   at list.tcc:77
#1  0x00000000007f7f63 in ~Unit (this=0x8e7c04000) at stl_list.h:348
#2  0x00000000006e61f8 in ~Pet (this=0x8e7c04000)
   at ../../../src/game/Pet.cpp:61
#3  0x0000000000678eb0 in Map::Remove<Creature> (this=0x81443b000,
   obj=0x8e7c04000, remove=Variable "remove" is not available.
) at ../../../src/game/Map.cpp:850
#4  0x0000000000662005 in Map::RemoveAllObjectsInRemoveList (this=0x81443b000)
   at ../../../src/game/Map.cpp:2200
#5  0x0000000000679c79 in MapManager::DoDelayedMovesAndRemoves (this=Variable "this" is not available.
)
   at ../../../src/game/MapManager.cpp:287
#6  0x000000000083dbb4 in World::Update (this=0x802449000, diff=33)
   at ../../../src/game/World.cpp:1716
#7  0x00000000004fafd2 in WorldRunnable::run (this=Variable "this" is not available.
)
   at ../../../src/mangosd/WorldRunnable.cpp:60
#8  0x0000000000924adb in ACE_Based::Thread::ThreadTask (param=0x806e12220)
   at ../../../src/shared/Threading.cpp:184
#9  0x0000000801b9e4d1 in pthread_getprio () from /lib/libthr.so.3
#10 0x0000000000000000 in ?? ()

Link to comment
Share on other sites

  • 3 weeks later...
mtmaps ACE (8799+):

http://paste2.org/p/508050

I hope you could help me..

On windows 2003 x64:

I have applied this patch to 9025 succesfully

mtmaps ACE (8799+):

http://paste2.org/p/508050

I have downloaded and compiled ACE 5.7.2 and now i have

ACE.dll

ACE_gperf_lib.dll

But i don't know what to do next....

I have tryed just to mix broth overwriting the ACE.dll compiled with mangos but doesn't works...

Thank you for your patient :unsure:

Link to comment
Share on other sites

  • 2 weeks later...

MaNGOS 9035 (instider/old) + OpenMP mtmaps

UDB 385

SD2 1513

Debian 5

http://www.pastebin.org/70560

http://www.pastebin.org/70561

http://www.pastebin.org/70562

and many more with occurence 1-4h during day when population around ~700, but becoming rare after ~21:00 when pop drops below 400. I think that those are caused by mtmaps but I'm not sure. Previously i suffered of constantly crashing MySQL. Reinstaled and reconf MySQL application that it is working stable now.

anyone seen somethong like that?

Link to comment
Share on other sites

who can help me with this crash?

#0  std::_List_base<Aura*, std::allocator<Aura*> >::_M_clear (this=0x8e7c04860)
   at list.tcc:77
#1  0x00000000007f7f63 in ~Unit (this=0x8e7c04000) at stl_list.h:348
#2  0x00000000006e61f8 in ~Pet (this=0x8e7c04000)
   at ../../../src/game/Pet.cpp:61
#3  0x0000000000678eb0 in Map::Remove<Creature> (this=0x81443b000,
   obj=0x8e7c04000, remove=Variable "remove" is not available.
) at ../../../src/game/Map.cpp:850
#4  0x0000000000662005 in Map::RemoveAllObjectsInRemoveList (this=0x81443b000)
   at ../../../src/game/Map.cpp:2200
#5  0x0000000000679c79 in MapManager::DoDelayedMovesAndRemoves (this=Variable "this" is not available.
)
   at ../../../src/game/MapManager.cpp:287
#6  0x000000000083dbb4 in World::Update (this=0x802449000, diff=33)
   at ../../../src/game/World.cpp:1716
#7  0x00000000004fafd2 in WorldRunnable::run (this=Variable "this" is not available.
)
   at ../../../src/mangosd/WorldRunnable.cpp:60
#8  0x0000000000924adb in ACE_Based::Thread::ThreadTask (param=0x806e12220)
   at ../../../src/shared/Threading.cpp:184
#9  0x0000000801b9e4d1 in pthread_getprio () from /lib/libthr.so.3
#10 0x0000000000000000 in ?? ()

7250e775d9d30205c22342c6802e168073e56717
src/game/Pet.cpp |    5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp
index 07f2066..c7bdb68 100644
--- a/src/game/Pet.cpp
+++ b/src/game/Pet.cpp
@@ -491,7 +491,10 @@ void Pet::Update(uint32 diff)
{
    if(m_removed)                                           // pet already removed, just wait in remove queue, no updates
        return;
-
+    
+    if(m_loading)
+        return;
+    
    switch( m_deathState )
    {
        case CORPSE:

Link to comment
Share on other sites

7250e775d9d30205c22342c6802e168073e56717
src/game/Pet.cpp |    5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/src/game/Pet.cpp b/src/game/Pet.cpp
index 07f2066..c7bdb68 100644
--- a/src/game/Pet.cpp
+++ b/src/game/Pet.cpp
@@ -491,7 +491,10 @@ void Pet::Update(uint32 diff)
{
    if(m_removed)                                           // pet already removed, just wait in remove queue, no updates
        return;
-
+	
+	if(m_loading)
+        return;
+	
    switch( m_deathState )
    {
        case CORPSE:

Instead of that you could do the following which is better IMO

if(m_removed || m_loading)
   return;

Link to comment
Share on other sites

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread 0x40c77950 (LWP 17253)]

0x0000000000000061 in ?? ()

#0 0x0000000000000061 in ?? ()

#1 0x0000000000839da1 in SqlAsyncTask::call ()

#2 0x0000000000839c88 in SqlDelayThread::run ()

#3 0x0000000000840b37 in ACE_Based::Thread::ThreadTask ()

#4 0x00007f9068adafc7 in start_thread () from /lib/libpthread.so.0

#5 0x00007f90680aa5ad in clone () from /lib/libc.so.6

#6 0x0000000000000000 in ?? ()

#0 0x0000000000000061 in ?? ()

No symbol table info available.

#1 0x0000000000839da1 in SqlAsyncTask::call ()

No locals.

#2 0x0000000000839c88 in SqlDelayThread::run ()

No locals.

#3 0x0000000000840b37 in ACE_Based::Thread::ThreadTask ()

No locals.

#4 0x00007f9068adafc7 in start_thread () from /lib/libpthread.so.0

No symbol table info available.

#5 0x00007f90680aa5ad in clone () from /lib/libc.so.6

No symbol table info available.

#6 0x0000000000000000 in ?? ()

No symbol table info available.

Crash with the sql patch... (http://paste2.org/p/528578)

Can you help us?

EDIT: when it crash, 1 player dissapear from the database ?! Possible? The problem is maybe located in player::savetodb... The DELETE clause can be deleted and the INSERT clause change to REPLACE... But I'm not sure this bug is caused by this patch...

Link to comment
Share on other sites

Nearly the same crash...

Program received signal SIGSEGV, Segmentation fault.

[switching to Thread 0x40e4f950 (LWP 15629)]

0x00007fe29444bc10 in ?? ()

#0 0x00007fe29444bc10 in ?? ()

#1 0x0000000000839e5f in SqlAsyncTask::~SqlAsyncTask ()

#2 0x0000000000839c61 in SqlDelayThread::run ()

#3 0x0000000000840b07 in ACE_Based::Thread::ThreadTask ()

#4 0x00007fe29a4a4fc7 in start_thread () from /lib/libpthread.so.0

#5 0x00007fe299a745ad in clone () from /lib/libc.so.6

EDIT: crashfix: add a pragma omp critical in player::savetodb

Link to comment
Share on other sites

  • 3 weeks later...
Guest
This topic is now closed to further replies.
×
×
  • 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