divisorxx
-
Posts
48 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
Content Type
Profiles
Bug Tracker
Wiki
Release Notes
Forums
Downloads
Blogs
Events
Posts posted by divisorxx
-
-
Testing with new changes, 700 users online with ACE mtmaps.... same than before, not a single crash related (12 hs uptime and counting) and diff time seems to be a little lower but, again, not too much, sure on more populate servers will be better. Thanks Ambal for your great work!!!!!
-
Testing with 700 users... not crash at all, diff time seems to be a little lower but not too much, maybe on more populate servers will be better. Thanks Ambal!
Edit: Still not crashing (8 hours uptime and counting) and I forgot to say I'm using ACE mtmaps.
-
A little bump
-
I think derex say in other threads that he doens't work anymore on this project.
-
Wojta - probably not related to mtmaps. I am using last patch poseted by infinity + mutex around player and event update and haven't any crash at all from few days (700ppl)
Hi one question, what kind of mutex because are you using? Can you show me? Because a try this http://paste2.org/p/688715 and seems to doesn't work
-
Sorry for this off post but someone can sendme or post the "visibility patch" from silverice and ambal?
-
Testing in middle population 1200+, when some maps crash and try to restart all other maps freeze forever:
************ BackTrace ************ *********************************** /lib/libc.so.6(gsignal+0x35) [0x7f32be4814b5] /lib/libc.so.6(abort+0x180) [0x7f32be484f50] /lib/libc.so.6 [0x7f32be4b9c97] /lib/libc.so.6 [0x7f32be4c3dd6] /lib/libc.so.6(cfree+0x6c) [0x7f32be4c870c] ./mangos-worldd(ZA +0x181) [0x6a5d61] ./mangos-worldd(_Z13VisitorHelperIN6MaNGOS15VisibleNotifierE8CreatureEvRT_R16ContainerMapListIT0_E+0x8e) [0x5e83ce] ./mangos-worldd(_Z13VisitorHelperIN6MaNGOS15VisibleNotifierE8Creature8TypeListI13DynamicObjectS3_I6Corpse8TypeNullEEEvRT_R16ContainerMapListIS3_IT0_T1_EE+0x1b) [0x5e877b] ./mangos-worldd(_ZN3Map5VisitI6RGuardI19ACE_RW_Thread_Mutex16ACE_Thread_MutexEN6MaNGOS15VisibleNotifierE16TypeMapContainerI8TypeListI10GameObjectS8_I8CreatureS8_I13DynamicObjectS8_I6Corpse8TypeNullEEEEEEEvRK8CellLockIT_ER20TypeContainerVisitorIT0_T1_E+0x1e9) [0x5ec3c9] ./mangos-worldd(_ZN3Map26UpdateObjectsVisibilityForEP6Player4Cell9CoordPairILj512EE+0x11fa) [0x5e3eaa] ./mangos-worldd(_ZN3Map3AddEP6Player+0x1a5) [0x5e4d55] ./mangos-worldd(_ZN12WorldSession28HandleMoveWorldportAckOpcodeEv+0x233) [0x7c01d3] ./mangos-worldd(_ZN12WorldSession12LogoutPlayerEb+0x31) [0x75e561] ./mangos-worldd(_ZN12WorldSessionD1Ev+0x22) [0x75f372] ./mangos-worldd(_ZN5World11AddSession_EP12WorldSession+0xb0) [0x758650] ./mangos-worldd(_ZN5World14UpdateSessionsEj+0x2b) [0x758d5b] ./mangos-worldd(_ZN5World6UpdateEj+0xcb) [0x7596fb] ./mangos-worldd(_ZN13WorldRunnable3runEv+0x84) [0x4e4df4] ./mangos-worldd(_ZN9ACE_Based6Thread10ThreadTaskEPv+0x1c) [0x80440c] /lib/libpthread.so.0 [0x7f32bef6ea04] /lib/libc.so.6(clone+0x6d) [0x7f32be52d7bd] mangos>*********************************** World Thread hangs, kicking out server! ************ BackTrace ************ *********************************** ./mangos-worldd(_ZN22FreezeDetectorRunnable3runEv+0x120) [0x4e3070] ./mangos-worldd(_ZN9ACE_Based6Thread10ThreadTaskEPv+0x1c) [0x80440c] /lib/libpthread.so.0 [0x7f32bef6ea04] /lib/libc.so.6(clone+0x6d) [0x7f32be52d7bd] ***********************************
In Testing Realm all ok, some ideas¿?
Hi one questions, how much uptime did you have with this patch? Thanks.
-
Holly wars FTW!
P.S. This thread is about vehicles patch for mangos
Sorry my apologies for that.
-
I went from a Trinity 3.1.3 server to Mangos 3.2.2a for what??!! The DK quests in the Trinity server work 1000 times better than Mangos. Death from above, Grand Theft Palomino, Killing the initiates.. even the dragon quest at the end works on Trinity WITHOUT ANY PATCHES!!!! This server is freakin rediculous. Are the Trinity coders really that much better? WTF?!
No, trinity core ... is a leach of MaNGOS core, from the beginning until now...initial rev in repo from Trinity Core was a MaNGOS rev leeched (with some of custom patches from this forum included) and every important fix from MaNGOS was leeched too by Trinity Core even every version's switch...they aren't better than MaNGOS Dev even Trinity Core exist only due MaNGOS Dev and this great community...
Trinity Core has that freatures because they leech every commit from MaNGOS so...with leeching those commits from MaNGOS they have free time to do that kind of freatures...again only possible due MaNGOS leechs.
But quest related scripts is job of ScriptDev2 not MaNGOS Core...and just for note Trinity Core leechs ScriptDev2 work too in the same way.
So think twice before say such crap.
-
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.
-
I have the same crash Can you provide patch, how to fix this?
Like I said early...problem seems to be in multithreaded player updates, so revert this commit http://github.com/mangos/mangos/commit/e24d2938b21e8d6910c5aed1a3f115abf0fbddf1 and problem solved but again almost all load will remain in main thread like time ago. Also you can try openmt maps with Infinity suggestions , if that work you can still have Player:Update in Map:Updates w/o crash.
P.S.: By the way... just for curiosity , what kind of mtmaps patch are you using? (Ace mtmaps or OpenMP mtmaps)
-
I'm curious: Is this necessary? After all this happens within Player::Update which only happens within Map::Update on the single map the player is on .
In fact there is a crash log of what i'm talking about, using ACE mtmaps. With 7XX characters... it crash like 5 times by day (some days less).. but like a said before once that i move Players:Update from Map:Update...I got like 3day uptimes.
To infinfny, thanks for your suggestions i will try it with your patch.
-
In what unit? Meters? Approximately 4326243.
Sorry if my english is not too good but i don't see any errors in my word. In any case I mean how much uptime do you have... because in my experience I have a lot of crashes due _UpdateSpells in Unit.cpp using mtmaps (I think due race conditions)...due to this I move Players update out of Maps and problem solved...but again main thread have the almost charge(load) compare to the others.
Again sorry If my english is not too good. Bye
-
8780 rev - 1k ppl 36478 20 50 0 3273M 2446M select 2 4:35 172.85% mangos-worldd 36478 103 0 3276M 2450M uwait 5 15:45 31.15% mangos-worldd 36478 54 0 3276M 2450M uwait 7 5:45 13.28% mangos-worldd 36478 53 0 3276M 2450M CPU3 3 5:44 13.18% mangos-worldd 36478 53 0 3276M 2450M RUN 6 5:43 12.99% mangos-worldd 36478 52 0 3276M 2450M CPU1 1 5:43 12.79% mangos-worldd 36478 52 0 3276M 2450M CPU2 2 5:47 12.35% mangos-worldd 36478 52 0 3276M 2450M CPU0 0 5:45 12.35% mangos-worldd 36478 52 0 3276M 2450M uwait 6 5:46 12.16% mangos-worldd 36478 51 0 3276M 2450M select 5 4:35 11.96% mangos-worldd 36478 51 0 3276M 2450M select 6 4:36 11.67% mangos-worldd 36478 51 0 3276M 2450M RUN 7 4:46 11.57% mangos-worldd 36478 50 0 3276M 2450M select 7 4:37 10.89% mangos-worldd
gcc version 4.4.2
FreeBSD 7.2-RELEASE-p3
Hi men, one question, how stable is?
-
Hi i trying to use this mtmaps patch http://pastebin.com/m7d3df483, posted by balrok.. but when I use this patch all spawned threads are in 6X% of cpu ussage... I think there it's too much... it's normaly ? not? somebody can help me?.
I have Xeon cpu , 8 cores...tested with gcc 4.4.0 and 4.3.2
P.S.: Sorry I didn't realize that maybe this isn't the right place to post this
-
Sorry When I said that I tested this patch i mean Ambal's Patch... i think it was the same... i will tested this one now.
-
my crashfix: http://pastebin.com/m2038ed4b
ps: it's a realy bad hack and if someone asks: you don't got it from me.. ^^
the other one is just removing an assert..
please don't spam the thread with such stuff and stay on topic.. i just posted this patch cause patch in first post got no updates.. also the patch i posted is surely nothing special and if you have an already running one you shouldn't switch to this one..
ps: cyrex you should use another os.. i think win3.11 doesn't support 64bit, which is in your case better, cause you have more than 4gb ram which can't be adressed with 32bit ^^
Hi balrok, Thanks for your time, just one question it's this assert the one that you remove ? And it's this safe to remove?
Object.h
const uint32& GetUInt32Value( uint16 index ) const { ASSERT( index < m_valuesCount || PrintIndexError( index , false) ); return m_uint32Values[ index ]; }
-
I already have it on my server... tested with Rev 8579 and ~750 characters ON, finaly, not one crash due bgqueue update using derek's mtmaps. Thanks!
Only one due this assert, but it's not related at all, and it's and old crash, I posted here not to want something just to show you that it's not related.
const uint32& GetUInt32Value( uint16 index ) const { ASSERT( index < m_valuesCount || PrintIndexError( index , false) ); return m_uint32Values[ index ]; }
#1 0x00007f057bd39960 in abort () from /lib64/libc.so.6 No symbol table info available. #2 0x00007f057bd3137f in __assert_fail () from /lib64/libc.so.6 No symbol table info available. #3 0x00000000004d5715 in Object::GetUInt32Value (this=<value optimized out>, index=<value optimized out>) at ../../../src/game/Object.h:166 st = {static SYMBUFSIZ = 4096, buf_ = "./mangos-worldd(_ZNK5Guild12CanStoreItemEhhRSt6vectorI17GuildItemPosC static UNSUPPORTED = 0x7f057e3faaa0 "<stack traces unsupported platform>", static UNABLE_TO_GET_TRACE = 0x7f057e3faad0 "<unable to get trace>"} __FUNCTION__ = "GetUInt32Value" __PRETTY_FUNCTION__ = "const uint32& Object::GetUInt32Value(uint16) con #4 0x00000000007694c8 in Guild::_CanStoreItem_InTab (this=0x435efa0, tab=<value optimized out>, dest=@0x451c7ef0, count=<value optimized out>, merge=<value optimized out>, pSrcItem=0x7f05192bfb70, skip_slot=255 'ÿ') at ../../../src/game/Object.h:142 pItem2 = <value optimized out> j = <value optimized out> #5 0x0000000000769a0d in Guild::CanStoreItem (this=0x435efa0, tab=<value optimized out>, slot=255 'ÿ', dest=@0x451c7ef0, count=1, pItem=0x7f05192bfb70, swap=false) at ../../../src/game/Guild.cpp:1954 res = 0 '\\0' res = 0 '\\0' #6 0x00000000007700bd in Guild::MoveFromCharToBank (this=0x435efa0, pl=0x7f05034db9c0, PlayerBag=<value optimized out>, PlayerSlot=<value optimized out>, BankTab=<value optimized out>, BankTabSlot=<value optimized out>, SplitedAmount=0) at ../../../src/game/Guild.cpp:2342 dest = {<std::_Vector_base<GuildItemPosCount, std::allocator<GuildItemP _M_impl = {<std::allocator<GuildItemPosCount>> = {<__gnu_cxx::new_allocator _M_finish = 0x0, _M_end_of_storage = 0x0}}, <No data fields>} msg = <value optimized out> pItemBank = (class Item *) 0x0 pItemChar = (class Item *) 0x7f05192bfb70 #7 0x00000000007745b6 in WorldSession::HandleGuildBankSwapItems ( this=0x2c3474b0, recv_data=@0x7f0556ab9650) at ../../../src/game/GuildHandler.cpp:1143 BankTab = 0 '\\0' BankTabDst = 102 'f' unk2 = 0 '\\0' SplitedAmount = 0 pl = (class Player *) 0x7f05034db9c0 GoGuid = <value optimized out> AutoStore = 0 '\\0' ToChar = 0 '\\0' AutoStoreCount = 0 AutoStoreCount = 0 GuildId = <value optimized out> BankTabSlot = 255 'ÿ' PlayerBag = 20 '\\024' BankTabSlotDst = 240 'ð' ItemEntry = 0 BankToBank = 0 '\\0' PlayerSlot = 5 '\\005' unk1 = 4294967295 pGuild = (Guild *) 0x435efa0 #8 0x0000000000727902 in WorldSession::Update (this=0x2c3474b0) at ../../../src/game/../shared/Log.h:119 packet = (WorldPacket *) 0x7f0556ab9650 currTime = <value optimized out>
-
Sorry apoc, i cant test it in this weekend due study, but this sure I will do it, everything related to multithreading it's very important . Thanks
-
Thanks apoc... i'm going to try it this weekend
-
You can try newest revs, Ambal make changes that bring more performance to mangos (hopefully he bring more this kind of changes in future). Also you can try patches like mtmaps or visibility refresh times (False.Genesis or SilverIce).
Sorry for my bad english.
-
Hi ambal.. it seems you are a dev now, Congratulations and thanks for your work!. I will update with new patch's changes soon.
-
Some time players can see other players in invisibility state.
I read this... in patch from getmangos.ru... If I remember right, Ambal and SilverIce fix it on they patch. Will be great if they post it this forum too.
-
+ SetUInt32Value(GAMEOBJECT_BYTES_1, uint32(-1));
GAMEOBJECT_BYTES_1 is not TWO_SHORT, andvalues are already set below in code by
SetGoState(go_state); SetGoType(GameobjectTypes(goinfo->type)); SetGoAnimProgress(animprogress);
You mean SetUInt16Value(GAMEOBJECT_DYNAMIC, 1, uint16(-1)); maybe?
Edit: i tested patch, and had some problems when object created. That was solved by the below code (*data split in two uint16 values, since we now know type is really TWO_SHORT).
diff --git a/src/game/GameObject.cpp b/src/game/GameObject.cpp index 6ddd5a2..e4c631f 100644 --- a/src/game/GameObject.cpp +++ b/src/game/GameObject.cpp @@ -150,9 +150,10 @@ bool GameObject::Create(uint32 guidlow, uint32 name_id, Map *map, uint32 phaseMa SetUInt32Value(GAMEOBJECT_DISPLAYID, goinfo->displayId); + // GAMEOBJECT_BYTES_1, index at 0, 1, 2 and 3 SetGoState(go_state); SetGoType(GameobjectTypes(goinfo->type)); - + SetGoArtKit(0); // unknown what this is SetGoAnimProgress(animprogress); //Notify the map's instance data. diff --git a/src/game/Object.cpp b/src/game/Object.cpp index 1601738..71b691f 100644 --- a/src/game/Object.cpp +++ b/src/game/Object.cpp @@ -592,10 +592,9 @@ void Object::_BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask if (isType(TYPEMASK_GAMEOBJECT) && !((GameObject*)this)->IsTransport()) { if ( ((GameObject*)this)->ActivateToQuest(target) || target->isGameMaster()) - { IsActivateToQuest = true; - updateMask->SetBit(GAMEOBJECT_DYNAMIC); - } + + updateMask->SetBit(GAMEOBJECT_DYNAMIC); } else if (isType(TYPEMASK_UNIT)) { @@ -711,18 +710,27 @@ void Object::_BuildValuesUpdate(uint8 updatetype, ByteBuffer * data, UpdateMask switch(((GameObject*)this)->GetGoType()) { case GAMEOBJECT_TYPE_CHEST: - *data << uint32(9); // enable quest object. Represent 9, but 1 for client before 2.3.0 + // enable quest object. Represent 9, but 1 for client before 2.3.0 + *data << uint16(9); + *data << uint16(-1); break; case GAMEOBJECT_TYPE_GOOBER: - *data << uint32(1); + *data << uint16(1); + *data << uint16(-1); break; default: - *data << uint32(0); // unknown, not happen. + // unknown, not happen. + *data << uint16(0); + *data << uint16(-1); break; } } else - *data << uint32(0); // disable quest object + { + // disable quest object + *data << uint16(0); + *data << uint16(-1); + } } else *data << m_uint32Values[ index ]; // other cases
Besides that, it now works ok.
I want to test it but i don't know if you patch is full patch or it has to be with original patch?
[10848] Multithreaded packet processing
in ... acceptedOld
Posted
I'm already testing with last changes and so far 16 hs uptime 800 users max, not crash related.