.:: Bots United ::.

.:: Bots United ::. (http://forums.bots-united.com/index.php)
-   Sandbot (http://forums.bots-united.com/forumdisplay.php?f=85)
-   -   progress (http://forums.bots-united.com/showthread.php?t=10041)

RoboCop 05-11-2017 01:16

Re: progress
 
Quote:

Originally Posted by The Storm (Post 66910)
@RoboCop The list is are watching is just a backtrace, not a "huge list of errors". There is no really a reason to split the builds for Metamod and Non-Metamod. The code is isolated in checks and calls Metamod functions when loaded as plugin and the normal game/engine functions when is working standalone.

Well actually they are huge cos those backtrace errors seem to had multipled by that existing error and flooded my terminal over 35 lines...:surrender:

The Storm 05-11-2017 13:02

Re: progress
 
As I said, backtrace is not an error list. It just shows the last call-stack up to the crash.

tschumann 07-11-2017 12:52

Re: progress
 
Quote:

Originally Posted by RoboCop (Post 66912)
Well yes thanks to a bit of hint from Arkshine, he told me to test and engage GDB Debug mode is simply using this in the Terminal "$ LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" gdb ./hlds_linux"

Then type this in Terminal but don't use "./hlds_run", use "run -game gearbox -ip xx.xx.xx.xx +port 27015 +map op4_bootcamp +exec server.cfg -debug"

You can backtrace or get a full error crash log by typing "bt" as well rerunning the server using "run" (Nothing further as GDB stored the Startup Variables once after GDB is exited by typing "quit")

And "How about v0.4?" you say? Well I just did the tests and they don't seem to instantly crash as much as v0.4.1 did...

Okay, so v0.4 Half-Life is okay and v0.4 Opposing Force crashes in the waypoint code, and v0.4.1 Half-Life crashes only with MetaMod and v0.4.1 Opposing Force crashes due to undefined symbol. Lots going on.

I've got part of the way to debugging minidumps on Linux - I'll probably continue down this path (I do other Half-Life modding so I'll need to figure it out sooner or later). I might crank up the gcc warnings and see what I get.

tschumann 10-11-2017 13:30

Re: progress
 
Alright, playing some more, v0.4.1 works for me in Half-Life and Opposing Force, except for on op4ctf_hairball. Opposing Force doesn't work at all with MetaMod though.
I managed to get the minidump loaded into gdb but there are no symbols, though the backtrace for Opposing Force says WaypointDistanceFromTo and the backtrace for Opposing Force MetaMod says WaypointRouteInit.

Maybe the undefined symbol stuff I saw wasn't actually causing any crash but was more of a warning?

tschumann 21-11-2017 12:25

Re: progress
 
Robocop could you post the output of the following in bash:
ls -ali --time-style=full-iso ~/.local/share/steam/Steam/steamapps/common/Half-Life/gearbox/maps/*.wp*

Nubzior 21-11-2017 20:35

Re: progress
 
After half day trying to run it firstly with Metamod, now i try without it and i got problem. Here is log from console. I tryed your precompiled binary and after all i compiled it on local machine. My OS: Debian 9.1 x64
Server is for Day of Defeat 1.3

Code:

Auto-restarting the server on crash
Could not locate steam binary:steamcmd/steamcmd.sh, ignoring.

Console initialized.
Protocol version 48
Exe version 1.1.2.6/Stdio (dod)
Exe build: 14:13:30 Jul  5 2017 (7559)
STEAM Auth Server
Server IP address 213.251.186.93:27015
LoadLibrary failed on /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so: /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so: undefined symbol: _ZdlPvj
Host_Error: Couldn't get DLL API from /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so!
FATAL ERROR (shutting down): Host_Error: Couldn't get DLL API from /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so!


tschumann 23-11-2017 13:28

Re: progress
 
Quote:

Originally Posted by Nubzior (Post 66920)
After half day trying to run it firstly with Metamod, now i try without it and i got problem. Here is log from console. I tryed your precompiled binary and after all i compiled it on local machine. My OS: Debian 9.1 x64
Server is for Day of Defeat 1.3

Code:

Auto-restarting the server on crash
Could not locate steam binary:steamcmd/steamcmd.sh, ignoring.

Console initialized.
Protocol version 48
Exe version 1.1.2.6/Stdio (dod)
Exe build: 14:13:30 Jul  5 2017 (7559)
STEAM Auth Server
Server IP address 213.251.186.93:27015
LoadLibrary failed on /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so: /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so: undefined symbol: _ZdlPvj
Host_Error: Couldn't get DLL API from /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so!
FATAL ERROR (shutting down): Host_Error: Couldn't get DLL API from /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so!


Could you post what you get when you run ls -ali --time-style=full-iso ~/.local/share/steam/Steam/steamapps/common/Half-Life/gearbox/maps/*.wp*
Also, what version of Sandbot are you using?

Nubzior 23-11-2017 19:33

Re: progress
 
Newest one.
I don't have directory what u give me. I run server from user "nubzior" not root.

tschumann 24-11-2017 13:08

Re: progress
 
Could you run ls -ali --time-style=full-iso /home/nubzior/dod2017/dod/./dod/maps/*.wp*

So looks like this is where the crash is:
Code:

                          // check if this is NOT team specific OR matches this team
                          if (!(waypoints[index].flags & W_FL_TEAM_SPECIFIC) ||
                              ((waypoints[index].flags & W_FL_TEAM) == matrix))
                          {

I'll need to take a closer look at the waypoint code to see what it's actually doing, but I guess waypoints[index] is out of bounds.

Nubzior 24-11-2017 19:32

Re: progress
 
Code:

95552360 -rwxrwxrwx 1 nubzior nubzior 13924 2017-04-22 13:49:46.000000000 +0200 /home/nubzior/dod2017/dod/./dod/maps/dod_avalanche.wp1
95552361 -rwxrwxrwx 1 nubzior nubzior  2212 2017-04-22 13:49:46.000000000 +0200 /home/nubzior/dod2017/dod/./dod/maps/dod_avalanche.wpt


tschumann 25-11-2017 23:35

Re: progress
 
Thanks - thought the .wp* timestamp check could be a problem but that's not it.

So, with https://github.com/tschumann/sandbot...473cb1f5bd84d9 I got the following.

Half-Life works.
Half-Life with MetaMod works.
Opposing Force works.
Opposing Force with waypoints crashes.
Opposing Force with MetaMod crashes.

So I think the undefined symbol issue is fixed now (not sure why...).
Also, Opposing Force with waypoints works if .wp1, .wp2, .wp3 and .wp4 waypoint files are present (I noticed that running a non-waypointed map followed by a waypointed map generated these extra files), so it looks like some variable may be initialised with bad data to make Opposing Force CTF think there are four teams.

Nubzior 26-11-2017 18:34

Re: progress
 
Still the same on 0.4.1.1-hotfix.

tschumann 27-11-2017 11:53

Re: progress
 
Quote:

Originally Posted by Nubzior (Post 66926)
Still the same on 0.4.1.1-hotfix.

The undefined symbol? Did you compile it yourself? The binaries in the repo are still from v0.4.1
If you did compile it yourself what version of gcc are you using?

RoboCop 27-11-2017 17:58

Re: progress
 
Sorry for delay, been too busy on my essays. Do you need me to run Sandbot on Linux listenserver, is that what you are saying?

Nubzior 28-11-2017 19:54

Re: progress
 
Quote:

Originally Posted by tschumann (Post 66927)
The undefined symbol? Did you compile it yourself? The binaries in the repo are still from v0.4.1
If you did compile it yourself what version of gcc are you using?

Yes, compiled by myself from branch 0.4.1.1-hotfix.
gcc (Debian 6.3.0-18) 6.3.0 20170516

tschumann 30-11-2017 12:48

Re: progress
 
Quote:

Originally Posted by RoboCop (Post 66928)
Sorry for delay, been too busy on my essays. Do you need me to run Sandbot on Linux listenserver, is that what you are saying?

No that's okay - it wasn't what I thought the issue might be.

Quote:

Originally Posted by Nubzior (Post 66929)
Yes, compiled by myself from branch 0.4.1.1-hotfix.
gcc (Debian 6.3.0-18) 6.3.0 20170516

Okay, I'm using gcc 6.3.0 too - I'll try making some other changes - if you don't mind would you be able to try them out when I've tried some stuff?
Also, does Sandbot for Half-Life work even though Day of Defeat doesn't?

Nubzior 30-11-2017 18:21

Re: progress
 
No problem.

tschumann 02-12-2017 08:20

Re: progress
 
Quote:

Originally Posted by Nubzior (Post 66931)
No problem.

Awesome thanks. I've tried adding some empty destructors and compiled some new binaries: https://github.com/tschumann/sandbot...9b0a047b8a9efd
Let me know how that goes - if that doesn't work I might try playing around with some compiler options.

Nubzior 02-12-2017 15:21

Re: progress
 
Still the same i think is something with Makefile binaries

tschumann 03-12-2017 07:10

Re: progress
 
Quote:

Originally Posted by Nubzior (Post 66933)
Still the same i think is something with Makefile binaries

Did you try both my binaries and compiling yourself?
What version of libc and libstdc++ do you have installed?

tschumann 05-12-2017 13:14

Re: progress
 
Could you also post the output of ldd sandbot.so?

I've got v2.24 of libc6 and v6.3.0 of libstdc++6 installed.

Nubzior 06-12-2017 20:57

Re: progress
 
I tried only your binary, didn't compiled by myself.

output of dpkg-query -l libstdc++6

Code:

ii  libstdc++6:amd64    6.3.0-18                      amd64                        GNU Standard C++ Library v3
ii  libstdc++6:i386        6.3.0-18                        i386                            GNU Standard C++ Library v3

output of dpkg-query -l libc6

Code:

ii  libc6:amd64  2.24-11+deb9u1    amd64                        GNU C Library: Shared libraries
ii  libc6:i386      2.24-11+deb9u1    i386                            GNU C Library: Shared libraries

output of ldd sandbot.so

Code:

        ldd sandbot.so
        linux-gate.so.1 (0xdc4d0000)
        libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xdc414000)
        libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xdc3f6000)
        libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xdc23c000)
        /lib/ld-linux.so.2 (0xdc4d1000)


tschumann 07-12-2017 13:14

Re: progress
 
Okay so it looks like libstdc++6 isn't in the dependency list for you but it is for me (neither is libm, but libstdc++6 explains the missing operator delete).

My libstdc++ is at /usr/lib/i386-linux-gnu/libstdc++.so.6 - where is yours? Also, I thought ldd showed all dependencies even if they couldn't be located.

Nubzior 07-12-2017 17:15

Re: progress
 
My is at the same place

tschumann 09-12-2017 06:25

Re: progress
 
Alright I've recompiled with g++ and have explicitly linked with libstc++: https://github.com/tschumann/sandbot...f5f6e71ba3c087
Let me know if those binaries work. If not please let me know what ldd returns, and try recompiling yourself and let me know what ldd returns (and if your compiled binaries work).

tschumann 09-12-2017 07:53

Re: progress
 
Also, I've fixed the waypoints not loading issue (stupid struct size and padding differences between Visual Studio and gcc).
I also tested MetaMod for Opposing Force on Linux and at least on my VM it has a tendency to hang on start but it does load (not sure if that was only a problem for but it's not a problem now anyway).

Re the undefined symbol - doesn't seem like a problem with the code but hopefully it can be resolved soon.

tschumann 09-12-2017 13:01

Re: progress
 
And on the master branch I've got single player support working now.
Still a bit of work to get the auto-kicking etc working though.

RoboCop 09-12-2017 13:32

Re: progress
 
Are you able to release the latest compiled G++ version of Sandbot for us to try?

Nubzior 09-12-2017 17:40

Re: progress
 
@RoboCop
tschumann have compiled binaries by g++ in github branch 0.4.1.1-hotfix

A tryied compile it by g++ some times ago but have error.

Code:

Auto-restarting the server on crash
Could not locate steam binary:steamcmd/steamcmd.sh, ignoring.

Console initialized.
Protocol version 48
Exe version 1.1.2.6/Stdio (dod)
Exe build: 14:13:30 Jul  5 2017 (7559)
STEAM Auth Server
Server IP address 213.251.186.93:27015
LoadLibrary failed on /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so: ./libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so)
Host_Error: Couldn't get DLL API from /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so!
FATAL ERROR (shutting down): Host_Error: Couldn't get DLL API from /home/nubzior/dod2017/dod/./dod/dlls/sandbot.so!

Maybe you know whats wrong? I searched about CXXABI_1.3.9 on web and dont find any answer... :/

RoboCop 09-12-2017 18:11

Re: progress
 
I've just tried the latest fix for Sandbot on Op4 server and that CXXABI 1.3.9 error occurs on my side too.

tschumann 09-12-2017 23:07

Re: progress
 
Alright, so looks like a discrepancy between the version of libstdc++ I compiled with and the versions on your systems: https://stackoverflow.com/a/35394410/5158636, https://github.com/FoldingAtHome/fah-issues/issues/1147

Can you both ldd sandbot.so then ls -ali the path to libstdc++.so.6 - for me the symlink points to libstdc++.so.6.0.22 which I guess is pretty recent
@RoboCop if you're on Ubuntu 14 you might need to compile yourself or possibly update libstdc++ to a newer version if possible.
@Nubzior you seem to be on a pretty recent version of Debian so might only be off by a minor version. Do the above anyway and we'll see what's what.

RoboCop 10-12-2017 16:36

Re: progress
 
Quote:

Originally Posted by tschumann (Post 66945)
Alright, so looks like a discrepancy between the version of libstdc++ I compiled with and the versions on your systems: https://stackoverflow.com/a/35394410/5158636, https://github.com/FoldingAtHome/fah-issues/issues/1147

Can you both ldd sandbot.so then ls -ali the path to libstdc++.so.6 - for me the symlink points to libstdc++.so.6.0.22 which I guess is pretty recent
@RoboCop if you're on Ubuntu 14 you might need to compile yourself or possibly update libstdc++ to a newer version if possible.
@Nubzior you seem to be on a pretty recent version of Debian so might only be off by a minor version. Do the above anyway and we'll see what's what.

Did you try using clang++ compiler instead of g++? Also I use my Linux Mint Laptop for recompiling some broken Metamod addons. I'll give the recompiling for SB a go

tschumann 11-12-2017 13:11

Re: progress
 
I don't think that using clang would fix this - I think it's the version of libstdc++ I have installed. What's the name of the file that gets symlinked on your KUbuntu 14?

RoboCop 11-12-2017 16:11

Re: progress
 
Well I'm quite sure how to find my symlink for libstdc++, I did try this but don't seem to work and that file does exist in my Ubuntu 14.04:-
Code:

$ ls -l usr/lib32/libstdc++.so.6
ls cannot access        usr/lib32/libstdc++.so.6: No such file or directory

Using [readlink -f usr/lib32/libstdc++.so.6] didn't reply or print anything with that command.

Also I cannot seem to recompile your latest beta build on both my Ubuntu 14.04 and my Linux Mint 18.2 Cinnamon Laptop:-

Code:

waypoint.cpp: In function 'bool WaypointLoad(edict_t*)':
waypoint.cpp:1573:71: error: 'static_assert' was not declared in this scope
          static_assert(sizeof(WAYPOINT) == 24, "WAYPOINT should be 24 bytes");


tschumann 12-12-2017 12:42

Re: progress
 
Can you ldd sandbot.so and then ls -ali the path it gives to libstdc++.so.6?

Looks like static_assert is a newer feature of C++ (see https://stackoverflow.com/questions/...ic-assert-in-c) - you should just be able to comment out those lines and compile.

RoboCop 12-12-2017 19:12

Re: progress
 
Well you be pleased to know from when I commented out those 'static_assert' lines and recompiled sandbot in my Linux Mint it appears to be working now, BUT only in standalone "liblist.gam" mode. I did try sandbot loaded only from Metamod but they don't seem to be selecting which team they can randomly pick.

And here is the ldd and ls -ali results of this recompiled sandbot.so:-

https://www.dropbox.com/s/ec4cnf1gkv1ci32/ldd.jpg?dl=0

tschumann 15-12-2017 12:15

Re: progress
 
Great, so it's not a bug with Sandbot as such!

With MetaMod you were trying Opposing Force CTF? What was the problem exactly? I know that the bots currently don't join teams to create even teams.

What version of gcc do you have installed locally? I have v6.3.0 but libstdc++.so.6.0.24 suggests you have gcc v7.x.x installed.

RoboCop 15-12-2017 16:27

Re: progress
 
Quote:

Originally Posted by tschumann (Post 66952)
Great, so it's not a bug with Sandbot as such!

With MetaMod you were trying Opposing Force CTF? What was the problem exactly? I know that the bots currently don't join teams to create even teams.

What version of gcc do you have installed locally? I have v6.3.0 but libstdc++.so.6.0.24 suggests you have gcc v7.x.x installed.

Code:

Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.5-2ubuntu1~14.04.1' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.5 (Ubuntu 4.8.5-2ubuntu1~14.04.1)

And the MetaMod is MM v1.21-p37.

tschumann 16-12-2017 03:09

Re: progress
 
Hm, so it's an older version of gcc but it looks like you have a pretty new version of libstdc++ installed - mine in 6.3.0-12 but yours is 6.3.0-18. Are you using a non-Ubuntu repo/mirror?
Reading https://gcc.gnu.org/onlinedocs/libst...anual/abi.html it looks like using new libraries while linking with old libraries should work, but doesn't as we can see.

RoboCop 16-12-2017 14:03

Re: progress
 
I've installed it from Ubuntu Software Centre. I didn't use PPA or using any repos from launchpad for libstdc++ nor GCC for Lubuntu 14.04.


All times are GMT +2. The time now is 10:07.

Powered by vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.