Description:
Experiencing a crash on WorldObject::CanNeverSee, object.cpp
Unhandled exception thrown: read access violation.
this was nullptr. occurred
In InSamePhase check, called from WorldObjectSpellTargetCheck::operator, spell.cpp
if (_spellInfo->CheckTarget(_caster, target, true) != SPELL_CAST_OK)
Above line, caster showing as null in debug mode
spell ID 60023 (Scourge Banner Aura), map 571, creature Converted Hero.
Reporting on phone, so I don't have access to the full call stack right now, but I'll post it when I can unless someone has looked into it by then :)
Steps to reproduce the problem:
Unknown
Branch(es): 3.3.5
TC rev. hash/commit: ec916db2
TDB version: TDB 335.64
Operating system: Windows Server 2012
Oops, I see I was logged in on the wrong account on my phone, but yeah, I'm the one experiencing it
Just had it happen again with a player logging in, paladin, spell 48942, which is Devotion aura, so seems to be aura related in general
Like the issue template says:
If this is a crash, post the crashlog (upload to https://gist.github.com/).
Yep, will post it as soon as I have a comp available to copy the call stack :)
(Possibly the lines do not match because I work on something)
#0 0x000000000185b998 in WorldObject::GetMap (this=0x0) at /home/trinity/server/sources/emu/src/server/game/Entities/Object/Object.h:372
#1 0x00000000022efd70 in WorldObject::CanNeverSee (this=0x0, obj=0x7fff2953e740) at /home/trinity/server/sources/emu/src/server/game/Entities/Object/Object.cpp:1676
#2 0x00000000022ef8c1 in WorldObject::CanSeeOrDetect (this=0x0, obj=0x7fff2953e740, ignoreStealth=true, distanceCheck=false, checkAlert=false) at /home/trinity/server/sources/emu/src/server/game/Entities/Object/Object.cpp:1593
#3 0x0000000002a80ce2 in SpellInfo::CheckTarget (this=0x7fffdd50b300, caster=0x0, target=0x7fff2953e740, implicit=true) at /home/trinity/server/sources/emu/src/server/game/Spells/SpellInfo.cpp:1641
#4 0x0000000002a3ec80 in Trinity::WorldObjectSpellTargetCheck::operator() (this=0x7ffece40d530, target=0x7fff2953e740) at /home/trinity/server/sources/emu/src/server/game/Spells/Spell.cpp:7861
#5 0x0000000002a3f251 in Trinity::WorldObjectSpellAreaTargetCheck::operator() (this=0x7ffece40d530, target=0x7fff2953e740) at /home/trinity/server/sources/emu/src/server/game/Spells/Spell.cpp:7953
#6 0x0000000002b2c9c2 in Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>::Visit (this=0x7ffece40d510, m=...) at /home/trinity/server/sources/emu/src/server/game/Grids/Notifiers/GridNotifiersImpl.h:413
#7 0x0000000002b2c8cd in VisitorHelper<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, Player> (v=..., c=...) at /home/trinity/server/sources/emu/src/server/game/Grids/Dynamic/TypeContainerVisitor.h:45
#8 0x0000000002b2c88d in VisitorHelper<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > > (v=..., c=...) at /home/trinity/server/sources/emu/src/server/game/Grids/Dynamic/TypeContainerVisitor.h:51
#9 0x0000000002b2c860 in VisitorHelper<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > > > (v=..., c=...) at /home/trinity/server/sources/emu/src/server/game/Grids/Dynamic/TypeContainerVisitor.h:58
#10 0x0000000002b2c820 in TypeContainerVisitor<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > > > >::Visit (this=0x7ffece40d320, c=...) at /home/trinity/server/sources/emu/src/server/game/Grids/Dynamic/TypeContainerVisitor.h:92
#11 0x0000000002b2c7f4 in Grid<Player, TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > >, TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > >::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> > (this=0x7fff307b98f8, visitor=...) at /home/trinity/server/sources/emu/src/server/game/Grids/Grid.h:98
#12 0x0000000002b2c7c1 in NGrid<8u, Player, TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > >, TypeList<GameObject, TypeList<Creature, TypeList<DynamicObject, TypeList<Corpse, TypeNull> > > > >::VisitGrid<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > > > (this=0x7fff307b82c0, x=1, y=6, visitor=...) at /home/trinity/server/sources/emu/src/server/game/Grids/NGrid.h:153
#13 0x0000000002b2c52c in Map::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > > > > (this=0x7fff4b7bc180, cell=..., visitor=...) at /home/trinity/server/sources/emu/src/server/game/Maps/Map.h:996
#14 0x0000000002b2c3b0 in Cell::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > > > > (this=0x7ffece40d328, standing_cell=..., visitor=..., map=..., x_off=7040.73486, y_off=2593.17822, radius=51.5) at /home/trinity/server/sources/emu/src/server/game/Grids/Cells/CellImpl.h:110
#15 0x0000000002b2c197 in Cell::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>, TypeMapContainer<TypeList<Player, TypeList<Creature, TypeList<Corpse, TypeList<DynamicObject, TypeNull> > > > > > (this=0x7ffece40d328, standing_cell=..., visitor=..., map=..., obj=..., radius=50) at /home/trinity/server/sources/emu/src/server/game/Grids/Cells/CellImpl.h:68
#16 0x0000000002b28d4f in Cell::VisitAllObjects<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> > (center_obj=0x7fffade14000, visitor=..., radius=50, dont_load=true) at /home/trinity/server/sources/emu/src/server/game/Grids/Cells/CellImpl.h:214
#17 0x0000000002b26dcb in UnitAura::FillTargetMap (this=0x7ffee3b4fd00, targets=std::unordered_map with 0 elements, caster=0x0) at /home/trinity/server/sources/emu/src/server/game/Spells/Auras/SpellAuras.cpp:2565
#18 0x0000000002b1c51e in Aura::UpdateTargetMap (this=0x7ffee3b4fd00, caster=0x0, apply=true) at /home/trinity/server/sources/emu/src/server/game/Spells/Auras/SpellAuras.cpp:561
#19 0x0000000002b1e273 in Aura::UpdateOwner (this=0x7ffee3b4fd00, diff=107, owner=0x7fffade14000) at /home/trinity/server/sources/emu/src/server/game/Spells/Auras/SpellAuras.cpp:734
#20 0x00000000024390c0 in Unit::_UpdateSpells (this=0x7fffade14000, time=107) at /home/trinity/server/sources/emu/src/server/game/Entities/Unit/Unit.cpp:3096
#21 0x0000000002438d30 in Unit::Update (this=0x7fffade14000, p_time=107) at /home/trinity/server/sources/emu/src/server/game/Entities/Unit/Unit.cpp:427
#22 0x000000000228025c in Creature::Update (this=0x7fffade14000, diff=107) at /home/trinity/server/sources/emu/src/server/game/Entities/Creature/Creature.cpp:717
Gooyeths post matches what I have
will add [HasBacktrace] later, if something with actual Backtrace and/or matching line numbers from TC source gets posted.
000000013F9193E3 00000000D80FE360 WorldObject::GetMap+23 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\entities\object\object.h line 372
000000014031C4BD 00000000D80FE3A0 WorldObject::CanNeverSee+2D c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\entities\object\object.cpp line 1676
0000000140319BE1 00000000D80FE430 WorldObject::CanSeeOrDetect+81 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\entities\object\object.cpp line 1593
0000000140B8A244 00000000D80FE4B0 SpellInfo::CheckTarget+A4 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\spells\spellinfo.cpp line 1641
0000000140C52C21 00000000D80FE510 Trinity::WorldObjectSpellTargetCheck::operator()+41 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\spells\spell.cpp line 7861
0000000140C531F9 00000000D80FE570 Trinity::WorldObjectSpellAreaTargetCheck::operator()+169 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\spells\spell.cpp line 7954
0000000140A851ED 00000000D80FE5C0 Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>::Visit+AD c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\notifiers\gridnotifiersimpl.h line 413
0000000140A79315 00000000D80FE5F0 VisitorHelper<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,Player>+35 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\dynamic\typecontainervisitor.h line 46
0000000140A79355 00000000D80FE620 VisitorHelper<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > >+35 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\dynamic\typecontainervisitor.h line 52
0000000140A78F3A 00000000D80FE650 VisitorHelper<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > > >+3A c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\dynamic\typecontainervisitor.h line 59
0000000140A85045 00000000D80FE680 TypeContainerVisitor<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,TypeMapContainer<TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > > > >::Visit+35 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\dynamic\typecontainervisitor.h line 93
0000000140A77E1B 00000000D80FE6B0 Grid<Player,TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > >,TypeList<GameObject,TypeList<Creature,TypeList<DynamicObject,TypeList<Corpse,TypeNull> > > > >::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> >+3B c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\grid.h line 99
0000000140A78E9C 00000000D80FE6E0 NGrid<8,Player,TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > >,TypeList<GameObject,TypeList<Creature,TypeList<DynamicObject,TypeList<Corpse,TypeNull> > > > >::VisitGrid<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > > >+4C c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\ngrid.h line 154
0000000140A78620 00000000D80FE730 Map::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,TypeMapContainer<TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > > > >+D0 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\maps\map.h line 998
0000000140A7845E 00000000D80FE7E0 Cell::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,TypeMapContainer<TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > > > >+15E c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\cells\cellimpl.h line 113
0000000140A782EE 00000000D80FE840 Cell::Visit<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck>,TypeMapContainer<TypeList<Player,TypeList<Creature,TypeList<Corpse,TypeList<DynamicObject,TypeNull> > > > > >+BE c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\cells\cellimpl.h line 69
0000000140A78755 00000000D80FE900 Cell::VisitAllObjects<Trinity::UnitListSearcher<Trinity::WorldObjectSpellAreaTargetCheck> >+F5 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\grids\cells\cellimpl.h line 215
0000000140A765B3 00000000D80FEBA0 UnitAura::FillTargetMap+493 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\spells\auras\spellauras.cpp line 2565
0000000140A6B772 00000000D80FF200 Aura::UpdateTargetMap+A2 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\spells\auras\spellauras.cpp line 563
0000000140A6CA34 00000000D80FF250 Aura::UpdateOwner+104 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\spells\auras\spellauras.cpp line 735
00000001407A8315 00000000D80FF490 Unit::_UpdateSpells+1F5 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\entities\unit\unit.cpp line 3076
000000014076B91D 00000000D80FF4E0 Unit::Update+5D c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\entities\unit\unit.cpp line 431
0000000140373B1F 00000000D80FF8A0 Player::Update+18F c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\entities\player\player.cpp line 1058
0000000140962BB0 00000000D80FFB20 Map::Update+300 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\maps\map.cpp line 786
0000000140FC650C 00000000D80FFB50 MapUpdateRequest::call+3C c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\maps\mapupdater.cpp line 43
0000000140FC3F56 00000000D80FFBA0 MapUpdater::WorkerThread+66 c:\users\adm.nexus\desktop\tc clean\tcnew\trinitycore\src\server\game\maps\mapupdater.cpp line 115
0000000140FC4494 00000000D80FFBD0 std::_Invoker_pmf_pointer::_Call<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64>+34 c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\type_traits line 1790
0000000140FC4EEC 00000000D80FFC10 std::invoke<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64>+4C c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\type_traits line 1790
0000000140FC45FB 00000000D80FFC50 std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64>,std::default_delete<std::tuple<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64> > > >::_Execute<0,1>+5B c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\thr\xthread line 241
0000000140FC632A 00000000D80FFCA0 std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64>,std::default_delete<std::tuple<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64> > > >::_Run+6A c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\thr\xthread line 247
0000000140FC5CE8 00000000D80FFCD0 std::_LaunchPad<std::unique_ptr<std::tuple<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64>,std::default_delete<std::tuple<void (__cdecl MapUpdater::*)(void) __ptr64,MapUpdater * __ptr64> > > >::_Go+28 c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\thr\xthread line 233
000000013F87095D 00000000D80FFD00 std::_Pad::_Call_func+2D c:\program files (x86)\microsoft visual studio\2017\community\vc\tools\msvc\14.11.25503\include\thr\xthread line 211
000007FEE64E8D48 00000000D80FFD40 _register_onexit_function+488
000007FEE64E8991 00000000D80FFD90 _register_onexit_function+D1
00000000774059CD 00000000D80FFDC0 BaseThreadInitThunk+D
000000007763A561 00000000D80FFE10 RtlUserThreadStart+21
https://github.com/TrinityCore/TrinityCore/blob/ec916db294760576ef4466d7e558f038dacecf20/src/server/game/Entities/Object/Object.h#L370-L374
https://github.com/TrinityCore/TrinityCore/blob/ec916db294760576ef4466d7e558f038dacecf20/src/server/game/Entities/Object/Object.cpp#L1674-L1677
https://github.com/TrinityCore/TrinityCore/blob/ec916db294760576ef4466d7e558f038dacecf20/src/server/game/Entities/Object/Object.cpp#L1588-L1597
https://github.com/TrinityCore/TrinityCore/blob/ec916db294760576ef4466d7e558f038dacecf20/src/server/game/Spells/SpellInfo.cpp#L1635-L1642
https://github.com/TrinityCore/TrinityCore/blob/ec916db294760576ef4466d7e558f038dacecf20/src/server/game/Spells/Spell.cpp#L7859-L7862
https://github.com/TrinityCore/TrinityCore/blob/ec916db294760576ef4466d7e558f038dacecf20/src/server/game/Spells/Spell.cpp#L7937-L7954
edit: These are only from the first 6 lines of your crash log, so I haven't looked up what hides behind the rest of the lines.
please post the full crashlog
I only have access to the crash log from my development realm until tomorrow, so I'll post the crash log from that. It's a fresh core except work I have done to Mimiron, which I temporarily reverted for the crash test, everything else is exactly the same.
My phone can't handle copying the entire thing so I'll upload it on Google drive
https://drive.google.com/file/d/1gtjuMypWghzxjRKmy0LP3khlRYBHITc9/view?usp=drivesdk
Edit: This is the Devotion Aura crash btw. If it's interesting I can upload the player dump as well, since that dump caused crashes between both live and test.
Copied to gist (for those who find it easier to deal with that format):
https://gist.github.com/tkrokli/f5ef419dd83d3694adba04063e2797e0#file-3eab2d7efcc2-_worldserver_exe_27-2_20-30-39-txt
This crash is strange... in your log casterguid != ownerguid, and area auras have caster == owner.
Try applying #21395 for a while
Alright, I'll pull it in soon-ish and see what happens :) Would the character dump causing the crash be of any interest?
Try to see if copying the character to another account and logging in (on that other account) also crashes. In that case send me the dump
Yeah, it does, tested it between two separate world servers and accounts entirely and it caused the same crash heh. Want me to PM you the DL link in IRC?
Ok
Most helpful comment
(Possibly the lines do not match because I work on something)