Hi,
I'm having some issues running ALiVE server on my linux dedi (Ubuntu 15.04). It's segfaulting but I can't seem to find why. I've got some info below: (wall of debug coming...)
dmesg:
arma3server[20536]: segfault at 1c ip 00000000bcccd714 sp 00000000974e1e60 error 4 in ALiVEPlugIn.so[bcc1f000+1d5000]
ldd on the .so:
linux-gate.so.1 => (0xf77a2000) libcurl.so.4 => /usr/lib/i386-linux-gnu/libcurl.so.4 (0xf753d000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf74f0000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf7334000) /lib/ld-linux.so.2 (0x56651000) libidn.so.11 => /usr/lib/i386-linux-gnu/libidn.so.11 (0xf7301000) librtmp.so.1 => /usr/lib/i386-linux-gnu/librtmp.so.1 (0xf72e1000) libssl.so.1.0.0 => /lib/i386-linux-gnu/libssl.so.1.0.0 (0xf7280000) libcrypto.so.1.0.0 => /lib/i386-linux-gnu/libcrypto.so.1.0.0 (0xf70ad000) libgssapi_krb5.so.2 => /usr/lib/i386-linux-gnu/libgssapi_krb5.so.2 (0xf705b000) liblber-2.4.so.2 => /usr/lib/i386-linux-gnu/liblber-2.4.so.2 (0xf704b000) libldap_r-2.4.so.2 => /usr/lib/i386-linux-gnu/libldap_r-2.4.so.2 (0xf6ff1000) libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0xf6fd6000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xf6fb9000) libgnutls-deb0.so.28 => /usr/lib/i386-linux-gnu/libgnutls-deb0.so.28 (0xf6e79000) libhogweed.so.2 => /usr/lib/i386-linux-gnu/libhogweed.so.2 (0xf6e4a000) libnettle.so.4 => /usr/lib/i386-linux-gnu/libnettle.so.4 (0xf6e14000) libgmp.so.10 => /usr/lib/i386-linux-gnu/libgmp.so.10 (0xf6d88000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xf6d83000) libkrb5.so.3 => /usr/lib/i386-linux-gnu/libkrb5.so.3 (0xf6caf000) libk5crypto.so.3 => /usr/lib/i386-linux-gnu/libk5crypto.so.3 (0xf6c7d000) libcom_err.so.2 => /lib/i386-linux-gnu/libcom_err.so.2 (0xf6c78000) libkrb5support.so.0 => /usr/lib/i386-linux-gnu/libkrb5support.so.0 (0xf6c6b000) libresolv.so.2 => /lib/i386-linux-gnu/libresolv.so.2 (0xf6c52000) libsasl2.so.2 => /usr/lib/i386-linux-gnu/libsasl2.so.2 (0xf6c33000) libgssapi.so.3 => /usr/lib/i386-linux-gnu/libgssapi.so.3 (0xf6bee000) libgcrypt.so.20 => /lib/i386-linux-gnu/libgcrypt.so.20 (0xf6b3d000) libp11-kit.so.0 => /usr/lib/i386-linux-gnu/libp11-kit.so.0 (0xf6af9000) libtasn1.so.6 => /usr/lib/i386-linux-gnu/libtasn1.so.6 (0xf6ae5000) libkeyutils.so.1 => /lib/i386-linux-gnu/libkeyutils.so.1 (0xf6adf000) libheimntlm.so.0 => /usr/lib/i386-linux-gnu/libheimntlm.so.0 (0xf6ad5000) libkrb5.so.26 => /usr/lib/i386-linux-gnu/libkrb5.so.26 (0xf6a3b000) libasn1.so.8 => /usr/lib/i386-linux-gnu/libasn1.so.8 (0xf6986000) libhcrypto.so.4 => /usr/lib/i386-linux-gnu/libhcrypto.so.4 (0xf694c000) libroken.so.18 => /usr/lib/i386-linux-gnu/libroken.so.18 (0xf6933000) libgpg-error.so.0 => /lib/i386-linux-gnu/libgpg-error.so.0 (0xf691f000) libffi.so.6 => /usr/lib/i386-linux-gnu/libffi.so.6 (0xf6915000) libwind.so.0 => /usr/lib/i386-linux-gnu/libwind.so.0 (0xf68eb000) libheimbase.so.1 => /usr/lib/i386-linux-gnu/libheimbase.so.1 (0xf68da000) libhx509.so.5 => /usr/lib/i386-linux-gnu/libhx509.so.5 (0xf688b000) libsqlite3.so.0 => /usr/lib/i386-linux-gnu/libsqlite3.so.0 (0xf67b2000) libcrypt.so.1 => /lib/i386-linux-gnu/libcrypt.so.1 (0xf6780000)
GDB:
13:48:55 ALiVE [m_0|30] Module ALiVE_sys_data INIT [New Thread 0x97d08b40 (LWP 21523)] [New Thread 0xb8bffb40 (LWP 21522)] [New Thread 0xbd7feb40 (LWP 21520)] [New Thread 0xbd6fdb40 (LWP 21518)] [New Thread 0xc4bfeb40 (LWP 21514)] [New Thread 0xbb7ffb40 (LWP 21513)] [New Thread 0xbc7ffb40 (LWP 21512)] [New Thread 0xbdfffb40 (LWP 21511)] [New Thread 0xc53ffb40 (LWP 21510)] [New Thread 0xf75a6b40 (LWP 21508)] [New Thread 0xf76a7b40 (LWP 21507)] [New Thread 0xf77a8b40 (LWP 21506)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x97d08b40 (LWP 21523)] 0xbd4cd714 in PerfMon::SamplingThread(void*) () from /home/arma3/arma3/mods/@aliveserver/ALiVEPlugIn.so (gdb) bt #0 0xbd4cd714 in PerfMon::SamplingThread(void*) () from /home/arma3/arma3/mods/@aliveserver/ALiVEPlugIn.so #1 0xf7fb31aa in start_thread () from /lib/i386-linux-gnu/libpthread.so.0 #2 0xf78e0fde in clone () from /lib/i386-linux-gnu/libc.so.6
strace:
29852 select(1024, [629], NULL, NULL, {0, 5000} <unfinished ...> 29837 getrusage(0x1 /* RUSAGE_??? */, {ru_utime={3745211482112047, 3384434229248000}, ru_stime={1477708, 0}, ...}) = 0 29837 open("/dev/urandom", O_RDONLY|O_LARGEFILE) = 649 29837 fcntl64(649, F_GETFD) = 0 29837 fcntl64(649, F_SETFD, FD_CLOEXEC) = 0 29837 getrusage(0x1 /* RUSAGE_??? */, <unfinished ...> 29854 <... epoll_wait resumed> {}, 1, 49) = 0 29837 <... getrusage resumed> {ru_utime={3745211482112047, 3384434229248000}, ru_stime={1477708, 0}, ...}) = 0 29854 read(635, <unfinished ...> 29837 read(649, <unfinished ...> 29854 <... read resumed> 0xc43fde3c, 128) = -1 EAGAIN (Resource temporarily unavailable) 29854 poll([{fd=633, events=POLLIN}], 1, 0 <unfinished ...> 29837 <... read resumed> "Caac\310\247\364\222\342Z\330\232Cn\303W\"[3\16\\47v\333Re\260\253\350\377\233", 32) = 32 29854 <... poll resumed> ) = 0 (Timeout) 29851 <... select resumed> ) = 0 (Timeout) 29854 poll([{fd=638, events=POLLIN|POLLOUT}], 1, 0 <unfinished ...> 29851 select(1024, [627], NULL, NULL, {0, 5000} <unfinished ...> 29854 <... poll resumed> ) = 1 ([{fd=638, revents=POLLOUT}]) 29854 poll([{fd=640, events=POLLIN|POLLOUT}], 1, 0) = 1 ([{fd=640, revents=POLLOUT}]) 29854 read(635, 0xc43fde3c, 128) = -1 EAGAIN (Resource temporarily unavailable) 29854 poll([{fd=633, events=POLLIN}], 1, 0) = 0 (Timeout) 29854 poll([{fd=640, events=POLLIN|POLLOUT}], 1, 0) = 1 ([{fd=640, revents=POLLOUT}]) 29854 epoll_wait(632, <unfinished ...> 29837 read(649, "\204\4t\243\350\t\265>\253\266m\2-?J\332\231j\177\347x\242\3329]\35L|DB\352v", 32) = 32 29837 read(649, "\272\302\277N\354\347\2613", 8) = 8 29837 mmap2(NULL, 8392704, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS|MAP_STACK, -1, 0) = 0xffffffff96cce000 29837 mprotect(0x96cce000, 4096, PROT_NONE) = 0 29837 clone(child_stack=0x974ce424, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND|CLONE_THREAD|CLONE_SYSVSEM|CLONE_SETTLS|CLONE_PARENT_SETTID|CLONE_CHILD_CLEARTID, parent_tidptr=0x974ceba8, tls=0x974ceba8, child_tidptr=0xffdbf170) = 29871 29871 set_robust_list(0x974cebb0, 12 <unfinished ...> 29837 stat64("/etc/localtime", <unfinished ...> 29871 <... set_robust_list resumed> ) = 0 29837 <... stat64 resumed> {st_mode=S_IFREG|0644, st_size=2971, ...}) = 0 29871 mmap2(NULL, 4194304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0 <unfinished ...> 29837 open("@aliveserver/aliveplugin_2016-02-13_14-45.txt", O_WRONLY|O_CREAT|O_APPEND, 0666 <unfinished ...> 29871 <... mmap2 resumed> ) = 0xffffffff968ce000 29837 <... open resumed> ) = -1 ENOENT (No such file or directory) 29871 munmap(0x968ce000, 4194304 <unfinished ...> 29837 nanosleep({0, 10000000}, <unfinished ...> 29871 <... munmap resumed> ) = 0 29871 mmap2(NULL, 8384512, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xffffffff964cf000 29871 munmap(0x964cf000, 3346432) = 0 29871 munmap(0x96c00000, 843776) = 0 29871 open("/proc/self/stat", O_RDONLY) = 650 29871 fstat64(650, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 29871 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff779c000 29871 read(650, "29837 (arma3server) S 29836 2983"..., 1024) = 329 29871 close(650) = 0 29871 munmap(0xf779c000, 4096) = 0 29871 open("/proc/stat", O_RDONLY) = 650 29871 fstat64(650, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 29871 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xfffffffff779c000 29871 read(650, <unfinished ...> 29852 <... select resumed> ) = 0 (Timeout) 29852 select(1024, [629], NULL, NULL, {0, 5000} <unfinished ...> 29871 <... read resumed> "cpu 131359548 125191 2100998 89"..., 1024) = 1024 29871 close(650) = 0 29871 munmap(0xf779c000, 4096 <unfinished ...> 29853 <... select resumed> ) = 0 (Timeout) 29871 <... munmap resumed> ) = 0 29853 select(0, NULL, NULL, NULL, {0, 20000} <unfinished ...> 29871 time(NULL) = 1455371152 29871 open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 650 29871 read(650, "0-3\n", 8192) = 4 29871 close(650) = 0 29871 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x1c} --- 29854 +++ killed by SIGSEGV (core dumped) +++ 29864 +++ killed by SIGSEGV (core dumped) +++ 29860 +++ killed by SIGSEGV (core dumped) +++ 29858 +++ killed by SIGSEGV (core dumped) +++ 29852 +++ killed by SIGSEGV (core dumped) +++ 29851 +++ killed by SIGSEGV (core dumped) +++ 29848 +++ killed by SIGSEGV (core dumped) +++ 29847 +++ killed by SIGSEGV (core dumped) +++ 29846 +++ killed by SIGSEGV (core dumped) +++ 29845 +++ killed by SIGSEGV (core dumped) +++ 29838 +++ killed by SIGSEGV (core dumped) +++ 29871 +++ killed by SIGSEGV (core dumped) +++ 29853 +++ killed by SIGSEGV (core dumped) +++ 29837 +++ killed by SIGSEGV (core dumped) +++
That's everything I've got so far. Can't really see what's causing it. I had a go at tracing the memory using valgrind but everything was taking forever and I gave up.
The only real ENOENT in there is for '@aliveserver/aliveplugin_2016-02-13_14-45.txt' but I can't see that segfaulting the module?
If anyone can see anything I've missed, I'd appreciate the assist.
Thanks,
Andrew