Blood Prince Council crash on death.
opened this issue · comments
//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Registers:
EAX:00000000
EBX:DFB29600
ECX:00000000
EDX:FFF97F60
ESI:00000000
EDI:00000000
CS:EIP:0023:00440CC1
SS:ESP:002B:0945ABA8 EBP:0945BBB8
DS:002B ES:002B FS:0053 GS:002B
Flags:00010206
Call stack:
Address Frame Function SourceFile
00440CC1 00000000 Object::GetUInt64Value+21
0077DDDD 00000000 SpellAuraHolder::GetCaster+D
004DD608 00000000 Unit::DealDamage+448
004DEB4F 00000000 Unit::DealSpellDamage+BF
007F5A39 00000000 Spell::DoAllEffectOnTarget+509
00801CF2 00000000 Spell::handle_immediate+52
008012AB 00000000 Spell::cast+8BB
0080325B 00000000 Spell::update+3BB
007F620C 00000000 SpellEvent::Execute+1C
009274E8 00000000 EventProcessor::Update+58
004F1260 00000000 Unit::Update+20
005A2363 00000000 Player::Update+83
0051F475 00000000 Map::Update+175
006A7119 00000000 MapManager::Update+69
0048C4A3 00000000 World::Update+2D3
004607DF 00000000 WorldRunnable::run+4F
0047344E 00000000 ACE_Based::Thread::ThreadTask+E
69AD74CF 00000000 ACE_OS_Thread_Adapter::invoke+7F
68A2C01D 00000000 __get_tlsindex+6F
68A2C001 00000000 __get_tlsindex+53
768D338A 00000000 BaseThreadInitThunk+12
77499F72 00000000 RtlInitializeExceptionChain+63
77499F45 00000000 RtlInitializeExceptionChain+36
========================
Local Variables And Parameters
Call stack:
Address Frame Function SourceFile
00440CC1 00000000 Object::GetUInt64Value+21
punting on symbol index
Local <user defined> 'st'
0077DDDD 00000000 SpellAuraHolder::GetCaster+D
004DD608 00000000 Unit::DealDamage+448
Local <user defined> 'pVictim'
punting on symbol damage
Local <user defined> 'cleanDamage'
Local <user defined> 'damagetype'
Local <user defined> 'damageSchoolMask'
Local <user defined> 'spellProto'
punting on symbol durabilityLoss
punting on symbol shareDamage
Local <user defined> 'data'
Local <user defined> 'data'
punting on symbol threat
Local <user defined> 'st'
Local <user defined> 'st'
004DEB4F 00000000 Unit::DealSpellDamage+BF
Local <user defined> 'damageInfo'
punting on symbol durabilityLoss
Local <user defined> 'cleanDamage'
007F5A39 00000000 Spell::DoAllEffectOnTarget+509
Local <user defined> 'target'
punting on symbol crit
punting on symbol absorb
punting on symbol gain
Local <user defined> 'damageInfo'
Local <user defined> 'itr'
punting on symbol bp
Local <user defined> 'damageInfo'
00801CF2 00000000 Spell::handle_immediate+52
008012AB 00000000 Spell::cast+8BB
punting on symbol skipCheck
0080325B 00000000 Spell::update+3BB
punting on symbol difftime
007F620C 00000000 SpellEvent::Execute+1C
punting on symbol e_time
punting on symbol p_time
009274E8 00000000 EventProcessor::Update+58
punting on symbol p_time
004F1260 00000000 Unit::Update+20
punting on symbol update_diff
punting on symbol p_time
005A2363 00000000 Player::Update+83
punting on symbol update_diff
punting on symbol p_time
Local <user defined> 'iter'
punting on symbol newzone
punting on symbol newarea
0051F475 00000000 Map::Update+175
Local <user defined> 't_diff'
Local <user defined> 'updater'
Local <user defined> 'updater'
Local <user defined> 'area'
Local <user defined> 'cell'
Local <user defined> 'area'
Local <user defined> 'cell'
Local <user defined> 'st'
006A7119 00000000 MapManager::Update+69
punting on symbol diff
0048C4A3 00000000 World::Update+2D3
punting on symbol diff
004607DF 00000000 WorldRunnable::run+4F
0047344E 00000000 ACE_Based::Thread::ThreadTask+E
punting on symbol param
69AD74CF 00000000 ACE_OS_Thread_Adapter::invoke+7F
punting on symbol status
68A2C01D 00000000 __get_tlsindex+6F
68A2C001 00000000 __get_tlsindex+53
768D338A 00000000 BaseThreadInitThunk+12
77499F72 00000000 RtlInitializeExceptionChain+63
77499F45 00000000 RtlInitializeExceptionChain+36
========================
Global Variables
The case of a single, but points to the aura 300. Debug points to Deal Damage.
Twin Valkyr not crashing.
https://github.com/scriptdev2/scriptdev2-cata/blob/master/scripts/northrend/icecrown_citadel/icecrown_citadel/blood_prince_council.cpp#L418
Maybe due to the fact that the orb is trying to harm the already dead beings I get a crash? Maybe even remove DealDamage of JustDied, keep only set instance data?
Crash reason found:
Blood Orb - function JustDied - Deal Damage Prince.
Solution: Delete Deal Damage from Just Died for Blood Orb Control script and handled on db_script_on_death.
https://github.com/Ulduar/scriptdev2-cata/blob/Ragnaros/scripts/northrend/icecrown_citadel/icecrown_citadel/blood_prince_council.cpp#L411
I deleted and Just Died left only set instance data DONE and all.
-- Script id: 38008
DELETE FROM dbscripts_on_creature_death WHERE id=38008;
INSERT INTO dbscripts_on_creature_death VALUES
(38008,0,15,5,0,37972,50000,12,0,0,0,0,0,0,0,0,'Blood Orb - Force Cast Instantkill for Prince Keleseth'),
(38008,0,15,5,0,37970,50000,12,0,0,0,0,0,0,0,0,'Blood Orb - Force Cast Instantkill for Prince Valanar'),
(38008,0,15,5,0,37973,50000,12,0,0,0,0,0,0,0,0,'Blood Orb - Force Cast Instantkill for Prince Taldaram');
P.S: UNIT_FLAG_OOC_NOT_ATTACKABLE also need delete on evade, because on Evade Prince restore UNIT_FLAG_OOC_NOT_ATTACKABLE flag on default.
Problem solved.