Jump to content

[New Feature] MapUpdater/per thread


Auntie Mangos

Recommended Posts

  • Replies 100
  • Created
  • Last Reply

Top Posters In This Topic

Patch apply, all ok in only GM Realm mode but when activate player login:

************ BackTrace ************

***********************************

./mangos-worldd(_ZN12WorldSession12LogoutPlayerEbb+0x21) [0x758901]

./mangos-worldd(_ZN12WorldSession6UpdateEj+0x3c5) [0x75a1e5]

./mangos-worldd(_ZN5World14UpdateSessionsEj+0x147) [0x752cf7]

./mangos-worldd(_ZN5World6UpdateEj+0xd9) [0x7534d9]

./mangos-worldd(_ZN13WorldRunnable3runEv+0x8e) [0x4ea7ae]

./mangos-worldd(_ZN9ACE_Based6Thread10ThreadTaskEPv+0x1c) [0x7f6d3c]

/lib/libpthread.so.0 [0x7f0393b693ba]

/lib/libc.so.6(clone+0x6d) [0x7f039312bfcd]

***********************************

terminate called after throwing an instance of 'std::runtime_error'

what(): Dead Reference

[?1l>[24;1H

[?1049l[screen is terminating]

Crash every time =(

Link to comment
Share on other sites

Confirm. Also as in GriffonHeart and Kero99.

Patch is currently under developing, I 'll notice you when i have a version more or less stable. I have to say that's near because Woweur is helping me a lot with crash. So you have to wait.

I'll post news soon

Greetings, Opterman

Link to comment
Share on other sites

For start the server without crash at loading guild, you can just add that little hack :

void Map::Update(const uint32 &t_diff)
{
+    // Temp crash fix for guild loading
+    if(sWorld.GetMaxActiveSessionCount() < 1)
+         return;

But the patch is very very unstable, for the moment we have 30 minutes of uptimes with 1.2k players without any lags.

Link to comment
Share on other sites

But.. all thread in same core? o will support multicore?

It will by multithread (multicore).. like mtmaps patch but instead of you set the number of threads and all maps are working between those threads , it will one thread per map and in the end, free of race conditions, crashes, etc..so you can hold a great number of characters or future stuffs.

Link to comment
Share on other sites

Some new Opterman? =)

Yes , i've uploaded lastest patch version working with lastest mangos rev.

I've modified somethings in BG Codes, Event codes and now , bg are updated by her maps

Actually we've only i known crash and we're working on fix it

Next Step: adapt events and pools to map restart.

Greetings, Opterman

Link to comment
Share on other sites

Yes , i've uploaded lastest patch version working with lastest mangos rev.

I've modified somethings in BG Codes, Event codes and now , bg are updated by her maps

Actually we've only i known crash and we're working on fix it

Next Step: adapt events and pools to map restart.

Greetings, Opterman

how frecuently is the crash? with ACE MP(6 Cores) + My Patch for stability , i have uptime 12-16-24 hours. +/- 2000 online.

EDIT: I really dont know whats the diference between this patch, and other mtmaps patches

Link to comment
Share on other sites

this is really awesome, gonna test next version, will wait until that crash is fixed.) and what about make git branch, so we can see the progress and learn something etc...

anyway GJ

I think too os better to wait for a stable version

how frecuently is the crash? with ACE MP(6 Cores) + My Patch for stability , i have uptime 12-16-24 hours. +/- 2000 online.

EDIT: I really dont know whats the diference between this patch, and other mtmaps patches

It has a lor of differences with mtmapts.

Mtmaps hasnt a map restarter when it crash.

Packets are procressed by map thread and no by ace world thread.

BattleGrouns are updated by her maps instead by world thread

An adaptative rewriting of BG Code.

An improving on events.

And everything what is going to come ;)

Greetings, Opterman

Link to comment
Share on other sites

Ok thanks Opterman, great job, so like i see, this is much better than any other mtmaps, now, is stable now for larger servers? +/-2000 os is preferible wait a little bit more for stable revisions or your patch.

PD: Again great job.

Its better to wait, we're about to finish solving crash problems. I think aprox to end of this year or at the beginning of 2010 will be a stable version.

Greetings, Opterman

Link to comment
Share on other sites

Packets are procressed by map thread and no by ace world thread.

BattleGrouns are updated by her maps instead by world thread

An adaptative rewriting of BG Code.

This is already things we're working on internally, so if Opterman has some useful code to share, I'd be very willing to see it and review it.
Link to comment
Share on other sites

This approach will never get into git as stated by MaNGOS developers.

However, you must have fixed and improved tons of things by writing it, wouldn't it be better to do some small patches?

I can't do that, because all parts of the code, however small, they are related.

Greetings, Opterman

Link to comment
Share on other sites

For your crash, just add that patch in Pet.cpp

void Pet::Update(uint32 diff)
{
   if(m_removed)                                           // pet already removed, just wait in remove queue, no updates
       return;

+    // Avoid crash with Map per thread patch
+   if(m_loading)
+      return;

For me, it's work perfectly.

When server crash, all server go down no only afected map =(

It's normal, for 2 reasons :

1) You launch MaNGOS with GDB, the crash handle can't work with GDB.

2) With that crash, without GDB the server crash because crash happen during World::Update, the crash handler handle only crash in Map::Update.

Link to comment
Share on other sites

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