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