Hello everyone .
I'm having some weird issue with creature AI, maybe related to a pet dying.
I'm using last rev, and patches from http://github.com/rsa.
Here is crash log, if someone can help me fixing this :
####### BACKTRACE FULL #######
#0 Unit::DelaySpellAuraHolder (this=0x7f61dac98100, spellId=1510,
delaytime=1500) at /usr/include/c++/4.3/bits/stl_tree.h:989
No locals.
#1 0x00000000008c59e7 in DynamicObject::Delay (this=0x7f615c04a480,
delaytime=1500) at ../../../src/game/DynamicObject.cpp:152
No locals.
#2 0x00000000007bf40d in Spell::DelayedChannel (this=0x7f6150664a00)
at ../../../src/game/Spell.cpp:6448
dynObj = (class DynamicObject *) 0x7f61c6a9abb0
delaytime = 1500
delayReduce = <value optimized out>
#3 0x00000000008495dc in Unit::DealDamage (this=0x56982d0, pVictim=0x5698000,
damage=64, cleanDamage=0x41165cc0, damagetype=DIRECT_DAMAGE,
damageSchoolMask=SPELL_SCHOOL_MASK_NORMAL, spellProto=0x0,
durabilityLoss=true) at ../../../src/game/Unit.cpp:1199
channelInterruptFlags = 3333008304
spell = (Spell *) 0x7f6150664a00
morphSpell = <value optimized out>
health = <value optimized out>
duel_hasEnded = false
__FUNCTION__ = "DealDamage"
__PRETTY_FUNCTION__ = "uint32 Unit::DealDamage(Unit*, uint32, const CleanDamage*, DamageEffectType, SpellSchoolMask, const SpellEntry*, bool)"
#4 0x000000000084c4d3 in Unit::DealMeleeDamage (this=0x7f614ae32080,
damageInfo=0x41165d70, durabilityLoss=36)
at ../../../src/game/Unit.cpp:1854
pVictim = (Unit *) 0x5698000
cleanDamage = {damage = 69, attackType = BASE_ATTACK,
hitOutCome = MELEE_HIT_NORMAL}
#5 0x000000000084cd76 in Unit::AttackerStateUpdate (this=0x7f614ae32080,
pVictim=<value optimized out>, attType=BASE_ATTACK, extra=false)
at ../../../src/game/Unit.cpp:2646
extraAttacks = 0
damageInfo = {attacker = 0x7f614ae32080, target = 0x5698000,
damageSchoolMask = SPELL_SCHOOL_MASK_NORMAL, damage = 64, absorb = 0,
resist = 0, blocked_amount = 0, HitInfo = 2, TargetState = 1,
attackType = BASE_ATTACK, procAttacker = 4, procVictim = 1048584,
procEx = 1, cleanDamage = 69, hitOutCome = MELEE_HIT_NORMAL}
#6 0x00000000008bdb70 in CreatureEventAI::UpdateAI (this=0x7f619ac55990,
diff=<value optimized out>) at ../../../src/game/CreatureEventAI.cpp:1346
Combat = <value optimized out>
#7 0x00000000005798dc in Creature::Update (this=0x7f614ae32080, diff=145)
at ../../../src/game/Creature.cpp:536
No locals.
#8 0x0000000000686ce9 in Map::Update (this=0x7f625d114000, t_diff=@0x4116804c)
at ../../../src/game/GridNotifiersImpl.h:44
cell = {data = {Part = {grid_x = 31, grid_y = 36, cell_x = 6,
cell_y = 0, nocreate = 1, reserved = 16}, All = 553675039}}
y = 288
x = 254
plr = <value optimized out>
area = {right_offset = 2, left_offset = 2, upper_offset = 1,
lower_offset = 2}
updater = {i_timeDiff = 145}
grid_object_update = {i_visitor = @0x41167fa0}
world_object_update = {i_visitor = @0x41167fa0}
__FUNCTION__ = "Update"
__PRETTY_FUNCTION__ = "virtual void Map::Update(const uint32&)"
#9 0x0000000000686dc9 in InstanceMap::Update (this=0x30000, t_diff=@0x5e6)
at ../../../src/game/Map.cpp:1825
No locals.
#10 0x00000000008e200d in MapInstanced::Update (this=0x7f625cc2c000,
t=@0x4116804c) at ../../../src/game/MapInstanced.cpp:63
i = {<std::tr1::__detail::_Hashtable_iterator_base<std::Pair<const unsigned int, Map*>, false>> = {_M_cur_node = 0x7f6196f02cb0,
_M_cur_bucket = 0x7f62609a0e68}, <No data fields>}
#11 0x000000000069482f in MapManager::Update (this=0x7f624d97d280,
diff=<value optimized out>) at ../../../src/game/MapManager.cpp:250
No locals.
#12 0x0000000000870f47 in World::Update (this=0x7f6262b73900, diff=46)
at ../../../src/game/World.cpp:1495
autobroadcaston = 1
#13 0x0000000000511f7c in WorldRunnable::run (this=<value optimized out>)
at ../../../src/mangosd/WorldRunnable.cpp:60
diff = 46
realCurrTime = 2763109990
realPrevTime = <value optimized out>
prevSleepTime = 44
#14 0x00000000009409dc in ACE_Based::Thread::ThreadTask (param=0x30000)
at ../../../src/shared/Threading.cpp:187
_task = (class ACE_Based::Runnable *) 0x7f62609924d0
#15 0x00007f6263d31fc7 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#16 0x00007f626330164d in clone () from /lib/libc.so.6
No symbol table info available.
#17 0x0000000000000000 in ?? ()
No symbol table info available.
Here is another crash, same issue :
#0 Pet::setDeathState (this=<value optimized out>, s=<value optimized out>)
at ../../../src/game/Pet.cpp:486
spellInfo = (const SpellEntry *) 0x0
p_owner = <value optimized out>
#1 0x000000000084896d in Unit::DealDamage (this=0x7ff95921c000,
pVictim=0x7ff9544f2080, damage=3285, cleanDamage=0x43531b50,
damagetype=SPELL_DIRECT_DAMAGE, damageSchoolMask=SPELL_SCHOOL_MASK_FIRE,
spellProto=0x7ffa2d005ab4, durabilityLoss=true)
at ../../../src/game/Unit.cpp:924
group_tap = (Group *) 0x0
spiritOfRedemtionTalentReady = (class Aura *) 0x0
player_tap = (class Player *) 0x7ff95921c000
pOwner = (Unit *) 0x2c2c000
damageFromSpiritOfRedemtionTalent = false
health = <value optimized out>
duel_hasEnded = false
__FUNCTION__ = "DealDamage"
__PRETTY_FUNCTION__ = "uint32 Unit::DealDamage(Unit*, uint32, const CleanDamage*, DamageEffectType, SpellSchoolMask, const SpellEntry*, bool)"
#2 0x000000000084d41e in Unit::DealSpellDamage (this=0x7ff95921c000,
damageInfo=0x43531bf0, durabilityLoss=<value optimized out>)
at ../../../src/game/Unit.cpp:1508
pVictim = (Unit *) 0x7ff9544f2080
spellProto = (const SpellEntry *) 0x7ffa2d005ab4
cleanDamage = {damage = 0, attackType = BASE_ATTACK,
hitOutCome = MELEE_HIT_CRIT}
#3 0x00000000007b8e1f in Spell::DoAllEffectOnTarget (this=0x7ff97c4fac00,
target=<value optimized out>) at ../../../src/game/Spell.cpp:1115
damageInfo = {target = 0x7ff9544f2080, attacker = 0x7ff95921c000,
SpellID = 17962, damage = 3285, overkill = 0,
schoolMask = SPELL_SCHOOL_MASK_FIRE, absorb = 0, resist = 0,
physicalLog = false, unused = false, blocked = 0, HitInfo = 2}
mask = <value optimized out>
unit = (class Unit *) 0x7ff9544f2080
real_caster = (class Unit *) 0x7ff95921c000
caster = (class Unit *) 0x7ff95921c000
missInfo = SPELL_MISS_NONE
procAttacker = 65536
procVictim = 1179648
procEx = <value optimized out>
#4 0x00000000007cb234 in Spell::handle_immediate (this=0x7ff97c4fac00)
at ../../../src/game/Spell.cpp:3129
No locals.
#5 0x00000000007ca300 in Spell::cast (this=0x7ff97c4fac00, skipCheck=false)
at ../../../src/game/Spell.cpp:3102
castResult = <value optimized out>
#6 0x00000000007cbf47 in SpellEvent::Execute (this=0x7ff96e08cd38,
e_time=885824, p_time=1) at ../../../src/game/Spell.cpp:6660
No locals.
#7 0x000000000096133f in EventProcessor::Update (this=0x7ff95921c128,
p_time=121) at ../../../src/framework/Utilities/EventProcessor.cpp:47
Event = (BasicEvent *) 0x7ff96e08cd38
#8 0x000000000084738b in Unit::Update (this=0x7ff95921c000, p_time=121)
at ../../../src/game/Unit.cpp:295
No locals.
#9 0x000000000075fde3 in Player::Update (this=0x7ff95921c000, p_time=121)
at ../../../src/game/Player.cpp:1211
now = <value optimized out>
pet = <value optimized out>
#10 0x0000000000685f41 in Map::Update (this=0x9e04000, t_diff=@0x4353404c)
at ../../../src/game/Map.cpp:520
plr = (class Player *) 0x7ffa38890000
updater = {i_timeDiff = 140034048}
grid_object_update = {i_visitor = @0x43533fa0}
world_object_update = {i_visitor = @0x43533fa0}
__FUNCTION__ = "Update"
__PRETTY_FUNCTION__ = "virtual void Map::Update(const uint32&)"
#11 0x0000000000686d89 in BattleGroundMap::Update (this=0x7ffa38890000,
diff=@0x51) at ../../../src/game/Map.cpp:1833
No locals.
#12 0x00000000008e238d in MapInstanced::Update (this=0x858c000, t=@0x4353404c)
at ../../../src/game/MapInstanced.cpp:63
i = {<std::tr1::__detail::_Hashtable_iterator_base<std::Pair<const unsigned int, Map*>, false>> = {_M_cur_node = 0x7ff96043eb48,
_M_cur_bucket = 0x7ff9bf61f920}, <No data fields>}
#13 0x000000000069482f in MapManager::Update (this=0x7ffa24b41280,
diff=<value optimized out>) at ../../../src/game/MapManager.cpp:250
No locals.
#14 0x00000000008712c7 in World::Update (this=0x7ffa39b77900, diff=121)
at ../../../src/game/World.cpp:1495
autobroadcaston = 1
#15 0x0000000000511f7c in WorldRunnable::run (this=<value optimized out>)
at ../../../src/mangosd/WorldRunnable.cpp:60
diff = 121
realCurrTime = 2765685053
realPrevTime = <value optimized out>
prevSleepTime = 45
#16 0x0000000000940d5c in ACE_Based::Thread::ThreadTask (param=0x7ffa38890000)
at ../../../src/shared/Threading.cpp:187
_task = (class ACE_Based::Runnable *) 0x7ffa3974a5c0
#17 0x00007ffa3ad36fc7 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#18 0x00007ffa3a30664d in clone () from /lib/libc.so.6
No symbol table info available.
#19 0x0000000000000000 in ?? ()
No symbol table info available.