PDA

View Full Version : Linux Runtime Error


krusher
03-13-2003, 08:52 AM
I have this problem when running with the Share Mem compiled in...

Using database 'eq' at xxx.xxx.com ( masked out )
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.3
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.3
Loading Variables, zone names & items...
EMuShareMem.dll loaded.
Could not create r/w share... r/o attach check failed, exiting!id=0 key:1227955832
Segmentation fault


Any help would be greatly appreciated...

kabalah
03-13-2003, 03:10 PM
i don't even get that far......
Using database 'eq' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.3
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.3
Loading Variables, zone names & items...
LoadEMuShareMemDLL::Load() failed error=Segmentation fault
kabalah

Bigpull
03-15-2003, 04:38 PM
Krusher check out the latest cvs it should get you up and running, it'll default to allocateing non shared memory in most failure situations

(edit)
kabalah, same thing but no promises, yours looks like the libEMuShareMem.so didn't get built right if at all.

When in doubt.

rm core*
ulimit -c (big number here) 99999
./exec_that_crashes
ls core*
gdb --core=core(any extension it had) ./exec_that_crashes

when it stops scrolling type "backtrace" or "bt" and post the results

Ursine
03-16-2003, 03:03 PM
GNU gdb Red Hat Linux (5.2.1-4)
<snip>
Core was generated by `./world'.
<snip>
(gdb) bt
#0 0x4207a4cb in strlen () from /lib/i686/libc.so.6
#1 0x400afdb6 in std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (__out=@0x809ae98, __s=0x42126530 "p`\022Bd`\022Bd`\022B\003")
at /usr/src/build/146482-i386/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/bits/char_traits.h:135
#2 0x08084e30 in LoadEMuShareMemDLL::Load() (this=0x400da9ec)
at ../common/EMuShareMem.cpp:119
#3 0x08063112 in Database::LoadItems() (this=0x400da9ec)
at ../common/database.cpp:2682
#4 0x08075ccd in main (argc=134852248, argv=0xbffffa74) at net.cpp:187
#5 0x420158d4 in __libc_start_main () from /lib/i686/libc.so.6
(gdb)

Bigpull
03-18-2003, 07:18 PM
[edited]
This is what happens when you don't have the shared lib installed to a dir in your ld.so.conf or don't use LD_LIBRARY_PATH. Or in this case have a version mismatch, in this case it looks like your missing one of the functions in libEmuShareMem, loot tables were recently added.
Here is my startup script might help some of you


#!/bin/sh
WORLD=Change world ip/host
ZONE=Change to zone ip/host
mkdir -p logs 2>&1 > /dev/null
#mini#if [ ! -e .lock-login ] ; then
#mini# touch .lock-login
#mini# wine ./MiniLogin.exe > ../logs/login & )
#mini# sleep 30
#mini#fi
export LD_LIBRARY_PATH=`pwd`
if [ ! -e .lock-world ] ; then
touch .lock-world
./world 2>&1 > logs/world &
# slow servers
#sleep 5
fi
if [ ! -e .lock-zones ] ; then
touch .lock-zones
./zone qeynos $ZONE 7995 $WORLD 2>&1 > logs/qeynos.log &
./zone cshome $ZONE 7996 $WORLD 2>&1 > logs/cshome.log &
fi

if [ foo"" != foo"$1" ] ; then
for i in "$@" ; do
./zone . $ZONE $i $WORLD 2>&1 > logs/zones &
done
fi

kabalah
03-19-2003, 05:33 AM
yes, you are exactly correct. last night i did some experimenting, and i came up with the same conclusion. after setting my LD_LIBRARY_PATH to point to my eqemu shared lib my problem went away. i have noticed that when i shut down with worldshutdown that the zone servers don't exit and i get an error about an unexpected problem with a shared memory call...
have you seen this(with 0.4.4-dr1) or do you have any patches for that version?
kabalah

Trumpcard
03-19-2003, 06:34 AM
DR versions are not supported code. If a patch comes available, it wont be a patch, it will be a change that shows up in the CVS baseline, and you will need to pull down the updated CVS code and recompile.

We dont release patches for Development code. DR code is provided for those that want bleeding edge, and accept the nature of it, It as a rule is buggy and unstable. I would suggest reverting back to 0.4.3 if you have any problems.

