DrKLO
Members-
Posts
20 -
Joined
-
Last visited
Never -
Donations
0.00 GBP
DrKLO's Achievements
Member (2/3)
0
Reputation
-
i think it's related to http://github.com/rsa/mangos/commit/b6d31044b7ea17630cab6f9001a31bcf0b67a536 patch
-
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?
-
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
-
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
-
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
-
moderators, plz move it to the patch section
-
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
-
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
-
i say that it's look like, not sure Vladimir, can after MovementInform(creature); - creature.IsStopped() become false? Russian: Если не может, то краш точно не из за этого, т.к. краш только тогда, когда creature.IsStopped() = false.
-
first post updated, fortgot to add the same check in HandleSetRaidDifficultyOpcode
-
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
-
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.
-
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
-
i'm use freeze detector, 300 seconds check. But i'm use KAPATEJIb patches, there is meybe some that prevent freezes.
-
http://paste2.org/p/681918 18 hours uptime now and still no crashes
Contact Us
To contact us
click here
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
You can also email us at [email protected]
Privacy Policy | Terms & Conditions
Copyright © getMaNGOS. All rights Reserved.
This website is in no way associated with or endorsed by Blizzard Entertainment®
This website is in no way associated with or endorsed by Blizzard Entertainment®