Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 06-07-2009, 11:50 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

As you are running Linux, you are well placed to try and track this down.

In a command prompt, before you run the script to start your zones, issue the command:
Code:
ulimit -c unlimited
to enable core dumps.

Run eqlaunch to start the zones, then when you get a crash, you will have a file called core or core.nnnnn (where nnnnn is a number) in the same directory as your zone executable.

Next fire up gdb in the same directory with the zone executable and the core dump
Code:
gdb ./zone <core dump file name>
At the (gdb) prompt, issue the command bt full. This will display a backtrace of the sequence of calls that lead up to the crash. You can copy and paste that here.

e.g.
Code:
Core was generated by `./zone dynamic_01 zones'.
Program terminated with signal 6, Aborted.
#0  0xb7f50410 in ?? ()
(gdb) bt full
#0  0xb7f50410 in ?? ()
No symbol table info available.
#1  0xbfb0ae3c in ?? ()
No symbol table info available.
#2  0x00000006 in ?? ()
No symbol table info available.
#3  0xb7b93c69 in abort () from /lib/libc.so.6
No symbol table info available.
#4  0x0818544d in command_optest (c=0x86bb8b8, sep=0xbfb0afcc) at command.cpp:850
No locals.
#5  0x081921ed in command_realdispatch (c=0x86bb8b8, message=0x86e720c "#optest") at command.cpp:657
        sep = {argnum = 0, arg = 0x86ddd30, argplus = 0x86ddca0, msg = 0x84064b8 "#optest", maxargnum = 10}
        cstr = {static npos = 4294967295,
  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
    _M_p = 0x86b164c "optest"}}
        cur = (._232 *) 0x83a4808
#6  0x080f04f7 in Client::ChannelMessageReceived (this=0x86bb8b8, chan_num=8 '\b', language=0 '\0', lang_skill=100 'd',
    message=0x86e720c "#optest", targetname=0x86e7178 "") at client.cpp:846
        sender = <value optimized out>
#7  0x081beae6 in Client::Handle_OP_ChannelMessage (this=0x3da0, app=0x86b15b0) at client_packet.cpp:2725
No locals.
#8  0x081cfe5d in Client::HandlePacket (this=0x86bb8b8, app=0x86b15b0) at client_packet.cpp:428
        opcode = <value optimized out>
#9  0x080fc1bf in Client::Process (this=0x86bb8b8) at client_process.cpp:616
        ranged = <value optimized out>
        may_use_attacks = false
        auto_attack_target = <value optimized out>
        ret = true
        app = (class EQApplicationPacket *) 0x0
#10 0x080df1c6 in EntityList::MobProcess (this=0x831de40) at entity.cpp:476
        iterator = {list = @0x831de78, current_element = 0x86b1688, dir = FORWARD}
#11 0x08107359 in main (argc=Cannot access memory at address 0x3da0
) at net.cpp:494
        error2 = 95 '_'
        dbaw = <value optimized out>
        zone_name = 0x82ae9ca "."
        Config = (const ZoneConfig *) 0x838b4c0
        retval = <value optimized out>
        InterserverTimer = {start_time = 20024, timer_time = 10000, enabled = true, set_at_trigger = 10000, pUseAcurateTiming = false}
        stream_identifier = {m_patches = {<std::_Vector_base<EQStreamIdentifier::Patch*,std::allocator<EQStreamIdentifier::Patch*> >> = {
      _M_impl = {<std::allocator<EQStreamIdentifier::Patch*>> = {<__gnu_cxx::new_allocator<EQStreamIdentifier::Patch*>> = {<No data fields>}, <N---Type <return> to continue, or q <return> to quit---
o data fields>}, _M_start = 0x8496e48, _M_finish = 0x8496e60, _M_end_of_storage = 0x8496e68}}, <No data fields>},
  m_streams = {<std::_Vector_base<EQStreamIdentifier::Record*,std::allocator<EQStreamIdentifier::Record*> >> = {
      _M_impl = {<std::allocator<EQStreamIdentifier::Record*>> = {<__gnu_cxx::new_allocator<EQStreamIdentifier::Record*>> = {<No data fields>}, <No data fields>}, _M_start = 0x86b9888, _M_finish = 0x86b9888, _M_end_of_storage = 0x86b988c}}, <No data fields>}, m_identified = {
    c = {<std::_Deque_base<EQStreamInterface*,std::allocator<EQStreamInterface*> >> = {
        _M_impl = {<std::allocator<EQStreamInterface*>> = {<__gnu_cxx::new_allocator<EQStreamInterface*>> = {<No data fields>}, <No data fields>}, _M_map = 0x8420190, _M_map_size = 8, _M_start = {_M_cur = 0x842035c, _M_first = 0x8420358, _M_last = 0x8420558, _M_node = 0x842019c},
          _M_finish = {_M_cur = 0x842035c, _M_first = 0x8420358, _M_last = 0x8420558, _M_node = 0x842019c}}}, <No data fields>}}}
        quest_timers = {start_time = 23144, timer_time = 1000, enabled = true, set_at_trigger = 1000, pUseAcurateTiming = false}
        worldwasconnected = true
        eqss = (class EQStream *) 0x0
        eqsi = (EQStreamInterface *) 0x0
        temp_timer = {start_time = 23224, timer_time = 10, enabled = true, set_at_trigger = 10, pUseAcurateTiming = false}
(gdb)
Reply With Quote
  #2  
Old 06-07-2009, 12:45 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Ok, I am going to try this within the hour. And thanks for taking the time to message back.
Reply With Quote
  #3  
Old 06-07-2009, 05:08 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Thank you for looking at this. Took three BOSS kills but I witnessed it go down as I was GM standing in the one summoning the boss for him to kill. And letting you know my Debian is 32 bit,

Code:
GNU gdb 6.4.90-debian
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/tls/i686/cmov/libdl.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
Reading symbols from /usr/lib/libmysqlclient.so.15...done.
Loaded symbols for /usr/lib/libmysqlclient.so.15
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/tls/i686/cmov/libcrypt.so.1...done.
Loaded symbols for /lib/tls/i686/cmov/libcrypt.so.1
Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...done.
Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1
Reading symbols from /lib/tls/i686/cmov/libm.so.6...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /lib/tls/i686/cmov/libc.so.6...done.
Loaded symbols for /lib/tls/i686/cmov/libc.so.6
Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_dns.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_dns.so.2
Reading symbols from /lib/tls/i686/cmov/libresolv.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libresolv.so.2
Reading symbols from /usr/lib/libperl.so.5.8...done.
Loaded symbols for /usr/lib/libperl.so.5.8
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...done.
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /home/jkg/eqemu/libEMuShareMem.so...done.
Loaded symbols for ./libEMuShareMem.so
Core was generated by `./zone dynamic_04 zones'.
Program terminated with signal 11, Segmentation fault.
#0  0x08300670 in Mob::PET_Process (this=0xb10c3140) at petAI.cpp:156
156						if (attack_dw_timer.Check() && GetOwnerID() && ( GetOwner()->GetClass() == MAGICIAN || GetOwner()->GetClass() == NECROMANCER || GetOwner()->GetClass() == SHADOWKNIGHT || GetOwner()->GetClass() == BEASTLORD ) ) 
(gdb) (gdb) 
(gdb) (gdb) quit
Reply With Quote
  #4  
