N0ctrnl
05-28-2015, 11:29 AM
Hey all. So I've been having some random zone crashes lately. I have core files, but I admit I'm no good with gdb. If anybody can help guide me on debugging, I'd greatly appreciate it.
Here's what I've got from what little I have done in gdb so far
[root@freeport server]# gdb zone core.18529
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-64.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /ssd/server/zone...done.
[New LWP 18529]
[New LWP 18537]
[New LWP 18536]
[New LWP 18535]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./zone dynamic_13 zone'.
Program terminated with signal 11, Segmentation fault.
#0 IsBlankSpellEffect (spellid=65535, effect_index=effect_index@entry=2) at /root/Server/common/spdat.cpp:479
479 formula = spells[spellid].formula[effect_index];
(gdb) backtrace full
#0 IsBlankSpellEffect (spellid=65535, effect_index=effect_index@entry=2) at /root/Server/common/spdat.cpp:479
effect = <optimized out>
base = 65535
formula = 2
#1 0x00000000009f9c5e in Mob::DoBuffTic (this=this@entry=0x4513b40, buff=..., slot=slot@entry=0, caster=0x4e2b870) at /root/Server/zone/spell_effects.cpp:3442
i = 2
effect = <optimized out>
effect_value = <optimized out>
spell = <optimized out>
#2 0x00000000009f1d19 in Mob::BuffProcess (this=this@entry=0x4513b40) at /root/Server/zone/spell_effects.cpp:3363
buffs_i = 0
buff_count = 26
#3 0x0000000000910440 in NPC::Process (this=0x4513b40) at /root/Server/zone/npc.cpp:593
bonus = <optimized out>
OOCRegen = <optimized out>
this = 0x4513b40
#4 0x0000000000738bfc in EntityList::MobProcess (this=0x1934700 <entity_list>) at /root/Server/zone/entity.cpp:472
id = 633
mob = 0x4513b40
p_val = true
#5 0x00000000006250e3 in main (argc=<optimized out>, argv=<optimized out>) at /root/Server/zone/net.cpp:424
retval = <optimized out>
eqss = std::shared_ptr (empty) 0x0
zone_name = <optimized out>
mmf = 0x37b8ea0
worldwasconnected = true
IDLEZONEUPDATE = 200 '\310'
ZONEUPDATE = 10 '\n'
Config = 0x37b3ed0
lua_parser = 0x38789b0
perl_parser = 0x3879440
InterserverTimer = {start_time = 36787598, timer_time = 10000, enabled = true, set_at_trigger = 10000, pUseAcurateTiming = false}
eqsi = <optimized out>
stream_identifier = {m_patches = std::vector of length 12, capacity 16 = {0x41ce1e0, 0x40f64c0, 0x41c9900, 0x39ceb20, 0x41ca000, 0x39d02e0, 0x41ca910, 0x39cf0a0, 0x41cb220, 0x3bf3300, 0x41cb7c0,
0x41c9f20}, m_streams = std::vector of length 0, capacity 1, m_identified = std::queue wrapping: std::deque with 0 elements}
quest_timers = {start_time = 36795849, timer_time = 100, enabled = true, set_at_trigger = 100, pUseAcurateTiming = false}
zoneupdate_timer = {start_time = 36795861, timer_time = 10, enabled = true, set_at_trigger = 10, pUseAcurateTiming = false}
Any thoughts?
Here's what I've got from what little I have done in gdb so far
[root@freeport server]# gdb zone core.18529
GNU gdb (GDB) Red Hat Enterprise Linux 7.6.1-64.el7
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /ssd/server/zone...done.
[New LWP 18529]
[New LWP 18537]
[New LWP 18536]
[New LWP 18535]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Core was generated by `./zone dynamic_13 zone'.
Program terminated with signal 11, Segmentation fault.
#0 IsBlankSpellEffect (spellid=65535, effect_index=effect_index@entry=2) at /root/Server/common/spdat.cpp:479
479 formula = spells[spellid].formula[effect_index];
(gdb) backtrace full
#0 IsBlankSpellEffect (spellid=65535, effect_index=effect_index@entry=2) at /root/Server/common/spdat.cpp:479
effect = <optimized out>
base = 65535
formula = 2
#1 0x00000000009f9c5e in Mob::DoBuffTic (this=this@entry=0x4513b40, buff=..., slot=slot@entry=0, caster=0x4e2b870) at /root/Server/zone/spell_effects.cpp:3442
i = 2
effect = <optimized out>
effect_value = <optimized out>
spell = <optimized out>
#2 0x00000000009f1d19 in Mob::BuffProcess (this=this@entry=0x4513b40) at /root/Server/zone/spell_effects.cpp:3363
buffs_i = 0
buff_count = 26
#3 0x0000000000910440 in NPC::Process (this=0x4513b40) at /root/Server/zone/npc.cpp:593
bonus = <optimized out>
OOCRegen = <optimized out>
this = 0x4513b40
#4 0x0000000000738bfc in EntityList::MobProcess (this=0x1934700 <entity_list>) at /root/Server/zone/entity.cpp:472
id = 633
mob = 0x4513b40
p_val = true
#5 0x00000000006250e3 in main (argc=<optimized out>, argv=<optimized out>) at /root/Server/zone/net.cpp:424
retval = <optimized out>
eqss = std::shared_ptr (empty) 0x0
zone_name = <optimized out>
mmf = 0x37b8ea0
worldwasconnected = true
IDLEZONEUPDATE = 200 '\310'
ZONEUPDATE = 10 '\n'
Config = 0x37b3ed0
lua_parser = 0x38789b0
perl_parser = 0x3879440
InterserverTimer = {start_time = 36787598, timer_time = 10000, enabled = true, set_at_trigger = 10000, pUseAcurateTiming = false}
eqsi = <optimized out>
stream_identifier = {m_patches = std::vector of length 12, capacity 16 = {0x41ce1e0, 0x40f64c0, 0x41c9900, 0x39ceb20, 0x41ca000, 0x39d02e0, 0x41ca910, 0x39cf0a0, 0x41cb220, 0x3bf3300, 0x41cb7c0,
0x41c9f20}, m_streams = std::vector of length 0, capacity 1, m_identified = std::queue wrapping: std::deque with 0 elements}
quest_timers = {start_time = 36795849, timer_time = 100, enabled = true, set_at_trigger = 100, pUseAcurateTiming = false}
zoneupdate_timer = {start_time = 36795861, timer_time = 10, enabled = true, set_at_trigger = 10, pUseAcurateTiming = false}
Any thoughts?