EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Linux Servers (https://www.eqemulator.org/forums/forumdisplay.php?f=618)
-   -   Linux Runtime Error (https://www.eqemulator.org/forums/showthread.php?t=5917)

krusher 03-13-2003 08:52 AM

Linux Runtime Error
 
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

close but no cigar
 
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

Code:

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

Code:

#!/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

thanks bigpull
 
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

LoadEMuShareMemDLL::Load() failed error=Segmentation fault
 
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.


All times are GMT -4. The time now is 09:37 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.