Linux, Debian - Segmentation Fault. Prosz

Konfiguracja serwerów, usług, itp.
Arson
Posty: 5
Rejestracja: 05 stycznia 2014, 10:48

Linux, Debian - Segmentation Fault. Proszę o pomoc

Post autor: Arson »

Witam wszystkich, mam problem z uruchomieniem serwera gry na moim serwerze VPS, Linux Debian 7, 64 bit. Kompilacja przebiegła pomyślnie, po uruchomieniu aplikacji na sam koniec pojawia się komunikat "Segmentation Fault"


Konsola:
> Data parsing time: 0.28 seconds.
> Houses synchronization time: 0.081 seconds.
> Content unserialization time: 0.511 seconds.
>> Checking world type... PvP-Enforced
>> Initializing game state modules and registering services...
[New Thread 0x7ffff362e700 (LWP 17723)]
> Global address: *******
> Local ports: 7171 7172
>> All modules were loaded, server is starting up...
> Logging output to file: data/logs/out.log
> Logging errors to file: data/logs/error.log

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff485c700 (LWP 17720)]
0x0000000000000000 in ?? ()
(gdb)

Kod: Zaznacz cały

(gdb)  bt full
#0  0x0000000000000000 in ?? ()
No symbol table info available.
#1  0x00007ffff702aca4 in std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#2  0x000000000047523a in ?? ()
No symbol table info available.
#3  0x00007ffff485bcf0 in ?? ()
No symbol table info available.
#4  0x00007ffff65641a0 in ?? () from /lib/x86_64-linux-gnu/libpthread.so.0
No symbol table info available.
#5  0x00007fffec001040 in ?? ()
No symbol table info available.
#6  0x00007ffff680bf8a in gettimeofday ()
    at ../sysdeps/unix/sysv/linux/x86_64/gettimeofday.S:37
No locals.
#7  0x00007ffff680ea65 in ftime (timebuf=0x7fffec000a00)
    at ../sysdeps/unix/bsd/ftime.c:29
        tv = {tv_sec = 1388582648, tv_usec = 571292}
        tz = {tz_minuteswest = -335541760, tz_dsttime = 32767}
#8  0x000000000082ed60 in ?? ()

Proszę o pomoc, nikt nie potrafi mi pomóc...Logi nie pokazują niczego co mogłoby naprowadzić mnie na przyczynę problemu, ręce opadają.. Nie wiem czy przyczyna leży po stronie mojego silnika gry (w żródłach) czy też jest to wina konfiguracj serwera VPS.
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Post autor: pone13 »

Skoro to twój silnik to skomplikuj go z informacjami do debugowania (opcja gcc -g) i przepuść przez gdb.
Arson
Posty: 5
Rejestracja: 05 stycznia 2014, 10:48

Post autor: Arson »

Proszę jaśniej, jestem początkujący na Linuxie i znam tylko najważniejsze komendy, które umożliwiły mi kompilację silnika ale niestety to wszystko. Byłbym bardzo wdzięczny za bardziej szczegółowe informacje jak tego dokonać. Pozdrawiam
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Post autor: pone13 »

Skompilowało się bez żadnych błędów?
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Post autor: pone13 »

Jeżeli kod nie jest twojego autorstwa sprawdziłbym na stronie projektu wymagane wersje bibliotek i porównał z wersjami zainstalowanymi u ciebie.
Warto zadbać żeby były możliwie takie same.
Arson
Posty: 5
Rejestracja: 05 stycznia 2014, 10:48

Post autor: Arson »