steve
03-21-2003, 03:51 PM
I've tried the startup script, and it doesn't give any output at all.

World or zone doesn't start. If I try to manually start world I get:

Using database 'emu' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.3
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.3
Loading Variables, zone names & items...
LoadEMuShareMemDLL::Load() failed error=;

steve
03-21-2003, 03:58 PM
Well, I checked the cshome.log logfile in the logs/ directory and it says the following:

Using database 'emu' at localhost
[Status] CURRENT_ZONE_VERSION: EQEMu 0.4.3
[Error] CURRENT_ZONE_VERSION: EQEMu 0.4.3
[Status] Loading Variables
[Status] Loading zone names
[Status] Loading items
[Error] Loading items FAILED!

The world logfile shows:

Using database 'emu' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.3
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.3
Loading Variables, zone names & items...
Error: Could not load item data

The zone logfile shows:

Using database 'emu' at localhost
[Status] CURRENT_ZONE_VERSION: EQEMu 0.4.3
[Error] CURRENT_ZONE_VERSION: EQEMu 0.4.3

Any ideas?

steve
03-28-2003, 09:23 PM
*bump*

Forum burped and didn't mark as having a new post.

Bigpull
03-28-2003, 11:08 PM
LD_LIBRARY_PATH=`pwd` ./world

Says what?

PS: You shouldn't get any output with my startup script

steve
03-30-2003, 11:37 AM
steve@steve ~/emu-cvs/NightDumps/Source $ LD_LIBRARY_PATH=`pwd` ./world
Using database 'emutest' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.4-DR1
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.4-DR1
Loading Variables, zone names & items...
LoadEMuShareMemDLL::Load() failed error=Error: Could not load item data
steve@steve ~/emu-cvs/NightDumps/Source $

Udainius
04-04-2003, 07:50 AM
I can not seem to get past this point

Using database 'eq' at localhost
[Status] CURRENT_WORLD_VERSION:EQEMu 0.4.3
[Error] CURRENT_WORLD_VERSION:EQEMu 0.4.3
Loading Variables, zone names & items...
LoadEMuShareMemDLL::Load() failed error=Segmentation fault


I am running Linux 8.0 and compiling with gcc 3.2
I have loaded the combined database and tried to do some of the other things listed here and continue to get the same Segmentation fault.

I do not get a core dump so I can't gather that information.

Bigpull
04-04-2003, 09:29 AM
ulimit -c 99999
LD_LIBRARY_PATH=`pwd` strace -o zone.trace ./zone . External_ip Port World_ip

attach the zone.trace, and paste a gdb backtrace

Udainius
04-04-2003, 10:27 AM
It was ./world that was faulting so I hope this is what you needed. This is the bt from world once I got the core.

#0 0x4021a80b in strlen () from /lib/libc.so.6
#1 0x400b0db6 in std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) (__out=@0x809aef8, __s=0x402d6570 "pP-@dP-@dP-@\003")
at /usr/src/build/146482-i386/BUILD/gcc-3.2-20020903/obj-i386-redhat-linux/i386-redhat-linux/libstdc++-v3/include/bits/char_traits.h:135
#2 0x08084e74 in LoadEMuShareMemDLL::Load() (this=0x400db9ec)
at ../common/EMuShareMem.cpp:119
#3 0x08063156 in Database::LoadItems() (this=0x400db9ec)
at ../common/database.cpp:2682
#4 0x08075d11 in main (argc=134852344, argv=0xbfffeff4) at net.cpp:187
#5 0x401b4907 in __libc_start_main () from /lib/libc.so.6

Thanks for your help. I really appreciate it.

Udainius
04-04-2003, 11:59 AM
Here is the world.trace file from the strace. I couldn't run it witht he paramters you specified for zone. But I did include the PATH part of the statement.

Bigpull
04-04-2003, 02:30 PM
It's loading the wrong libEMuShareMem.so

Udainius
04-04-2003, 03:39 PM
Do you have any idea how I can straighten it out?

morpheus014
05-04-2003, 04:03 AM
Has anyone found a solution to this? I think that this is the same problem that I am having with compiling EMuShareMem for 0.4.3, I have also tried the CVS release but still get the errors.