Jump to content

Infinity_return

Members
  • Posts

    26
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Infinity_return's Achievements

Member

Member (2/3)

0

Reputation

  1. Possbile fix: Add "target.deleted = false;" to void Spell::AddGOTarget too ... // This is new target calculate data for him GOTargetInfo target; target.targetGUID = targetGUID; target.effectMask = (1 << effIndex); target.processed = false; // Effects not apply on target target.deleted = false; ... Need to update patch?
  2. I updated mtmaps and tbb patch. 1) Only ACE mtmaps for rev 10188+ (small code cleanup). http://pastebin.com/m2DKaRHv 2) Only tbb concurrent vector patch for more safety work on spell code and some others crash fixes, patch for rev 10188+. http://pastebin.com/vf50BUmG 3) ACE mtmaps + tbb concurrent vector for rev 10188+. http://pastebin.com/7ji90jDi
  3. Yes, open files (-n) 4096 Clean mangos realm freeze and CPU use 100% after ~1000 ppl connections in one sec. _build = ch->build; - works
  4. I tested this patch, works fine. But there are comments: If you connect more than 2000 people simultaneously realm server stops allowed connections, this is not freeze, and when the number connections to about 1000 people, realm server again begins to function normally. Another problem, if you enter the game, and then go out and seek realm list, they will all be offline. OS: Linux Debian 5.0 x64 ACE 5.7.6
  5. mtmaps with ACE 5.7.6 = mtmaps openmp with gcc 4.4.x(OpenMP 3.0). but i like ACE
  6. Difference is only in the performance. But i reccomend ACE 5.7.6 http://download.dre.vanderbilt.edu/previous_versions/
  7. Excuse that so long had problems with the Internet, could not push a patch. Patch for rev 9426+ include mtmaps, tbb patch and some crash fixes. If you will still be crashes, to write in this topic(crash dumps need in debug mode). http://paste2.org/p/680362
  8. ok, tomorrow i push the full patch with additional checks(mtmaps+tbb+checks).
  9. - std::list<ItemTargetInfo> m_UniqueItemInfo; + tbb::concurrent_vector<ItemTargetInfo> m_UniqueItemInfo; ItemTargetInfo not need. my mangos not lag on 3900 ppl online, with tbb concurrent_vector use.
  10. Could be made simpler, but if this works, then good if you are still crash on other place, write me(i myself almost all the known crashes fixed).
  11. For example: include tbb/concurrent_vector.h, <memory> in Spell.h and Makefile.am in line AM_CPPFLAGS add ../../dep/tbb/include In Spell.cpp/SpellEffects.cpp replace std::list on tbb::concurrent_vector in all TargetInfo and GOTargetInfo cycles, example: for(std::list<TargetInfo>::iterator ihit = m_UniqueTargetInfo.begin(); ihit != m_UniqueTargetInfo.end(); ++ihit) to for (tbb::concurrent_vector<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin();ihit != m_UniqueTargetInfo.end();++ihit). And in Spell.h, std::list<GOTargetInfo> m_UniqueGOTargetInfo; and std::list<TargetInfo> m_UniqueTargetInfo; replace on tbb::concurrent_vector<GOTargetInfo> m_UniqueGOTargetInfo; and tbb::concurrent_vector<TargetInfo> m_UniqueTargetInfo;
  12. Use tbb::concurrent_vector instead std::list in all cycles TargetInfo and GOTargetInfo(Spell.cpp, SpellEffects.cpp) after this changes, no more crash
  13. 8969 + sd2 1513 + visibility patch + mtmaps(without mtmaps also crash) max uptime 1-2h no ideas... Program received signal SIGSEGV, Segmentation fault. [switching to Thread 0x42003950 (LWP 29540)] Spell::handle_immediate (this=0x2c898860) at ../../../src/game/Spell.cpp:2636 2636 for(std::list<TargetInfo>::iterator ihit= m_UniqueTargetInfo.begin();ihit != m_UniqueTargetInfo.end();++ihit) #0 Spell::handle_immediate (this=0x2c898860) at ../../../src/game/Spell.cpp:2636 #1 0x00000000006e7550 in Spell::cast (this=0x2c898860, skipCheck=true) at ../../../src/game/Spell.cpp:2611 #2 0x000000000072e683 in Unit::CastCustomSpell (this=0x2bef7c60, Victim=0x7fff6d7e0f70, spellInfo=0x7fffed0131e0, bp0=0x42002a48, bp1=0x0, bp2=0x0, triggered=<value optimized out>, castItem=0x0, triggeredByAura=0x292dfb60, originalCaster=0) at ../../../src/game/Unit.cpp:1004 #3 0x00000000007415ab in Unit::HandleDummyAuraProc (this=0x2bef7c60, pVictim=0x7fff6d7e0f70, damage=38600, triggeredByAura=0x292dfb60, procSpell=0x0, procFlag=<value optimized out>, procEx=1, cooldown=0) at ../../../src/game/Unit.cpp:6853 #4 0x00000000007455f6 in Unit::ProcDamageAndSpellFor (this=0x2bef7c60, isVictim=false, pTarget=0x7fff6d7e0f70, procFlag=262144, procExtra=1, attType=BASE_ATTACK, procSpell=0x7fffec4db160, damage=965) at ../../../src/game/Unit.cpp:12055 #5 0x0000000000745ff5 in Unit::ProcDamageAndSpell (this=0x2c898860, pVictim=0x7fff6d7e0f70, procAttacker=<value optimized out>, procVictim=1572864, procExtra=1, amount=965, attType=BASE_ATTACK, procSpell=0x7fffec4db160) at ../../../src/game/Unit.cpp:4710 #6 0x00000000006cd847 in Aura::PeriodicTick (this=0x7fff5f1dcf20) at ../../../src/game/SpellAuras.cpp:6613 #7 0x00000000006cecd6 in Aura::Update (this=0x7fff5f1dcf20, diff=181) at ../../../src/game/SpellAuras.cpp:662 #8 0x000000000073260e in Aura::UpdateAura (this=0x7fff6d7e0f70, time=181) at ../../../src/game/SpellAuras.h:321 #9 Unit::_UpdateSpells (this=0x7fff6d7e0f70, time=181) at ../../../src/game/Unit.cpp:3192 #10 0x00000000007327ff in Unit::Update (this=0x7fff6d7e0f70, p_time=181) at ../../../src/game/Unit.cpp:199 #11 0x00000000006a2893 in Player::Update (this=0x7fff6d7e0f70, p_time=181) at ../../../src/game/Player.cpp:1094 #12 0x00000000005e4b8c in Map::Update (this=0x7fffde510e00, t_diff=@0x2c88f940) at ../../../src/game/Map.cpp:608 #13 0x00000000005f6b72 in MapUpdateRequest::call (this=0x2c88f920) at ../../../src/game/MapUpdater.cpp:47 #14 0x00000000007f9ad1 in DelayExecutor::svc (this=0x7fffe600cae8) at ../../../src/shared/DelayExecutor.cpp:60 #15 0x00007ffff7b79257 in ACE_Task_Base::svc_run (args=<value optimized out>) at ../../ace/Task.cpp:275 #16 0x00007ffff7b7a905 in ACE_Thread_Adapter::invoke (this=0x182b9a0) at ../../ace/Thread_Adapter.cpp:98 #17 0x00007ffff5e9efc7 in start_thread () from /lib/libpthread.so.0 #18 0x00007ffff546b5ad in clone () from /lib/libc.so.6 #19 0x0000000000000000 in ?? () #0 Spell::handle_immediate (this=0x2c898860) at ../../../src/game/Spell.cpp:2636 No locals. #1 0x00000000006e7550 in Spell::cast (this=0x2c898860, skipCheck=true) at ../../../src/game/Spell.cpp:2611 castResult = <value optimized out> #2 0x000000000072e683 in Unit::CastCustomSpell (this=0x2bef7c60, Victim=0x7fff6d7e0f70, spellInfo=0x7fffed0131e0, bp0=0x42002a48, bp1=0x0, bp2=0x0, triggered=<value optimized out>, castItem=0x0, triggeredByAura=0x292dfb60, originalCaster=0) at ../../../src/game/Unit.cpp:1004 spell = <value optimized out> targets = {m_srcX = 0, m_srcY = 0, m_srcZ = 0, m_destX = -8893.4541, m_destY = 636.841919, m_destZ = 99.5232849, m_strTarget = { static npos = 18446744073709551615, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xb3dc58 ""}}, m_targetMask = 2, m_unitTarget = 0x7fff6d7e0f70, m_GOTarget = 0x0, m_itemTarget = 0x0, m_unitTargetGUID = 25273, m_GOTargetGUID = 0, m_CorpseTargetGUID = 0, m_itemTargetGUID = 0, m_itemTargetEntry = 0} #3 0x00000000007415ab in Unit::HandleDummyAuraProc (this=0x2bef7c60, pVictim=0x7fff6d7e0f70, damage=38600, triggeredByAura=0x292dfb60, procSpell=0x0, procFlag=<value optimized out>, procEx=1, cooldown=0) at ../../../src/game/Unit.cpp:6853 dummySpell = 0x7fffed0138c0 effIndex = 3976280256 triggerAmount = <value optimized out> castItem = 0x0 triggered_spell_id = 63106 target = 0x7fff6d7e0f70 basepoints0 = 386 #4 0x00000000007455f6 in Unit::ProcDamageAndSpellFor (this=0x2bef7c60, isVictim=false, pTarget=0x7fff6d7e0f70, procFlag=262144, procExtra=1, attType=BASE_ATTACK, procSpell=0x7fffec4db160, damage=965) at ../../../src/game/Unit.cpp:12055 triggeredByAura = 0x292dfb60 spellProcEvent = <value optimized out> spellInfo = <value optimized out> cooldown = 0 removedSpells = {<std::_List_base<unsigned int, std::allocator<unsigned int> >> = { _M_impl = {<std::allocator<std::_List_node<unsigned int> >> = {<__gnu_cxx::new_allocator<std::_List_node<unsigned int> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x42002b60, _M_prev = 0x42002b60}}}, <No data fields>} procTriggered = {<std::_List_base<ProcTriggeredData, std::allocator<ProcTriggeredData> >> = { _M_impl = {<std::allocator<std::_List_node<ProcTriggeredData> >> = {<__gnu_cxx::new_allocator<std::_List_node<ProcTriggeredData> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x2c898830, _M_prev = 0x88a7d70}}}, <No data fields>} #5 0x0000000000745ff5 in Unit::ProcDamageAndSpell (this=0x2c898860, pVictim=0x7fff6d7e0f70, procAttacker=<value optimized out>, procVictim=1572864, procExtra=1, amount=965, attType=BASE_ATTACK, procSpell=0x7fffec4db160) at ../../../src/game/Unit.cpp:4710 No locals. #6 0x00000000006cd847 in Aura::PeriodicTick (this=0x7fff5f1dcf20) at ../../../src/game/SpellAuras.cpp:6613 pCaster = <value optimized out> absorb = 0 resist = 0 amount = <value optimized out> cleanDamage = {damage = 0, attackType = BASE_ATTACK, hitOutCome = MELEE_HIT_NORMAL} isCrit = false pInfo = {aura = 0x7fff5f1dcf20, damage = 965, overDamage = 0, absorb = 0, resist = 0, multiplier = 0, critical = false} procVictim = 0 pdamage = 965
  14. hm... works fine on my core, i test on mangos soon....
  15. mtmaps ACE (8799+): http://paste2.org/p/508050
×
×
  • 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