#226 AddSpawnPointers crash (no zone)

已关闭
image4 年之前创建 · 0 条评论
image 评论于 4 年之前
#0  __GI___pthread_mutex_lock (mutex=mutex@entry=0x1ce0) at ../nptl/pthread_mutex_lock.c:67
#1  0x00005555556770ce in CriticalSection::lock (this=0x1ce0) at ../common/Mutex.cpp:340
#2  Mutex::readlock (this=this@entry=0x1ce0, function=function@entry=0x5555559bb4d0 <ZoneServer::GetSpawnByID(unsigned int, bool)::__FUNCTION__> "GetSpawnByID", line=line@entry=3592)
    at ../common/Mutex.cpp:84
#3  0x00005555556ad74b in ZoneServer::GetSpawnByID (this=0x0, id=<optimized out>, spawnListLocked=spawnListLocked@entry=false) at ../WorldServer/zoneserver.cpp:3592
#4  0x000055555572b78a in LuaInterface::AddSpawnPointers (this=0x555555af21a0, spell=spell@entry=0x7fff4452ff40, first_cast=first_cast@entry=false, precast=precast@entry=false, 
    function=<optimized out>, timer=0x7fffa777c790, passLuaSpell=false) at ../WorldServer/LuaInterface.cpp:567
#5  0x000055555570c8c6 in SpellProcess::ProcessSpell (this=this@entry=0x7fff52b759c0, spell=0x7fff4452ff40, first_cast=first_cast@entry=false, function=<optimized out>, timer=<optimized out>)
    at ../WorldServer/SpellProcess.cpp:433
#6  0x000055555570d5b6 in SpellProcess::CheckSpellScriptTimers (this=this@entry=0x7fff52b759c0) at /usr/include/c++/8/bits/basic_string.h:2290
#7  0x0000555555716495 in SpellProcess::Process (this=0x7fff52b759c0) at ../WorldServer/SpellProcess.cpp:117
#8  0x00005555556d0e30 in ZoneServer::Process (this=this@entry=0x7fff52a40990) at ../WorldServer/zoneserver.cpp:1357
#9  0x00005555556d4adf in ZoneLoop (tmp=0x7fff52a40990) at ../WorldServer/zoneserver.cpp:6707
#10 0x00007ffff7d83fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#11 0x00007ffff75ee4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

needs GetZone() nullptr check and removal of the double if statement

``` #0 __GI___pthread_mutex_lock (mutex=mutex@entry=0x1ce0) at ../nptl/pthread_mutex_lock.c:67 #1 0x00005555556770ce in CriticalSection::lock (this=0x1ce0) at ../common/Mutex.cpp:340 #2 Mutex::readlock (this=this@entry=0x1ce0, function=function@entry=0x5555559bb4d0 <ZoneServer::GetSpawnByID(unsigned int, bool)::__FUNCTION__> "GetSpawnByID", line=line@entry=3592) at ../common/Mutex.cpp:84 #3 0x00005555556ad74b in ZoneServer::GetSpawnByID (this=0x0, id=<optimized out>, spawnListLocked=spawnListLocked@entry=false) at ../WorldServer/zoneserver.cpp:3592 #4 0x000055555572b78a in LuaInterface::AddSpawnPointers (this=0x555555af21a0, spell=spell@entry=0x7fff4452ff40, first_cast=first_cast@entry=false, precast=precast@entry=false, function=<optimized out>, timer=0x7fffa777c790, passLuaSpell=false) at ../WorldServer/LuaInterface.cpp:567 #5 0x000055555570c8c6 in SpellProcess::ProcessSpell (this=this@entry=0x7fff52b759c0, spell=0x7fff4452ff40, first_cast=first_cast@entry=false, function=<optimized out>, timer=<optimized out>) at ../WorldServer/SpellProcess.cpp:433 #6 0x000055555570d5b6 in SpellProcess::CheckSpellScriptTimers (this=this@entry=0x7fff52b759c0) at /usr/include/c++/8/bits/basic_string.h:2290 #7 0x0000555555716495 in SpellProcess::Process (this=0x7fff52b759c0) at ../WorldServer/SpellProcess.cpp:117 #8 0x00005555556d0e30 in ZoneServer::Process (this=this@entry=0x7fff52a40990) at ../WorldServer/zoneserver.cpp:1357 #9 0x00005555556d4adf in ZoneLoop (tmp=0x7fff52a40990) at ../WorldServer/zoneserver.cpp:6707 #10 0x00007ffff7d83fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486 #11 0x00007ffff75ee4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 ``` needs GetZone() nullptr check and removal of the double if statement
image4 年之前 关闭
登录 并参与到对话中。
正在加载...
取消
保存
这个人很懒,什么都没留下。