Old 06-07-2009, 05:13 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

petAI.cpp is Bot code, speak to Congdar

EDIT: The line number where the error occurred does not match up to the current version of petAI.cpp, so it is possible this may have been corrected, but as I say, Congdar is the guru of the bot code.

Last edited by Derision; 06-08-2009 at 01:20 AM..
Reply With Quote
  #5  
Old 06-07-2009, 07:50 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Yeah looking at the newest SVN, it looks like he is checking the dual wield differently now.
Reply With Quote
  #6  
Old 06-07-2009, 08:00 PM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by Derision View Post
petAI.cpp is Bot code, speak to Congdar

EDIT: The line number where the error occurred does not match up to the current version of petAI.cpp, so it is possible this may have been corrected, but as I say, Congdar is the guru of the bot code.
Actually I correct myself...it really does match up.

http://code.google.com/p/projecteqem...zone/petAI.cpp

Line 156 is identical.
Reply With Quote
  #7  
Old 06-08-2009, 02:10 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

The instance branch is no longer being updated, the latest version is in the trunk:

http://code.google.com/p/projecteqem...zone/petAI.cpp
Reply With Quote
  #8  
Old 06-08-2009, 08:26 AM
provocating's Avatar
provocating
Demi-God
 
Join Date: Nov 2007
Posts: 2,175
Default

Quote:
Originally Posted by Derision View Post
The instance branch is no longer being updated, the latest version is in the trunk:

http://code.google.com/p/projecteqem...zone/petAI.cpp
Is this just for that one file, or the entire instance branch ? I guess I did not get the memo.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 06:12 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3