|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
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. |
 |
|
 |

06-07-2009, 11:50 AM
|
Developer
|
|
Join Date: Feb 2004
Location: UK
Posts: 1,540
|
|
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)
|
 |
|
 |

06-07-2009, 12:45 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Ok, I am going to try this within the hour. And thanks for taking the time to message back.
|
 |
|
 |

06-07-2009, 05:08 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
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
|
 |
|
 |

06-07-2009, 05:13 PM
|
Developer
|
|
Join Date: Feb 2004
Location: UK
Posts: 1,540
|
|
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..
|

06-07-2009, 07:50 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Yeah looking at the newest SVN, it looks like he is checking the dual wield differently now.
|

06-07-2009, 08:00 PM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Quote:
Originally Posted by Derision
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.
|

06-08-2009, 08:26 AM
|
 |
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
Quote:
Originally Posted by Derision
|
Is this just for that one file, or the entire instance branch ? I guess I did not get the memo.
|
Thread Tools |
|
Display Modes |
Hybrid Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 06:12 AM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |