PDA

View Full Version : SegFault Backtrace



fransick
03-23-2014, 07:11 PM
I've pretty much eliminated segfaults by disabling the OP_ExpUpdate opcode in zoneopcodes.xml but am curious as to what's happening so snagged the following backtrace.


Program received signal SIGSEGV, Segmentation fault.
0x081122d8 in GroupMgr::totalLevels (this=0x8476218) at group.cpp:368
368 total += m_members[i]->m_spawn->level();
Missing separate debuginfos, use: debuginfo-install expat-2.0.1-10.fc13.i686 fontconfig-2.8.0-2.fc14.i686 freetype-2.4.2-7.fc14.i686 glibc-2.13-2.i686 lcms-libs-1.19-2.fc14.i686 libICE-1.0.6-2.fc13.i686 libSM-1.1.0-7.fc12.i686 libX11-1.3.4-4.fc14.i686 libXau-1.0.6-1.fc14.i686 libXcursor-1.1.10-5.fc14.i686 libXext-1.1.2-2.fc14.i686 libXfixes-4.0.5-1.fc14.i686 libXft-2.1.14-1.fc13.i686 libXi-1.3.2-1.fc14.i686 libXinerama-1.1-2.fc13.i686 libXrandr-1.3.0-5.fc13.i686 libXrender-0.9.6-1.fc14.i686 libgcc-4.5.1-4.fc14.i686 libjpeg-turbo-1.1.1-1.fc14.i686 libmng-1.0.10-4.fc12.i686 libpcap-1.1.1-3.fc14.i686 libpng-1.2.46-1.fc14.i686 libstdc++-4.5.1-4.fc14.i686 libuuid-2.18-4.8.fc14.i686 libxcb-1.7-1.fc14.i686 qt3-3.3.8b-37.fc14.i686 zlib-1.2.5-2.fc14.i686
(gdb) bt
#0 0x081122d8 in GroupMgr::totalLevels (this=0x8476218) at group.cpp:368
#1 0x080edc94 in ExperienceWindow::addExpRecord (this=0x841b0f0, mob_name=..., mob_level=0, xp_gained=0, zone_name=...) at experiencelog.cpp:295
#2 0x080ee9fd in ExperienceWindow::qt_invoke (this=0x841b0f0, _id=61, _o=0xbfffc18c) at experiencelog.moc:118
#3 0x06998642 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#4 0x080fa1eb in Player::expGained (this=0x8499d20, t0=..., t1=0, t2=0, t3=...) at player.moc:596
#5 0x080fa3e8 in Player::updateExp (this=0x8499d20, data=0x9ecf655 "9\001") at player.cpp:678
#6 0x080fcad4 in Player::qt_invoke (this=0x8499d20, _id=15, _o=0xbfffc390) at player.moc:737
#7 0x06998642 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#8 0x0809086f in EQPacketDispatch::signal (this=0x8435550, t0=0x9ecf655 "9\001", t1=8, t2=2 '\002') at packetinfo.moc:99
#9 0x0808a129 in EQPacketStream::dispatchPacket (this=0x82f9748, data=0x9ecf655 "9\001", len=8, opCode=18081, opcodeEntry=0x83be398) at packetstream.cpp:435
#10 0x0808c47a in EQPacketStream::processPacket (this=0x82f9748, packet=..., isSubpacket=true) at packetstream.cpp:719
#11 0x0808c75a in EQPacketStream::processPacket (this=0x82f9748, packet=..., isSubpacket=false) at packetstream.cpp:807
#12 0x0808cea0 in EQPacketStream::handlePacket (this=0x82f9748, packet=...) at packetstream.cpp:572
#13 0x080934c2 in EQPacket::dispatchPacket (this=0x8317a20, packet=...) at packet.cpp:659
#14 0x08095d95 in dispatchPacket (this=0x8317a20) at packet.cpp:583
#15 EQPacket::processPackets (this=0x8317a20) at packet.cpp:400
#16 0x08096070 in EQPacket::qt_invoke (this=0x8317a20, _id=2, _o=0xbfffe768) at packet.moc:577
#17 0x06998642 in QObject::activate_signal(QConnectionList*, QUObject*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#18 0x06998724 in QObject::activate_signal(int) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x06cdfc5a in QTimer::timeout() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x069b8e3e in QTimer::event(QEvent*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x06936ffd in QApplication::internalNotify(QObject*, QEvent*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x0693718b in QApplication::notify(QObject*, QEvent*) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x0692b23c in QEventLoop::activateTimers() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#24 0x068e6182 in QEventLoop::processEvents(unsigned int) () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#25 0x0694cb50 in QEventLoop::enterLoop() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#26 0x0694cad7 in QEventLoop::exec() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#27 0x06937d20 in QApplication::exec() () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#28 0x08067a8b in main (argc=3, argv=0xbffff3f4) at main.cpp:737

Perhaps someone will happen across this post and be able to help out as the Heroic Characters seem to have brought some old timers back to EQ to check it out. It's beyond my very, very limited programming skills. Everything I know I learned here haha.

BlueAdept
03-25-2014, 06:56 PM
I would suggest that you contact ieatacid on MQ forums and see if he could help you. He is really the only one, that I know of, with in depth knowledge of SEQ that is still around.

purple
03-27-2014, 11:19 AM
I'm long gone but honestly does anyone still actually care about the exp stuff? Just turn it off and stop worrying about it. If you keep skittles and spawn list working you've made a vast majority of your audience happy.

That bug looks more like an issue with the group manager which keeps track of your group. Either it has a null spawn in the member array or incorrect number of people in your group. More than likely, the group opcodes are wrong so it's doing a bad job of keeping track of your group and then crashing when it tries to use that data for other things.

fransick
03-27-2014, 12:35 PM
You are spot on Purple... I suspect no one cares since exp hasn't worked in eons, and you are correct, the group opcode is not right and they may have changed the struct too. I enjoy chasing these things down more than actually playing these days. I have secret ambitions to actually learn c++ and working on SEQ quells that feeling quickly as I realize how little I actually understand haha. Just enough to be dangerous!

BlueAdept
03-27-2014, 03:15 PM
Hi purple. I didn't know you were still around. Good to see you. Didn't mean to exclude you from the list of people who know the source intimately.