Closed xai1 closed 7 years ago
Hello @xai1
This is the only occurrence of 'char const*' I can find in our code: https://github.com/EpochModTeam/EpochServer/blob/master/src/external/ConfigFile.cpp#L4
Seems like this is likely related to the config file and from a quick first look at the code it maybe that we are not accounting for unix line endings properly. You can test this by converting your epochserver.ini to use windows line endings (unix2dos) and try starting the server again.
Hi @vbawol Thanks for you fast feedback. Converting the config didn't help. I am still getting the same error.
I will see if I can reproduce this on my dev server this week. @denisio, @Fank can either of you guys offer any advice here?
@vbawol Thx. If you need any more input from my side, let me know it.
More ouput from: $ dpkg --list | grep i386 $ ldd --version $ uname -a $ ldd arma3server
@denisio
dpkg --list | grep i386 ii gcc-4.9-base:i386 4.9.2-10 i386 GCC, the GNU Compiler Collection (base package) ii libc6:i386 2.19-18+deb8u6 i386 GNU C Library: Shared libraries ii libc6-dev-i386 2.19-18+deb8u6 amd64 GNU C Library: 32-bit development libraries for AMD64 ii libc6-i386 2.19-18+deb8u6 amd64 GNU C Library: 32-bit shared libraries for AMD64 ii libc6-i686:i386 2.19-18+deb8u6 i386 GNU C Library: Shared libraries [i686 optimized] ii libgcc1:i386 1:4.9.2-10 i386 GCC support library ii libstdc++6:i386 4.9.2-10 i386 GNU Standard C++ Library v3 ii libtbb2 4.2~20140122-5 i386 parallelism library for C++ - runtime files
ldd --version ldd (Debian GLIBC 2.19-18+deb8u6) 2.19 Copyright (C) 2014 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Written by Roland McGrath and Ulrich Drepper.
uname -a Linux 3.14.32-xxxx-grs-ipv6-64 #1 SMP Sat Feb 7 11:35:27 CET 2015 x86_64 GNU/Linux
ldd arma3server linux-gate.so.1 (0xef79d000) libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xef775000) librt.so.1 => /lib/i386-linux-gnu/i686/cmov/librt.so.1 (0xef76c000) libdl.so.2 => /lib/i386-linux-gnu/i686/cmov/libdl.so.2 (0xef766000) libsteam_api.so => /home/tcagame/testing/161/./libsteam_api.so (0xef73d000) libPhysX3_x86.so => /home/tcagame/testing/161/./libPhysX3_x86.so (0xef479000) libPhysX3Common_x86.so => /home/tcagame/testing/161/./libPhysX3Common_x86.so (0xef30a000) libPhysX3Cooking_x86.so => /home/tcagame/testing/161/./libPhysX3Cooking_x86.so (0xef2db000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xef1e8000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xef1a2000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xef185000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xeefd8000) /lib/ld-linux.so.2 (0xef79e000)
epochserver.ini content
[EpochServer] BattlEyePath = /home/tcagame/testing/161/battleye InstanceID = 161
[Redis] IP = 87.xx Port = 6389 DB = 0 Password = 8c5273178
[SteamAPI] Key = VACBanned = 0 VACMinimumNumberOfBans = 0 VACMaximumDaysSinceLastBan = 0
do you need the epochserver.ini attached? or is it only about the content?
Try to download http://epocher.ru/epochhive.tgz and unpack to @epochhive/
Check ldd epochserver.so
I think that static build on Ubuntu?? is not compatible with Debian (libc6 versions).
Thought, I built it on Debian 8.6...? but now that I check my dev server: lsb_release -da
Distributor ID: Debian Description: Debian GNU/Linux 7.11 (wheezy) Release: 7.11
@denisio, What version did you build against was it Debian 6.8 or 8.6?
Thanks for looking into it @denisio!
@denisio Thx for your help. ldd epochserver.so linux-gate.so.1 (0xf6b0f000) libhiredis.so.0.10 => not found libpcre.so.3 => not found libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf692e000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xf68e8000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf68cb000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xf671e000) /lib/ld-linux.so.2 (0xf6b10000)
rpt: 10:06:57 "Epoch: Starting ArmA3 Epoch Server, Version 0.4.0.0" 10:06:57 "Epoch: Server DLL mismatch! Current: Needed: 0.5.1.8"
$ export LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH $ ls -l @epochhive/lib* libhiredis.so -> libhiredis.so.0.10 libhiredis.so.0.10 libpcre.so.3 -> libpcre.so.3.13.1 libpcre.so.3.13.1
I do "apt-get upgrade" and "apt-get dist-upgrade". $ cat /etc/debian_version 8.6
Why is "DLL mismatch" ?? $ git clone https://github.com/EpochModTeam/EpochServer.git
@denisio I copied the files you provided earlier again to the server and it seems to be ok now. Sry seems like I did something wrong. Thank you very much for your help!
Turns out it was Ubuntu, So I got a new dev server running Debian 8.6 and recompiled epochserver.so @xai1 can you test this version if you have the time: https://github.com/EpochModTeam/Epoch/raw/9d54517986140a263ceddc2e3cbba7127c1ed2b5/Server_Install_Pack/%40epochhive/epochserver.so
@denisio do you foresee any issues with statically linking pcre and hiredis?
I have not tested this but the libc6 downgrade need lowest version (Debian build for example).
@vbawol still getting the same issue. Just to make sure, I only need the epochserver.so in @epochhive, right?
@xai1 yes that was the goal. However, I think I will go back to compiling with shared libs on Linux as I noticed that libpthread.so.0 was not linked and is likely a dependency of libhiredis or libpcre.
Rebuilt with -lhiredis -lpcre https://github.com/EpochModTeam/Epoch/raw/57a5ec6edf8950daff22e604b114bbb82cfb93bd/Server_Install_Pack/%40epochhive/epochserver.so
ldd epochserver.so linux-gate.so.1 (0xb7700000) libhiredis.so.0.10 => /usr/lib/i386-linux-gnu/libhiredis.so.0.10 (0xb7609000) libpcre.so.3 => /lib/i386-linux-gnu/libpcre.so.3 (0xb7596000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb74a3000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xb745d000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7440000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb7293000) libpthread.so.0 => /lib/i386-linux-gnu/i686/cmov/libpthread.so.0 (0xb7277000) /lib/ld-linux.so.2 (0xb7703000)
If it does not work, try installing: apt-get install libhiredis-dev libpcre3-dev
Otherwise, I guess we will need to also ship the libhiredis.so libpcre.so.3 files as we did before?
@vbawol I am not able to test it before Friday, sry. Will let you know as soon as I have been able to test it
Not sure why it is proving to be so difficult for me to setup a new arma 3 1.64 linux server. Both Debian 8.6 and Ubuntu 16.04 are setup the same way: https://community.bistudio.com/wiki/Arma_3_Dedicated_Server#Instructions_.28Linux_o.2Fs.29
...
15:57:57 BattlEye Server: Initialized (v1.214)
15:57:57 VoteThreshold must be in 0..1 range. Defaulting to 0.5
15:57:57 Host identity created.
[S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
[New Thread 0xb762ab40 (LWP 21369)]
...
15:57:58 Mission world: Altis
15:57:58 Mission directory: mpmissions\oneplayer.Altis\
[New Thread 0xa12fdb40 (LWP 21375)]
15:58:04 Strange convex component145 in a3\plants_f\tree\t_pinuss2s_b_f.p3d:geometryView
15:58:04 Strange convex component149 in a3\plants_f\tree\t_pinuss2s_b_f.p3d:geometryView
Attempt to override final function - bis_functions_list
Attempt to override final function - bis_functions_listpreinit
Attempt to override final function - bis_functions_listpostinit
Attempt to override final function - bis_functions_listrecompile
Attempt to override final function - bis_fnc_missiontaskslocal
Attempt to override final function - bis_fnc_missionconversationslocal
Attempt to override final function - bis_fnc_missionflow
15:58:10 Loading movesType CfgGesturesMale
15:58:10 MovesType CfgGesturesMale load time 137 ms
15:58:10 Loading movesType CfgMovesMaleSdr
15:58:18 MovesType CfgMovesMaleSdr load time 7554 ms
15:58:18 Mission read.
15:58:18 Connected to Steam servers
Thread 1 "arma3server" received signal SIGSEGV, Segmentation fault.
0xb77d88a6 in fread () from /lib/i386-linux-gnu/libc.so.6
Both crash with segfault (libc.so.6) while using no mods and just a simple mission file.
@vbawol sry for my late reply. Haven't been able to test it earlier.
Intsalled: libhiredis-dev libpcre3-dev
ldd epochserver.so linux-gate.so.1 (0xe3d43000) libhiredis.so.0.10 => not found libpcre.so.3 => not found libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xe3b61000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xe3b1b000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xe3afe000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xe3951000) /lib/ld-linux.so.2 (0xe3d44000)
I get the following error: 18:03:07 "Epoch: Server DLL mismatch! Current: Needed: 0.5.1.8"
I guess this happend because it is missing libhiredis.so.0.10 and libpcre.so.3?
yes @xai1 looks like it, as of this comment I have readded these two files: https://github.com/EpochModTeam/Epoch/commit/7913ee0ea78782184ca24821d6f64a4ba385c800
I will work more on the static epochserver.so build again after I get my dev environment sorted and running. Thanks for the help testing!
@vbawol let me know as soon as I can help you with testing.
@xai1 are you still running a Linux Epoch server? If so I have some new extensions to test out. These are built using holy build box and should be compatible with a wider range of distros.
32bit Linux: https://github.com/EpochModTeam/Epoch/blob/experimental/Server_Install_Pack/@epochhive/epochserver.so?raw=true 64bit Linux: https://github.com/EpochModTeam/Epoch/blob/experimental/Server_Install_Pack/@epochhive/epochserver_x64.so?raw=true
These binaries should work on pretty much any glibc-based x86 and x86-64 Linux distribution released in the last ten years.
Debian >= 6 Ubuntu >= 10.04 Red Hat Enterprise Linux >= 5 CentOS >= 5
32bit ldd linux-gate.so.1 => (0xf7790000) libm.so.6 => /lib/libm.so.6 (0xf75ca000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf75ba000) libc.so.6 => /lib/libc.so.6 (0xf745a000) /lib/ld-linux.so.2 (0x565d4000)
64bit ldd linux-vdso.so.1 => (0x00007fffcd204000) libm.so.6 => /lib64/libm.so.6 (0x00007fa2b24f2000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fa2b22e2000) libc.so.6 => /lib64/libc.so.6 (0x00007fa2b1f82000) /lib64/ld-linux-x86-64.so.2 (0x000055796a4e5000)
Please open a new issue if you have any problems after 0.5 drops.
Updated one of my servers to the latest version. After changing the epochserver.so the server crashes when the game starts. Already checked the issue #644 and tried the epochserver.so provided there but without luck.
RPT error before crash. 19:25:50 "Epoch: Starting ArmA3 Epoch Server, Version 0.4.0.0" terminate called after throwing an instance of 'char const*'
output ldd epochserver.so linux-gate.so.1 (0xe5600000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xe53f0000) libm.so.6 => /lib/i386-linux-gnu/i686/cmov/libm.so.6 (0xe53aa000) libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xe51fc000) /lib/ld-linux.so.2 (0xe5601000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xe51df000)
/var/log/message
kernel: arma3server[9892]: segfault at fdcddcc6 ip 00000000fdcddcc6 sp 00000000df1fc2e8 error 14
System is running Debian 8.6.