Rozumiem, cały kod nie jest mojego autorstwa, jest to tylko moja edycja dla własnych potrzeb, a w żródłach mam takie informacje:
[ COMPILING
GNU\Linux - Debian (...and forks, eg. Ubuntu)
A detailed and always up-to-date tutorial may be found here:
http://otland.net/f137/linux-ultimat...included-2868/

Root
You need to get on root user or use sudo for almost all below operations.

Download required packages
Launch a terminal, and paste in the following commands:
apt-get install libboost1.38-dev libboost-system1.38-dev libboost-filesystem1.38-dev libboost-date-time1.38-dev libboost-regex1.38-dev libboost-thread1.38-dev libgmp3-dev liblua5.1-0 liblua5.1-0-dev liblua50 liblua50-dev liblualib50 liblualib50-dev lua50 lua5.1 libsqlite0-dev libsqlite3-dev sqlite3 libmysql++-dev libmysqlclient15-dev mysql-client-5.0 mysql-server-5.0 mysql-common libxml2-dev libxml++2.6-dev cpp gcc g++ make automake autoconf pkg-config subversion liblua5.1-sql-mysql-dev liblua5.1-sql-sqlite3-dev zlib1g-dev zlib1g

Download sources
Launch a terminal, and paste in this command:
svn co http://svn.otland.net/public/forgott.../tags/0.3.6pl1

Compiling
Launch a terminal, and type this:
cd 0.3.6pl1 && ./autogen.sh && ./configure --enable-sqlite --enable-server-diag && make

Linker error
If you receive a linker error saying something with 'libboost', try pasting the following commands to terminal and then move back to compiling again:
wget http://garr.dl.sourceforge.net/sourc...o_1_0_0.tar.gz
tar -xzf boost_asio_1_0_0.tar.gz
cp -ar boost_asio_1_0_0/boost/* /usr/include/boost/
g++ boost_asio_1_0_0/libs/system/src/error_code.cpp -c -o /usr/lib/libboost_system.a
ln /usr/lib/libboost_regex-mt.so /usr/lib/libboost_regex.so
ln /usr/lib/libboost_regex-mt.a /usr/lib/libboost_regex.a
ln /usr/lib/libboost_thread-mt.so /usr/lib/libboost_thread.so
ln /usr/lib/libboost_thread-mt.a /usr/lib/libboost_thread.a
ln /usr/lib/libboost_filesystem-mt.so /usr/lib/libboost_filesystem.so
ln /usr/lib/libboost_filesystem-mt.a /usr/lib/libboost_filesystem.a
ln /usr/lib/libboost_date_time-mt.so /usr/lib/libboost_date_time.so
ln /usr/lib/libboost_date_time-mt.a /usr/lib/libboost_date_time.a
rm -rf boost_asio_1_0_0 boost_asio_1_0_0.tar.gz
Niestety, gdy próbuję użyć tych samych bibliotek to mam błędy, z tego względu że korzystam z nowszej wersji Debiana oraz jądra.
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Post autor: pone13 »

Jesteś pewnie że twoje poprawki w kodzie są poprawne? Kompilowałeś poprawiony kod już wcześniej, być może na innej maszynie i wszystko działało bez zarzutu?
Arson
Posty: 5
Rejestracja: 05 stycznia 2014, 10:48

Post autor: Arson »

Nie ma pewności, że to właśnie moje edycje powodują ten błąd, kompilowałem już silnik po moich edycjach ale tylko na Windowsie i wszystko przebiegało bezbłędnie.
Awatar użytkownika
pone13
Beginner
Posty: 337
Rejestracja: 30 listopada 2007, 20:59
Lokalizacja: Leszno

Post autor: pone13 »

Całość kompiluje się bez błędów i ostrzeżeń? Wklej może wynik kompilacji.
Spróbuj również skompilować kod bez twoich poprawek i sprawdź czy wtedy działa.
Arson
Posty: 5
Rejestracja: 05 stycznia 2014, 10:48

Post autor: Arson »

Podczas kompilacji wynalazłem tylko ten błąd:
monster.cpp: In member function ‘virtual void Monster::doAttacking(uint32_t)’:
monster.cpp:621:26: warning: variable ‘outOfRange’ set but not used [-Wunused-but-set-variable]
Nie przeszkodził on w dalszej części kompilacji.

Przeprowadziłem na nowo całą kompilację i jest to samo, wynik z gdb:
#0 0x0000000009aed130 in ?? ()
No symbol table info available.
#1 0x00007ffff6d7fca4 in std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#2 0x00007ffff6d7ff2f in std::basic_ostream<char, std::char_traits<char> >& std: :o perator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#3 0x0000000000533676 in ?? ()
No symbol table info available.
#4 0x0000000000881388 in ?? ()
No symbol table info available.
#5 0x00007ffff7ffe520 in ?? ()
No symbol table info available.
#6 0x0000000009aeb958 in ?? ()
No symbol table info available.
#7 0x00007ffff7e68560 in ?? ()
No symbol table info available.
#8 0x0000000009aeb980 in ?? ()
No symbol table info available.
#9 0x00000000009fb1d0 in ?? ()
No symbol table info available.
#10 0x0000000000880fa0 in ?? ()
No symbol table info available.
#11 0x0000000000880fa8 in ?? ()
No symbol table info available.
#12 0x0000000000880fa8 in ?? ()
No symbol table info available.
#13 0x00007ffff7e68560 in ?? ()
No symbol table info available.
#14 0x00000000005db210 in ?? ()
No symbol table info available.
#15 0x0000000000881000 in ?? ()
No symbol table info available.
#16 0x0000000000881050 in ?? ()
No symbol table info available.
#17 0x0000000000881100 in ?? ()
No symbol table info available.
#18 0x7ffffffffffffffe in ?? ()
No symbol table info available.
#19 0x00007ffff7ffe500 in ?? ()
No symbol table info available.
#20 0x0000000000000000 in ?? ()
No symbol table info available.
ODPOWIEDZ