Jump to content

DrKLO

Members
  • Posts

    20
  • Joined

  • Last visited

    Never
  • Donations

    0.00 GBP 

DrKLO's Achievements

Member

Member (2/3)

0

Reputation

  1. i think it's related to http://github.com/rsa/mangos/commit/b6d31044b7ea17630cab6f9001a31bcf0b67a536 patch
  2. i found one crash, main thread stuck in this part of code void WorldSession::SendDoFlight( uint32 mountDisplayId, uint32 path, uint32 pathNode ) { // remove fake death if (GetPlayer()->hasUnitState(UNIT_STAT_DIED)) GetPlayer()->RemoveSpellsCausingAura(SPELL_AURA_FEIGN_DEATH); while(GetPlayer()->GetMotionMaster()->GetCurrentMovementGeneratorType() == FLIGHT_MOTION_TYPE) //STUCK HERE GetPlayer()->GetMotionMaster()->MovementExpired(false); if (mountDisplayId) GetPlayer()->Mount( mountDisplayId ); GetPlayer()->GetMotionMaster()->MoveTaxiFlight(path,pathNode); } i added iteration counter in this loop and break it when it equal to 100, no core stuck any more maybe someone have the same problem?
  3. if you shoot with wand, and while shooting if you press a lot of time on some instans spell, this spell will be casted a lot of times seem that cooldown isn't apply on spell when casting shoot spell so you can cast one spell up to ~10 times without cooldown
  4. http://paste2.org/p/716069 caused by this commit http://github.com/mangos/mangos/commit/7661fe98398107a968c68d1a346002a70db772b1 i just revert it, because there was a lot of crash
  5. to Lightguard, the problem is not only in the instance reset. If someone change difficulty who outside dungeon, and someone who inside make relog in the game - server will crash, because he will enter in the dungeon that not bind to him, and we get assert(false) in the code sLog.outError("InstanceMap::Add: player %s(%d) is being put in instance %d,%d,%d,%d,%d,%d but he is in group %d and is bound to instance %d,%d,%d,%d,%d,%d!", player->GetName(), player->GetGUIDLow(), mapSave->GetMapId(), mapSave->GetInstanceId(), mapSave->GetDifficulty(), mapSave->GetPlayerCount(), mapSave->GetGroupCount(), mapSave->CanReset(), GUID_LOPART(pGroup->GetLeaderGUID()), playerBind->save->GetMapId(), playerBind->save->GetInstanceId(), playerBind->save->GetDifficulty(), playerBind->save->GetPlayerCount(), playerBind->save->GetGroupCount(), playerBind->save->CanReset()); if(groupBind) sLog.outError("InstanceMap::Add: the group is bound to instance %d,%d,%d,%d,%d,%d", groupBind->save->GetMapId(), groupBind->save->GetInstanceId(), groupBind->save->GetDifficulty(), groupBind->save->GetPlayerCount(), groupBind->save->GetGroupCount(), groupBind->save->CanReset()); assert(false); we just prvevent it i think it's bl1zz like, bacause i got message that i can't change dungeon difficulty, bacause i or some of my party members in the dungeon already
  6. moderators, plz move it to the patch section
  7. if someone compile source with #define MANGOS_DEBUG and enable logs, we should see what happened before crash in logs maybe we should change in WaypointMovementGenerator.cpp this // prevent a crash at empty waypoint path. if (!i_path || i_path->empty()) { creature.clearUnitState(UNIT_STAT_ROAMING_MOVE); return true; } // i_path was modified by chat commands for example if (i_path->size() != i_hasDone.size()) i_hasDone.resize(i_path->size()); if (i_currentNode >= i_path->size()) i_currentNode = 0; and this CreatureTraveller traveller(creature); i_nextMoveTime.Update(diff); i_destinationHolder.UpdateTraveller(traveller, diff, false, true); to avoid crash
  8. CreatureTraveller traveller(creature); i_nextMoveTime.Update(diff); i_destinationHolder.UpdateTraveller(traveller, diff, false, true); -this function DestinationHolder<TRAVELLER>::UpdateTraveller ... traveller.Relocation(x, y, z, ori); - in some cases - this template<> inline void Traveller<Creature>::Relocation(float x, float y, float z, float orientation) { i_traveller.GetMap()->CreatureRelocation(&i_traveller, x, y, z, orientation); } void Map::CreatureRelocation(Creature *creature, float x, float y, float z, float ang) ... // if creature can't be move in new cell/grid (not loaded) move it to repawn cell/grid // creature coordinates will be updated and notifiers send if(!CreatureRespawnRelocation(creature)) - this bool Map::CreatureRespawnRelocation(Creature *c) ... c->GetMotionMaster()->Clear(); - this in 9400-9401 there was added some changes in CreatureRelocation, and maybe some of this changes delete WaypointMovementGenerator? so we have crash, and i_path = 0
  9. i say that it's look like, not sure Vladimir, can after MovementInform(creature); - creature.IsStopped() become false? Russian: Если не может, то краш точно не из за этого, т.к. краш только тогда, когда creature.IsStopped() = false.
  10. first post updated, fortgot to add the same check in HandleSetRaidDifficultyOpcode
  11. if we look at code we see if (creature.IsStopped()){ - look at this check .... MovementInform(creature); } and after if (i_nextMoveTime.Passed()) { // If stopped then begin a new move segment if (creature.IsStopped()) - the same check { .... } else { .... i_nextMoveTime.Reset(i_path->at(i_currentNode).delay); - there was crash, because i_past = null; ... } if first check passed, crash code can't be call so making check i_path after MovementInform(creature); as in [9434] doesn't help looks like it's deleted from other thread, but creatures on what was crash don't have eventAI or SD2 scripts PS sorry for my bad english
  12. this hack and bug can't cause crash in WorldSession::HandleMovementOpcodes and i think can't cause server freeze, because function WaypointMovementGenerator<Creature>::Update doesn't have loop, it's called once for each time diff as i see. if you have freezes, try to disable logs and compile without debug and with optimization, because with loglevel = 3 i have freezes too. Now uptime is more then one day with 300+ online for me.
  13. bug: if yo go to the dungeon, for example in normal 10 difficulty, and then invite in the raid someone who outside. If this someone change dungeon difficulty and people inside dungeon make logout - server will crash or instance will reset So do not let this someone to change dungeon difficulty if somebody in this raid\\group in dungeon. http://paste2.org/p/682412 http://paste2.org/p/683844
  14. i'm use freeze detector, 300 seconds check. But i'm use KAPATEJIb patches, there is meybe some that prevent freezes.
  15. http://paste2.org/p/681918 18 hours uptime now and still no crashes
×
×
  • 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