Jump to content

polonawa

Members
  • Posts

    32
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

Everything posted by polonawa

  1. Hi, is it a way to keep the remote access enabled with cmake ? I used to enable it with --enabe-ra during the ../configure step, but how does it work now ? Thanks by advance and sorry for my poor english
  2. ASSERT in a C built-in function , taking a boolean expression as paramater, if the parameter is false (here, the empty() function returns a boolean) the ASSERT makes the program properly crash. It's used to debug a program, and prevent memory corrupt.
  3. in the mangosd.conf set the unloadgrid option to 0, it will use more RAM, but it will become more stable too.
  4. I think this assert is not really useful, coz there is if (empty()) Initialize(); a few lines after.
  5. Due to an assert i don't understand void MotionMaster::UpdateMotion(uint32 diff) { if( i_owner->hasUnitState(UNIT_STAT_CAN_NOT_MOVE) ) return; ASSERT( !empty() );
  6. polonawa

    crash

    Coredump seems to be ok
  7. Let's take the last 333 insider42 branch, and then apply the [10136] revision using the diff to get the 3.3.5 support, 2 days without a crash for the moment.
  8. I had the same crash on my custom core, and i found that it was due to an assertion fail , enven if the backtrace didn't mentionned it. Polymorphism makes the core call Object::BuildUpdateData() instead of WorldObject::BuildUpdateData() in several cases I've not identified yet. To prevent thoses crashes an hacky way, you can comment the assert in Object.cpp (around line 1130) void Object::BuildUpdateData( UpdateDataMapType& /*update_players */) { sLog.outError("Unexpected call of Object::BuildUpdateData for object (TypeId: %u Update fields: %u)",GetTypeId(), m_valuesCount); //ASSERT(false); }
  9. Yes, I understand the check but I just think that the server decision is a bit strict in this case, that's all. killing the process is a bit strong isn't it ? Thats why I was asking if it could be better to replace the assert by something else, like a player kick or a player teleport... Thanks for all those explanations and sry for my bad english
  10. I know what an ASSERT is made for, but I just don't understand a few things : force a server crash here ? a return after an assert ? I'm not a mangos source code expert, really far from that
  11. Hi , I just noticed a special crash appearing just after another one if one group is in raid during the first crash. I got this backtrace #4 0x084fe6c9 in InstanceMap::Add (this=0x969736f0, player=0xa321a188) at ../../../src/game/Map.cpp:2437 #5 0x08777c5c in WorldSession::HandlePlayerLogin (this=0x96b900e0, holder=0xa36f60b8) at ../../../src/game/CharacterHandler.cpp:704 #6 0x0877bc40 in CharacterHandler::HandlePlayerLoginCallback (this=0x8920d54, holder=0xa36f60b8) at ../../../src/game/CharacterHandler.cpp:133 #7 0x0877afbe in MaNGOS::_Callback<CharacterHandler, QueryResult*, SqlQueryHolder*, void, void>::_Execute (this=0x98d1d154) at ../../../src/game/../framework/Utilities/Callback.h:92 #8 0x0877afd8 in MaNGOS::_IQueryCallback<MaNGOS::_Callback<CharacterHandler, QueryResult*, SqlQueryHolder*, void, void> >::Execute (this=0x98d1d150) at ../../../src/game/../framework/Utilities/Callback.h:405 #9 0x087a0165 in SqlResultQueue::Update (this=0xcc4de90) at ../../../../src/shared/Database/SqlOperations.cpp:77 #10 0x086ebdcd in World::UpdateResultQueue (this=0xb6a229e8) at ../../../src/game/World.cpp:1965 #11 0x086f3436 in World::Update (this=0xb6a229e8, diff=26) at ../../../src/game/World.cpp:1464 #12 0x0839b64f in WorldRunnable::run (this=0xb2c8faf0) at ../../../src/mangosd/WorldRunnable.cpp:60 I found the related piece of code in Map.cpp bool InstanceMap::CanEnter(Player *player) { if(player->GetMapRef().getTarget() == this) { sLog.outError("InstanceMap::CanEnter - player %s(%u) already in map %d,%d,%d!", player->GetName(), player->GetGUIDLow(), GetId(), GetInstanceId(), GetSpawnMode()); ASSERT(false); return false; } ... Why is there an assert here ? Isnt'it possible to replace it by a player teleport to his homebind ? Maybe am I totally blind , but I don't understand this Assert, really. Thanks for reading.
  12. the OnObjectCreate() method should be more appropriated
  13. check /var/log/mysql/errors.log && /var/log/apache2/errors.log, it could help you identifying your problem
  14. it means that your mangos is not running, is it true ? does it launch mangos ?
  15. Except full pathes, your crontab seems to be ok. Try to launch the restarter.sh manually, and tell us what's going on. You may have a problem with the rights of the user running the crontable, check you have the rights to execute mangos with the crontab's user
  16. Script for realmd file : restarter_realmd.sh #!/bin/bash if (ps -C mangos-realmd ) then echo "status : OK" else echo "status : DOWN" cd PATH_TO_YOUR_MANGOS/bin screen -d -m -S session_name PATH_TO_YOUR_MANGOS/bin/mangos-realmd fi in your crontab you should use absolute paths, ti avoid errors. Depending on the user's crontab the "./" fodler could be his home directory , or /root ... Is restarter for mangos working ?
  17. You can create a restarter with a few lines of bash file : restarter.sh #!/bin/bash if (ps -C mangos-worldd ) then echo "status : OK" else echo "status : DOWN" cd PATH_TO_YOUR_MANGOS/bin tar -czvf logs.tar.gz Server.log DBErrors.log Char.log #enable crashdumps ulimit -c unlimited screen -d -m -S session_name PATH_TO_YOUR_MANGOS/bin/mangos-worldd fi and execute this script using cron crontab -e */1 * * * * cd /home/youruser/scripts/restarter;./restarter.sh Cron checks the process every minute, and restart it, if it crashed. This script is for the world process, you can easily adapt it for realmd
  18. But I'm not using mtmaps on this core version
  19. Hi, as usual, donno if I'm the only one encountering this crash, but I got a few with very similar backtraces. Especially in map 615 (Obsidian Sanctum), already read a topic explaining how to reproduce the crash with Sartharion's script, but mine is different, don't think it's related to the script ... #0 Map::UnloadGrid (this=0x8e429bb0, x=@0xb2aff1e8, y=@0xb2aff1e4, pForce=true) at ../../../src/game/../framework/GameSystem/NGrid.h:39 39 void setUnloadReferenceLock( bool on ) { i_unloadReferenceLock = on; } (gdb) bt #0 Map::UnloadGrid (this=0x8e429bb0, x=@0xb2aff1e8, y=@0xb2aff1e4, pForce=true) at ../../../src/game/../framework/GameSystem/NGrid.h:39 #1 0x082325bf in Map::UnloadAll (this=0x8e429bb0, pForce=true) at ../../../src/game/Map.cpp:1095 #2 0x08232d0b in ~Map (this=0x8e429bb0) at ../../../src/game/Map.cpp:62 #3 0x082330f9 in ~InstanceMap (this=0x8e429bb0) at ../../../src/game/Map.cpp:2371 #4 0x08418a4e in MapInstanced::DestroyInstance (this=0x9c03a6a0, itr=@0xb2aff294) at ../../../src/game/MapInstanced.cpp:242 #5 0x084196b3 in MapInstanced::Update (this=0x9c03a6a0, t=@0xb2aff2c8) at ../../../src/game/MapInstanced.cpp:58 #6 0x0824b01d in MapManager::Update (this=0xb48bf2f0, diff=47) at ../../../src/game/MapManager.cpp:265 #7 0x083bef7a in World::Update (this=0xb6a22950, diff=47) at ../../../src/game/World.cpp:1411 #8 0x08127448 in WorldRunnable::run (this=0xb47135c8) at ../../../src/mangosd/WorldRunnable.cpp:60 #9 0x0846059a in ACE_Based::Thread::ThreadTask (param=0xb47135c8) at ../../../src/shared/Threading.cpp:187 #10 0xb7e9d18e in ACE_OS_Thread_Adapter::invoke (this=0xb47135f8) at ../../../../dep/ACE_wrappers/ace/OS_Thread_Adapter.cpp:90 #11 0xb7e46f01 in ace_thread_adapter (args=0xb47135f8) at ../../../../dep/ACE_wrappers/ace/Base_Thread_Adapter.cpp:124 Information about the map concerned : (gdb) select 1 (gdb) print *this->i_mapEntry $1 = {MapID = 615, map_type = 2, name = {0xb4e5d2d0 "", 0xb4e5d2d0 "", 0xb4e5ea6e "Le sanctum Obsidien", 0xb4e5d2d0 "" <repeats 13 times>}, linked_zone = 0, multimap_id = 239, entrance_map = 571, entrance_x = 3438.15332, entrance_y = 260.401306, addon = 2} (gdb) Someone with something like me ? Thanks a lot for reading
×
×
  • 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