Jump to content

[Crash] Dual spect crash full ...


Auntie Mangos

Recommended Posts

  • 40 years later...

Hello all, thanks for your job about dual spect but this modification make full crash, with last version and no custum crash i have too too too many crash:

Core was generated by `./mangos-worldd'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000006afeaa in Player::ActivateSpec (this=0x7faa04a9dee0, specNum=<value optimized out>)
   at ../../../src/game/Player.cpp:21806
21806                    if (talent.m_talentEntry->RankID[r])
#0  0x00000000006afeaa in Player::ActivateSpec (this=0x7faa04a9dee0, specNum=<value optimized out>)
   at ../../../src/game/Player.cpp:21806
       r = 3
       iterTempSpec = {<std::tr1::__detail::_Hashtable_iterator_base<std::Pair<unsigned int const, PlayerTalent>, false>> = {
           _M_cur_node = 0x1000, _M_cur_bucket = 0x7faa06129578}, <No data fields>}
       tempSpec = {<std::tr1::__unordered_map<unsigned int, PlayerTalent, std::tr1::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, false>> = {<std::tr1::_Hashtable<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true>> = {<std::tr1::__detail::_Rehash_base<std::tr1::__detail::_Prime_rehash_policy, std::tr1::_Hashtable<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >> = {<No data fields>}, <std::tr1::__detail::_Hash_code_base<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, false>> = {
               _M_extract = {<std::unary_function<std::Pair<unsigned int const, PlayerTalent>, unsigned int const>> = {<No data fields>}, <No data fields>}, _M_eq = {<std::binary_function<unsigned int, unsigned int, bool>> = {<No data fields>}, <No data fields>}, 
               _M_h1 = {<std::unary_function<unsigned int, unsigned long>> = {<No data fields>}, <No data fields>}, 
               _M_h2 = {<No data fields>}}, <std::tr1::__detail::_Map_base<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, true, std::tr1::_Hashtable<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >> = {<No data fields>}, 
             _M_node_allocator = {<__gnu_cxx::new_allocator<std::tr1::__detail::_Hash_node<std::Pair<unsigned int const, PlayerTalent>, false> >> = {<No data fields>}, <No data fields>}, _M_buckets = 0x7faa06129520, _M_bucket_count = 11, 
             _M_element_count = 0, _M_rehash_policy = {_M_max_load_factor = 1, _M_growth_factor = 2, 
               _M_next_resize = 11}}, <No data fields>}, <No data fields>}
       pw = <value optimized out>
#1  0x00000000006f68f0 in Spell::DoSpellHitOnUnit (this=0x7faa05e4bd40, unit=0x7faa04a9dee0, effectMask=1)
   at ../../../src/game/Spell.cpp:1228
       effectNumber = 0
       realCaster = 0x7faa04a9dee0
#2  0x00000000006f6ddb in Spell::DoAllEffectOnTarget (this=0x7faa05e4bd40, target=0xcff6) at ../../../src/game/Spell.cpp:984
       mask = 4294967264
       unit = 0x7faa04a9dee0
       real_caster = 0x7faa04a9dee0
       caster = 0x7faa04a9dee0
       missInfo = SPELL_MISS_NONE
       procVictim = 131072
       procAttacker = 65536
       procEx = <value optimized out>

It's append when some player whant tu change spec and active them ...

For this crash i have make hard modification in player.cpp for the function: void Player::ActivateSpec(uint8 specNum)

void Player::ActivateSpec(uint8 specNum)
{
/*
...
*/
}

What appened ? ...

Thanks and sorry for my english but i am french ...

Link to comment
Share on other sites

Hello, sorry for bumps but there is some crash too with last rev ...

[New Thread 11826]
[New Thread 11902]
[New Thread 11828]
[New Thread 11830]
[New Thread 11901]
[New Thread 11829]
[New Thread 11900]
Core was generated by `./bin/mangos-worldd'.
Program terminated with signal 11, Segmentation fault.
#0  0x00000000006afeaa in Player::ActivateSpec (this=0x7faa04a9dee0, 
   specNum=<value optimized out>) at ../../../src/game/Player.cpp:21842
