Jump to content

Undergarun

Members
  • Posts

    119
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Posts posted by Undergarun

  1. 3) allow multiple threads to issue async DB queries with callbacks. Currently only main thread was capable of doing it.

    How many? One per map.update thread? One thread means one mysql connection?

    Thank you 4 all the work.

    Did you see https://github.com/TrinityCore/TrinityCore/commit/87218eadcdeac5ba86a035edfd079958405cb24f? o.O

    24h of a heavily mySQL Server Workload supporting only a MaNGOS Database with current db layer

    24mysqlworkload.png

  2. faeamir118, qsa, Ambal and others. Guys you are doing great job, but I want to ask you about "multy-threading" support for mysql. Have no idea now it's called really, but I mean - mangos working with several mysql threads. So job is divided into several streams. This will help against //bang crash.

    BTW, what do you think about multi-threading for realmd? After any crash..many ppl try to connect and it take to many time.

    P.S. sory for bad English, hope you understood what I'm talking about

    I spoke with Ambal some time ago about a "pool" of characters db connections. He said that all we have to do is to create a thread pool of SQL threads implemented in SqlDelayThread and use it, but i don't have enought knowledge about how mysql transactions works in MaNGOS.

    About realmd as i know since it use Ace socket systems is multithreaded. I have a dedicated cloud for realmd because if realmd doesn't have enough resources will get hanged. (Tested with 3000+ pl accesing to realms at the same time).

  3. 1) Threading Building Blocks (TBB) library itself needs to be upgraded in mangos - it is almost a year as outdated and lacks tonns of performance and bug fixes.

    2) Using the way of doing spell updates as in the Kero99 patch is not very efficient because it requires using global mutex, which can lag your server to the death... I'm preparing another solution "World Tasks" which will allow you to execute all complex and/or thread-unsafe functions in main thread w/o overcomplicating mangos code with locks etc. As an example, player far teleports are already using it in my repo, branch "world_tasks", and server will now not try to teleport player into dungeon if it is impossible. Stay tuned :)

    AWESOME!! So multithreading model for mangos would be somethink like 1 main thread in which all thread_unsafe and thread_inplace opcodes are executed by WorldTaskManager and thread_safe opcodes in map::update() calls. Isn't it? Some months ago (Probably a year ago) i saw a patch that makes 1 thread per map and add the possibility to restart threads if an error happen in this thread sending all players in this map to the character selection menu, i think is in similar way on Blizzard realms. Anyway your branch is ready for testing?

  4. I did a test compiling without ScriptDev2 and crashed were reduced but still crashing so its a Core problem. [Custom patches: mtmaps (2 threads) + TBB concurrent Vectors + Visibility and reloc (branch 2)] :(

    @qsa Any new information about the crash?

    @VladimirMangos & Ambal Any possible fix? You recomend to compile with ACE_MT_SYNCH in mtmaps enviroment?

    @anybody Help is welcome!

    P.D: I'm gonna continue trying to make mtmaps stable in mangos and continue sending feedback, in order to continue ambal's multithreading progress i recomend to add tbb concurrent vector and this lock patch https://github.com/kero99/mangos/commit/7d8a7c47822a760e7a6b938d140f420688e92fc0 to master branch because Spells updates are not thread safe.

  5. hmm, we have antifreeze protection that do what you describe: explictly triggering crash at freeze detect with result core dump generation.

    Maybe it disbled in your version. Look option MaxCoreStuckTime in config

    My config is:

    MaxCoreStuckTime = 120

    But... this crashdump is useful to find the source of the problem?

    http://pastebin.com/qqm8wVS1

    I have tons of them from last 7 days at least.

    I was thinking in some way to control huge and senseless values in loops, something like MaxSpellCastsInChain trying to avoid server crash and writting the possible problems/events on logs.

    Thank u Vlad, your knowledge is welcome!

  6. MaNGOS still freeze with some other items that I couldn't identify yet.

    It's possible to implement some generic way to control this cases? Because if the server freeze we don't get a crashdump in order to know where the problem is.

    So if freeze show then or you use custom changes or script problem.

    Maybe some anti dead loop control and some other data checks would be great for people like me, learning C++ and how mangos works.

    Thank u 4 your work ;-) Keep MaNGOS up!

  7. Hi ambal. Kero99 and me are now testing parallelizing client packet processing with mtmaps + TBB concurrent vectors + SQLAsyntask patch (implemented in [10865]) and maybe today or tomorrow we are going to start the branch 1 tests.

    Since today we think that branch 2 is enought good! (Stable and increase performance as u can see in the kero99's feedback).

    Kero99 will post the feedback from branch 1 as soon as posible.

    Thank you 4 your work, we apreciate it!

  8. 1. Problem only on gcc compiler.

    2. I can't explain how, but after loading go locales, all objects of GameObjectLocale in our GameObjectLocaleMap are broken or empty or not exist.

    3. Its can be temp fix because finally I cannot understand how it happened.

    In GameObject.h:

    +struct GameObjectLocale
    +{
    +    std::vector<std::string> Name;
    +    std::vector<std::string> CastBarCaption;
    +};
    +
    // GCC have alternative #pragma pack() syntax and old gcc version not support pack(pop), also any gcc version not support it at some platform
    #if defined( __GNUC__ )
    #pragma pack()
    #else
    #pragma pack(pop)
    #endif
    
    -struct GameObjectLocale
    -{
    -    std::vector<std::string> Name;
    -    std::vector<std::string> CastBarCaption;
    -};
    -

    Thanks u!! Temp fix is working on latest rev for gameobject.

    And 4 struct PageTextLocales { } ?

×
×
  • 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