D

delenda

Member

Last active 8 years ago

  1. 8 years ago
    Mon Feb 15 20:02:54 2016
    D delenda posted in Linux Dedi Segfault.

    Hi Tupolov,

    The above report was with ALiVE_1.0.0.1602091. I've just tried ALiVE_0.9.9.150622 and I don't get a segfault when loading aliveserver. The mission I'm testing with doesn't work with it ("ALiVE OPCOM Waiting for Virtual AI System" errors). so I haven't progressed it further.

    Thanks,

    Andrew

  2. Sat Feb 13 14:22:07 2016
    D delenda started the conversation Linux Dedi Segfault.

    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

  3. Sat Feb 13 13:52:23 2016
    D delenda joined the forum.