21842            specIter = m_talents[m_activeSpec].find(tempIter->first);
#0  0x00000000006afeaa in Player::ActivateSpec (this=0x7faa04a9dee0, 
   specNum=<value optimized out>) at ../../../src/game/Player.cpp:21842
       specIter = {<std::tr1::__detail::_Hashtable_iterator_base<std::Pair<unsigned int const, PlayerTalent>, false>> = {_M_cur_node = 0x1000, _M_cur_bucket = 0x7faa06129578}, <No data fields>}
       tempSpec = {<std::tr1::__unordered_map<unsigned int, PlayerTalent, std::tr1::hash<unsigned int>, std::equal_to<unsigned int>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, false>> = {<std::tr1::_Hashtable<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true>> = {<std::tr1::__detail::_Rehash_base<std::tr1::__detail::_Prime_rehash_policy, std::tr1::_Hashtable<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >> = {<No data fields>}, <std::tr1::__detail::_Hash_code_base<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, false>> = {
               _M_extract = {<std::unary_function<std::Pair<unsigned int const, PlayerTalent>, unsigned int const>> = {<No data fields>}, <No data fields>}, 
               _M_eq = {<std::binary_function<unsigned int, unsigned int, bool>> = {<No data fields>}, <No data fields>}, 
               _M_h1 = {<std::unary_function<unsigned int, unsigned long>> = {<No data fields>}, <No data fields>}, 
               _M_h2 = {<No data fields>}}, <std::tr1::__detail::_Map_base<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, true, std::tr1::_Hashtable<unsigned int, std::Pair<unsigned int const, PlayerTalent>, std::allocator<std::Pair<unsigned int const, PlayerTalent> >, std::_Select1st<std::Pair<unsigned int const, PlayerTalent> >, std::equal_to<unsigned int>, std::tr1::hash<unsigned int>, std::tr1::__detail::_Mod_range_hashing, std::tr1::__detail::_Default_ranged_hash, std::tr1::__detail::_Prime_rehash_policy, false, false, true> >> = {<No data fields>}, 
             _M_node_allocator = {<__gnu_cxx::new_allocator<std::tr1::__detail::_Hash_node<std::Pair<unsigned int const, PlayerTalent>, false> >> = {<No data fields>}, <No data fields>}, 
             _M_buckets = 0x7faa06129520, _M_bucket_count = 11, _M_element_count = 0, 
             _M_rehash_policy = {_M_max_load_factor = 1, _M_growth_factor = 2, 
               _M_next_resize = 11}}, <No data fields>}, <No data fields>}
       pw = <value optimized out>
#1  0x00000000006f68f0 in Spell::DoSpellHitOnUnit (this=0x7faa05e4bd40, unit=0x7faa04a9dee0, 
   effectMask=1) at ../../../src/game/Spell.cpp:1119
       realCaster = 0x7faa04a9dee0
#2  0x00000000006f6ddb in Spell::DoAllEffectOnTarget (this=0x7faa05e4bd40, 
   target=<value optimized out>) at ../../../src/game/Spell.cpp:1107
       mask = <value optimized out>
       unit = 0x7faa04a9dee0
       real_caster = 0x7faa04a9dee0
       caster = 0x7faa04a9dee0
       missInfo = SPELL_MISS_NONE
       procVictim = 131072
       procAttacker = 65536
       procEx = <value optimized out>
#3  0x0000000000709224 in ?? () at ../../../src/game/Spell.cpp:2942
No symbol table info available.
#4  0x0000000000000000 in ?? ()
No symbol table info available.


Link to comment
Share on other sites

0x00000000006afeaa in Player::ActivateSpec (this=0x7faa04a9dee0,

specNum=<value optimized out>) at ../../../src/game/Player.cpp:21842

21842 specIter = m_talents[m_activeSpec].find(tempIter->first);

Mybe you have some bad files in your DBC .

Interesting , I will test it soon

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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