Realm667 / WolfenDoom

"WolfenDoom - Blade of Agony" | Important: This is only meant for development and testing purposes. You are NOT ALLOWED to use material from this repository for your own projects. Important: This repository is for development and testing purposes, you are NOT ALLOWED to use the copyrighted material for your own projects without our permission!
http://boa.realm667.com
254 stars 26 forks source link

[Linux] C2M1 crashes randomly #278

Closed Talon1024 closed 3 years ago

Talon1024 commented 4 years ago

C2M1 sometimes causes GZDoom to crash on me. Sometimes, the crash happens when I try to quicksave, and sometimes, the crash just happens randomly. The reason for the crash seems to be one of two errors. The error that causes the crash when I try to quicksave is:

*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x55de8a3b6620

System: Linux Gamer2015 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

GZDoom version g4.5pre-88-g8306af298 (8306af298f30919636a851e9bbdd31041860fa7e)
Command line: /home/kevinc/Games/doom/gzdoom-master-20200818/gzdoom -iwad doom2.wad -config WolfBoA.ini -file /home/kevinc/misc/WolfenDoom
Wad 0: gzdoom.pk3
Wad 1: game_support.pk3
Wad 2: doom2.wad
Wad 3: 

Current map: C2M1

viewx = -1216.007068
viewy = 1992.389066
viewz = -328.000000
viewangle = -174.310264

Executing: gdb --quiet --batch --command=gdb-respfile-3vOgzc
[New LWP 22081]
[New LWP 22084]
[New LWP 22085]
[New LWP 22087]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f669af5224a in __waitpid (pid=22184, stat_loc=0x55d94aa89e6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30

* Loaded Libraries
From                To                  Syms Read   Shared Object Library
0x00007f669ccccff0  0x00007f669cd93379  Yes (*)     /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0
0x00007f669caa9200  0x00007f669caac70c  Yes         /lib/x86_64-linux-gnu/librt.so.1
0x00007f669c88bf90  0x00007f669c89f640  Yes (*)     /lib/x86_64-linux-gnu/libz.so.1
0x00007f669c625e10  0x00007f669c65f780  Yes (*)     /usr/lib/x86_64-linux-gnu/libjpeg.so.8
0x00007f669c413320  0x00007f669c41f3c2  Yes (*)     /lib/x86_64-linux-gnu/libbz2.so.1.0
0x00007f669c20ee50  0x00007f669c20fbee  Yes         /lib/x86_64-linux-gnu/libdl.so.2
0x00007f669bd55290  0x00007f669bed37a3  Yes         /usr/local/lib/libzmusic.so.1
0x00007f669b9d0490  0x00007f669ba7f9de  Yes (*)     /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0x00007f669b5b1a80  0x00007f669b6701d5  Yes         /lib/x86_64-linux-gnu/libm.so.6
0x00007f669b37e3e0  0x00007f669b39c91e  Yes (*)     /usr/lib/x86_64-linux-gnu/libgomp.so.1
0x00007f669b161ac0  0x00007f669b17236d  Yes (*)     /lib/x86_64-linux-gnu/libgcc_s.so.1
0x00007f669af45bb0  0x00007f669af54101  Yes         /lib/x86_64-linux-gnu/libpthread.so.0
0x00007f669ab702d0  0x00007f669ace8eac  Yes         /lib/x86_64-linux-gnu/libc.so.6
0x00007f669a872ea0  0x00007f669a9092cf  Yes (*)     /usr/lib/x86_64-linux-gnu/libasound.so.2
0x00007f669a603b10  0x00007f669a630672  Yes (*)     /usr/lib/x86_64-linux-gnu/libpulse.so.0
0x00007f669a3eabc0  0x00007f669a3f1317  Yes (*)     /usr/lib/x86_64-linux-gnu/libsndio.so.6.1
0x00007f669a0c87c0  0x00007f669a14f828  Yes (*)     /usr/lib/x86_64-linux-gnu/libX11.so.6
0x00007f6699ea1590  0x00007f6699eab39f  Yes (*)     /usr/lib/x86_64-linux-gnu/libXext.so.6
0x00007f6699c96320  0x00007f6699c9ad40  Yes (*)     /usr/lib/x86_64-linux-gnu/libXcursor.so.1
0x00007f6699a91af0  0x00007f6699a923ec  Yes (*)     /usr/lib/x86_64-linux-gnu/libXinerama.so.1
0x00007f6699883180  0x00007f669988d9d7  Yes (*)     /usr/lib/x86_64-linux-gnu/libXi.so.6
0x00007f6699677c00  0x00007f669967dcf5  Yes (*)     /usr/lib/x86_64-linux-gnu/libXrandr.so.2
0x00007f6699472cd0  0x00007f6699473a8c  Yes (*)     /usr/lib/x86_64-linux-gnu/libXss.so.1
0x00007f669926cfc0  0x00007f669926f8c8  Yes (*)     /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1
0x00007f669906a640  0x00007f669906a7d6  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
0x00007f6698e5fff0  0x00007f6698e64def  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
0x00007f6698c54190  0x00007f6698c55caf  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0
0x00007f6698a18010  0x00007f6698a32b3a  Yes (*)     /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0
0x00007f669cfe1f10  0x00007f669d000b50  Yes         /lib64/ld-linux-x86-64.so.2
0x00007f66987a7f00  0x00007f66987ecafe  Yes (*)     /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
0x00007f66985541e0  0x00007f669857fb81  Yes (*)     /lib/x86_64-linux-gnu/libdbus-1.so.3
0x00007f6698337450  0x00007f669834435f  Yes (*)     /lib/x86_64-linux-gnu/libbsd.so.0
0x00007f6698117150  0x00007f6698129565  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb.so.1
0x00007f6697f03a60  0x00007f6697f09ab5  Yes (*)     /usr/lib/x86_64-linux-gnu/libXrender.so.1
0x00007f6697cfd540  0x00007f6697cff876  Yes (*)     /usr/lib/x86_64-linux-gnu/libXfixes.so.3
0x00007f6697af5740  0x00007f6697afa00a  Yes (*)     /usr/lib/x86_64-linux-gnu/libffi.so.6
0x00007f669787d400  0x00007f66978d40b4  Yes (*)     /lib/x86_64-linux-gnu/libsystemd.so.0
0x00007f6697668cd0  0x00007f669766c867  Yes (*)     /lib/x86_64-linux-gnu/libwrap.so.0
0x00007f66973f3750  0x00007f6697444435  Yes (*)     /usr/lib/x86_64-linux-gnu/libsndfile.so.1
0x00007f66971e81d0  0x00007f66971ea848  Yes (*)     /usr/lib/x86_64-linux-gnu/libasyncns.so.0
0x00007f6696fe3da0  0x00007f6696fe4a9e  Yes (*)     /usr/lib/x86_64-linux-gnu/libXau.so.6
0x00007f6696dde110  0x00007f6696ddfa18  Yes (*)     /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
0x00007f6696bb98e0  0x00007f6696bd03e2  Yes (*)     /lib/x86_64-linux-gnu/liblzma.so.5
0x00007f669699cda0  0x00007f66969b4386  Yes (*)     /usr/lib/x86_64-linux-gnu/liblz4.so.1
0x00007f669668ac00  0x00007f6696756dd8  Yes (*)     /lib/x86_64-linux-gnu/libgcrypt.so.20
0x00007f6696469090  0x00007f66964768a7  Yes         /lib/x86_64-linux-gnu/libnsl.so.1
0x00007f66961f6170  0x00007f66962592db  Yes (*)     /usr/lib/x86_64-linux-gnu/libFLAC.so.8
0x00007f6695fe6a70  0x00007f6695feac05  Yes (*)     /usr/lib/x86_64-linux-gnu/libogg.so.0
0x00007f6695dbcce0  0x00007f6695dd2a82  Yes (*)     /usr/lib/x86_64-linux-gnu/libvorbis.so.0
0x00007f6695b24a00  0x00007f6695b2712c  Yes (*)     /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
0x00007f66958f9830  0x00007f6695909152  Yes         /lib/x86_64-linux-gnu/libresolv.so.2
0x00007f66956e3be0  0x00007f66956edd48  Yes (*)     /lib/x86_64-linux-gnu/libgpg-error.so.0
0x00007f6694cc58c0  0x00007f6694cd7a83  Yes (*)     /lib/x86_64-linux-gnu/libudev.so.1
0x00007f6694a2e060  0x00007f6694a7b9a8  Yes (*)     /usr/lib/x86_64-linux-gnu/libopenal.so.1
0x00007f66947e7440  0x00007f669480b2f3  Yes (*)     /usr/lib/x86_64-linux-gnu/libjack.so.0
0x00007f669407c3d0  0x00007f669407f70f  Yes (*)     /usr/lib/x86_64-linux-gnu/libGL.so.1
0x00007f667e00efb0  0x00007f667e018b45  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLX.so.0
0x00007f667dd94b60  0x00007f667dd979e7  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
0x00007f667da8fef0  0x00007f667daeca2f  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
0x00007f667d8409a0  0x00007f667d8426a3  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-tls.so.440.100
0x00007f6676508310  0x00007f66775694e7  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.440.100
0x00007f667d48de20  0x00007f667d496d05  Yes (*)     /usr/lib/x86_64-linux-gnu/libdrm.so.2
0x00007f667d039e40  0x00007f667d042285  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0
0x00007f667ce2d4e0  0x00007f667ce2d5db  Yes (*)     /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
0x00007f667cc2a4f0  0x00007f667cc2b303  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0
0x00007f667ca26d30  0x00007f667ca275b6  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-present.so.0
0x00007f667c8210e0  0x00007f667c823192  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1
0x00007f667c5d73a0  0x00007f667c60b159  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan.so.1
0x00007f6671b396d0  0x00007f6673d6fdef  Yes (*)     /usr/lib/x86_64-linux-gnu/libLLVM-10.so.1
0x00007f667087c1b0  0x00007f6670896600  Yes (*)     /usr/lib/x86_64-linux-gnu/libedit.so.2
0x00007f6670656990  0x00007f6670662a18  Yes (*)     /lib/x86_64-linux-gnu/libtinfo.so.5
0x00007f6675aed370  0x00007f6675e340fe  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
0x00007f667c3c1830  0x00007f667c3c5bdd  Yes (*)     /usr/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1
0x00007f667c1a7e00  0x00007f667c1b9b21  Yes (*)     /usr/lib/x86_64-linux-gnu/libelf.so.1
0x00007f66711606e0  0x00007f66711651a1  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-randr.so.0
0x00007f6670f2b840  0x00007f6670f48093  Yes (*)     /lib/x86_64-linux-gnu/libexpat.so.1
0x00007f6670d26960  0x00007f6670d26c2c  Yes (*)     /usr/lib/x86_64-linux-gnu/libxshmfence.so.1
0x00007f6670aae4f0  0x00007f6670b16176  Yes (*)     /usr/lib/x86_64-linux-gnu/libzstd.so.1
0x00007f666b5dc440  0x00007f666bafac7e  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
0x00007f666a8e5010  0x00007f666b129a62  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.440.100
0x00007f66703eb900  0x00007f6670421898  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-cbl.so.440.100
0x00007f6670186110  0x00007f66701c4bc4  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.440.100
(*): Shared library is missing debugging information.

* Threads
Id   Target Id         Frame 
* 1    Thread 0x7f669d1bc3c0 (LWP 22080) "gzdoom" 0x00007f669af5224a in __waitpid (pid=22184, stat_loc=0x55d94aa89e6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
2    Thread 0x7f66956e0700 (LWP 22081) "gzdoom" 0x00007f669af4d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55d94abc6c84 <renderPool+260>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
3    Thread 0x7f668ffff700 (LWP 22084) "threaded-ml" 0x00007f669ac63cf9 in __GI___poll (fds=0x7f6690009d90, nfds=3, timeout=130) at ../sysdeps/unix/sysv/linux/poll.c:29
4    Thread 0x7f66947db700 (LWP 22085) "gzdoom" 0x00007f669af4d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f669000861c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
5    Thread 0x7f667ea3d700 (LWP 22087) "gzdoom" 0x00007f669af4df85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f667ea3cd00, expected=0, futex_word=0x55d94cc1f394) at ../sysdeps/unix/sysv/linux/futex-internal.h:205

* FPU Status
R7: Empty   0x00000000000000000000
R6: Empty   0x00000000000000000000
R5: Empty   0x00000000000000000000
R4: Empty   0x00000000000000000000
R3: Empty   0x00000000000000000000
R2: Empty   0x00000000000000000000
R1: Empty   0x00000000000000000000
=>R0: Empty   0x00000000000000000000

Status Word:         0x0000                                            
                    TOP: 0
Control Word:        0x037f   IM DM ZM OM UM PM
                    PC: Extended Precision (64-bits)
                    RC: Round to nearest
Tag Word:            0xffff
Instruction Pointer: 0x00:0x00000000
Operand Pointer:     0x00:0x00000000
Opcode:              0x0000

* Registers
rax            0xfffffffffffffe00   -512
rbx            0x56a8   22184
rcx            0x7f669af5224a   140078663148106
rdx            0x0  0
rsi            0x55d94aa89e6c   94391748828780
rdi            0x56a8   22184
rbp            0x55d94aa89e6c   0x55d94aa89e6c
rsp            0x55d94aa89e30   0x55d94aa89e30
r8             0x0  0
r9             0x0  0
r10            0x0  0
r11            0x246    582
r12            0x0  0
r13            0x1090   4240
r14            0x55d94aa87360   94391748817760
r15            0x3d 61
rip            0x7f669af5224a   0x7f669af5224a <__waitpid+74>
eflags         0x246    [ PF ZF IF ]
cs             0x33 51
ss             0x2b 43
ds             0x0  0
es             0x0  0
fs             0x0  0
gs             0x0  0

* Backtrace

Thread 5 (Thread 0x7f667ea3d700 (LWP 22087)):
#0  0x00007f669af4df85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f667ea3cd00, expected=0, futex_word=0x55d94cc1f394) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
        __ret = -516
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg6 = <optimized out>
        __arg5 = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a6 = <optimized out>
        _a5 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x7f667ea3cd00, mutex=0x55d94cc1f340, cond=0x55d94cc1f368) at pthread_cond_wait.c:539
        spin = 0
        buffer = {__routine = 0x7f669af4d690 <__condvar_cleanup_waiting>, __arg = 0x7f667ea3cc50, __canceltype = 1287778800, __prev = 0x0}
        cbuffer = {wseq = 11869, cond = 0x55d94cc1f368, mutex = 0x55d94cc1f340, private = 0}
        err = <optimized out>
        g = 1
        flags = <optimized out>
        g1_start = <optimized out>
        maxspin = 0
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 5934
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_timedwait (cond=0x55d94cc1f368, mutex=0x55d94cc1f340, abstime=0x7f667ea3cd00) at pthread_cond_wait.c:667
No locals.
#3  0x000055d94a29a5b6 in OpenALSoundRenderer::BackgroundProc() ()
No symbol table info available.
#4  0x00007f669ba016df in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5  0x00007f669af476db in start_thread (arg=0x7f667ea3d700) at pthread_create.c:463
        pd = 0x7f667ea3d700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140078188058368, -1802724966991809340, 140078188056128, 0, 94391955669024, 140725587324048, 1745024416162100420, 1744681795720164548}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f669ac70a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 4 (Thread 0x7f66947db700 (LWP 22085)):
#0  0x00007f669af4d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f669000861c) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
        __ret = -512
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f6690009c50, cond=0x7f66900085f0) at pthread_cond_wait.c:502
        spin = 0
        buffer = {__routine = 0x7f669af4d690 <__condvar_cleanup_waiting>, __arg = 0x7f66947dac60, __canceltype = 1282735760, __prev = 0x0}
        cbuffer = {wseq = 56087, cond = 0x7f66900085f0, mutex = 0x7f6690009c50, private = 0}
        rt = <optimized out>
        err = <optimized out>
        g = 1
        flags = <optimized out>
        g1_start = <optimized out>
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 28043
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_wait (cond=0x7f66900085f0, mutex=0x7f6690009c50) at pthread_cond_wait.c:655
No locals.
#3  0x00007f669a62aa68 in pa_threaded_mainloop_wait () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007f6694a759a7 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#5  0x00007f6694a2e677 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#6  0x00007f669af476db in start_thread (arg=0x7f66947db700) at pthread_create.c:463
        pd = 0x7f66947db700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140078554658560, -1802724966991809340, 140078554656320, 0, 94391773500816, 140725587324560, 1744660841811784900, 1744681795720164548}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f669ac70a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 3 (Thread 0x7f668ffff700 (LWP 22084)):
#0  0x00007f669ac63cf9 in __GI___poll (fds=0x7f6690009d90, nfds=3, timeout=130) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f669a62a481 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007f669a61be40 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#3  0x00007f669a61c4d0 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007f669a61c560 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#5  0x00007f669a62a3c9 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#6  0x00007f66987e8318 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
No symbol table info available.
#7  0x00007f669af476db in start_thread (arg=0x7f668ffff700) at pthread_create.c:463
        pd = 0x7f668ffff700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140078479308544, -1802724966991809340, 140078479306304, 0, 94391779295280, 140725587324544, 1744705936820909252, 1744681795720164548}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#8  0x00007f669ac70a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7f66956e0700 (LWP 22081)):
#0  0x00007f669af4d9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55d94abc6c84 <renderPool+260>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
        __ret = -512
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55d94abc6c30 <renderPool+176>, cond=0x55d94abc6c58 <renderPool+216>) at pthread_cond_wait.c:502
        spin = 0
        buffer = {__routine = 0x7f669af4d690 <__condvar_cleanup_waiting>, __arg = 0x7f66956dfc60, __canceltype = 1700531280, __prev = 0x0}
        cbuffer = {wseq = 119735, cond = 0x55d94abc6c58 <renderPool+216>, mutex = 0x55d94abc6c30 <renderPool+176>, private = 0}
        rt = <optimized out>
        err = <optimized out>
        g = 1
        flags = <optimized out>
        g1_start = <optimized out>
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 59867
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_wait (cond=0x55d94abc6c58 <renderPool+216>, mutex=0x55d94abc6c30 <renderPool+176>) at pthread_cond_wait.c:655
No locals.
#3  0x00007f669b9fb8bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4  0x000055d949f95b07 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<ctpl::thread_pool::set_thread(int)::{lambda()#1}> > >::_M_run() ()
No symbol table info available.
#5  0x00007f669ba016df in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6  0x00007f669af476db in start_thread (arg=0x7f66956e0700) at pthread_create.c:463
        pd = 0x7f66956e0700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140078570407680, -1802724966991809340, 140078570405440, 0, 94391759537712, 140725587329920, 1744658778616870084, 1744681795720164548}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f669ac70a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 1 (Thread 0x7f669d1bc3c0 (LWP 22080)):
#0  0x00007f669af5224a in __waitpid (pid=22184, stat_loc=0x55d94aa89e6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
        resultvar = 18446744073709551104
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x000055d949e16e5c in ?? ()
No symbol table info available.
#2  <signal handler called>
No locals.
#3  0x000055d94a43ba39 in ?? ()
No symbol table info available.
#4  0x000055d94a43c680 in FSerializer::GetCompressedOutput() ()
No symbol table info available.
#5  0x000055d94a1014b9 in FLevelLocals::SnapshotLevel() ()
No symbol table info available.
#6  0x000055d94a0533b1 in G_DoSaveGame(bool, bool, FString, char const*) ()
No symbol table info available.
#7  0x000055d94a0541e3 in G_DoQuickSave() ()
No symbol table info available.
#8  0x000055d94a21c7a5 in Cmd_quicksave(FCommandLine&, int) ()
No symbol table info available.
#9  0x000055d94a402eee in FConsoleCommand::Run(FCommandLine&, int) ()
No symbol table info available.
#10 0x000055d94a4039f6 in C_DoCommand(char const*, int) ()
No symbol table info available.
#11 0x000055d94a403dee in AddCommandString(char const*, int) ()
No symbol table info available.
#12 0x000055d94a3fd6a0 in C_DoKey(event_t*, FKeyBindings*, FKeyBindings*) ()
No symbol table info available.
#13 0x000055d94a04fc76 in G_Responder(event_t*) ()
No symbol table info available.
#14 0x000055d94a424eed in D_ProcessEvents() ()
No symbol table info available.
#15 0x000055d94a03f79a in NetUpdate() ()
No symbol table info available.
#16 0x000055d94a042167 in TryRunTics() ()
No symbol table info available.
#17 0x000055d94a0374e4 in D_DoomLoop() ()
No symbol table info available.
#18 0x000055d94a03a9ea in ?? ()
No symbol table info available.
#19 0x000055d94a03bde9 in GameMain() ()
No symbol table info available.
#20 0x000055d949df735f in main ()
No symbol table info available.

And the error that causes the crash randomly without quicksaves or autosaves is:

*** Fatal Error ***
Address not mapped to object (signal 11)
Address: 0x1520

System: Linux Gamer2015 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

GZDoom version g4.5pre-88-g8306af298 (8306af298f30919636a851e9bbdd31041860fa7e)
Command line: /home/kevinc/Games/doom/gzdoom-master-20200818/gzdoom -iwad doom2.wad -config WolfBoA.ini -file /home/kevinc/misc/WolfenDoom
Wad 0: gzdoom.pk3
Wad 1: game_support.pk3
Wad 2: doom2.wad
Wad 3: 

Current map: C2M1

viewx = -1350.525472
viewy = 2247.269817
viewz = -354.865732
viewangle = 135.791049

Executing: gdb --quiet --batch --command=gdb-respfile-KOw0FG
[New LWP 22305]
[New LWP 22308]
[New LWP 22309]
[New LWP 22311]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f63a130024a in __waitpid (pid=22316, stat_loc=0x5605bf3bee6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30

* Loaded Libraries
From                To                  Syms Read   Shared Object Library
0x00007f63a307aff0  0x00007f63a3141379  Yes (*)     /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0
0x00007f63a2e57200  0x00007f63a2e5a70c  Yes         /lib/x86_64-linux-gnu/librt.so.1
0x00007f63a2c39f90  0x00007f63a2c4d640  Yes (*)     /lib/x86_64-linux-gnu/libz.so.1
0x00007f63a29d3e10  0x00007f63a2a0d780  Yes (*)     /usr/lib/x86_64-linux-gnu/libjpeg.so.8
0x00007f63a27c1320  0x00007f63a27cd3c2  Yes (*)     /lib/x86_64-linux-gnu/libbz2.so.1.0
0x00007f63a25bce50  0x00007f63a25bdbee  Yes         /lib/x86_64-linux-gnu/libdl.so.2
0x00007f63a2103290  0x00007f63a22817a3  Yes         /usr/local/lib/libzmusic.so.1
0x00007f63a1d7e490  0x00007f63a1e2d9de  Yes (*)     /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0x00007f63a195fa80  0x00007f63a1a1e1d5  Yes         /lib/x86_64-linux-gnu/libm.so.6
0x00007f63a172c3e0  0x00007f63a174a91e  Yes (*)     /usr/lib/x86_64-linux-gnu/libgomp.so.1
0x00007f63a150fac0  0x00007f63a152036d  Yes (*)     /lib/x86_64-linux-gnu/libgcc_s.so.1
0x00007f63a12f3bb0  0x00007f63a1302101  Yes         /lib/x86_64-linux-gnu/libpthread.so.0
0x00007f63a0f1e2d0  0x00007f63a1096eac  Yes         /lib/x86_64-linux-gnu/libc.so.6
0x00007f63a0c20ea0  0x00007f63a0cb72cf  Yes (*)     /usr/lib/x86_64-linux-gnu/libasound.so.2
0x00007f63a09b1b10  0x00007f63a09de672  Yes (*)     /usr/lib/x86_64-linux-gnu/libpulse.so.0
0x00007f63a0798bc0  0x00007f63a079f317  Yes (*)     /usr/lib/x86_64-linux-gnu/libsndio.so.6.1
0x00007f63a04767c0  0x00007f63a04fd828  Yes (*)     /usr/lib/x86_64-linux-gnu/libX11.so.6
0x00007f63a024f590  0x00007f63a025939f  Yes (*)     /usr/lib/x86_64-linux-gnu/libXext.so.6
0x00007f63a0044320  0x00007f63a0048d40  Yes (*)     /usr/lib/x86_64-linux-gnu/libXcursor.so.1
0x00007f639fe3faf0  0x00007f639fe403ec  Yes (*)     /usr/lib/x86_64-linux-gnu/libXinerama.so.1
0x00007f639fc31180  0x00007f639fc3b9d7  Yes (*)     /usr/lib/x86_64-linux-gnu/libXi.so.6
0x00007f639fa25c00  0x00007f639fa2bcf5  Yes (*)     /usr/lib/x86_64-linux-gnu/libXrandr.so.2
0x00007f639f820cd0  0x00007f639f821a8c  Yes (*)     /usr/lib/x86_64-linux-gnu/libXss.so.1
0x00007f639f61afc0  0x00007f639f61d8c8  Yes (*)     /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1
0x00007f639f418640  0x00007f639f4187d6  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
0x00007f639f20dff0  0x00007f639f212def  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
0x00007f639f002190  0x00007f639f003caf  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0
0x00007f639edc6010  0x00007f639ede0b3a  Yes (*)     /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0
0x00007f63a338ff10  0x00007f63a33aeb50  Yes         /lib64/ld-linux-x86-64.so.2
0x00007f639eb55f00  0x00007f639eb9aafe  Yes (*)     /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
0x00007f639e9021e0  0x00007f639e92db81  Yes (*)     /lib/x86_64-linux-gnu/libdbus-1.so.3
0x00007f639e6e5450  0x00007f639e6f235f  Yes (*)     /lib/x86_64-linux-gnu/libbsd.so.0
0x00007f639e4c5150  0x00007f639e4d7565  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb.so.1
0x00007f639e2b1a60  0x00007f639e2b7ab5  Yes (*)     /usr/lib/x86_64-linux-gnu/libXrender.so.1
0x00007f639e0ab540  0x00007f639e0ad876  Yes (*)     /usr/lib/x86_64-linux-gnu/libXfixes.so.3
0x00007f639dea3740  0x00007f639dea800a  Yes (*)     /usr/lib/x86_64-linux-gnu/libffi.so.6
0x00007f639dc2b400  0x00007f639dc820b4  Yes (*)     /lib/x86_64-linux-gnu/libsystemd.so.0
0x00007f639da16cd0  0x00007f639da1a867  Yes (*)     /lib/x86_64-linux-gnu/libwrap.so.0
0x00007f639d7a1750  0x00007f639d7f2435  Yes (*)     /usr/lib/x86_64-linux-gnu/libsndfile.so.1
0x00007f639d5961d0  0x00007f639d598848  Yes (*)     /usr/lib/x86_64-linux-gnu/libasyncns.so.0
0x00007f639d391da0  0x00007f639d392a9e  Yes (*)     /usr/lib/x86_64-linux-gnu/libXau.so.6
0x00007f639d18c110  0x00007f639d18da18  Yes (*)     /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
0x00007f639cf678e0  0x00007f639cf7e3e2  Yes (*)     /lib/x86_64-linux-gnu/liblzma.so.5
0x00007f639cd4ada0  0x00007f639cd62386  Yes (*)     /usr/lib/x86_64-linux-gnu/liblz4.so.1
0x00007f639ca38c00  0x00007f639cb04dd8  Yes (*)     /lib/x86_64-linux-gnu/libgcrypt.so.20
0x00007f639c817090  0x00007f639c8248a7  Yes         /lib/x86_64-linux-gnu/libnsl.so.1
0x00007f639c5a4170  0x00007f639c6072db  Yes (*)     /usr/lib/x86_64-linux-gnu/libFLAC.so.8
0x00007f639c394a70  0x00007f639c398c05  Yes (*)     /usr/lib/x86_64-linux-gnu/libogg.so.0
0x00007f639c16ace0  0x00007f639c180a82  Yes (*)     /usr/lib/x86_64-linux-gnu/libvorbis.so.0
0x00007f639bed2a00  0x00007f639bed512c  Yes (*)     /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
0x00007f639bca7830  0x00007f639bcb7152  Yes         /lib/x86_64-linux-gnu/libresolv.so.2
0x00007f639ba91be0  0x00007f639ba9bd48  Yes (*)     /lib/x86_64-linux-gnu/libgpg-error.so.0
0x00007f639b0738c0  0x00007f639b085a83  Yes (*)     /lib/x86_64-linux-gnu/libudev.so.1
0x00007f639addc060  0x00007f639ae299a8  Yes (*)     /usr/lib/x86_64-linux-gnu/libopenal.so.1
0x00007f639ab95440  0x00007f639abb92f3  Yes (*)     /usr/lib/x86_64-linux-gnu/libjack.so.0
0x00007f63985dd3d0  0x00007f63985e070f  Yes (*)     /usr/lib/x86_64-linux-gnu/libGL.so.1
0x00007f639836efb0  0x00007f6398378b45  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLX.so.0
0x00007f63980f4b60  0x00007f63980f79e7  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
0x00007f6383d39ef0  0x00007f6383d96a2f  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
0x00007f6383aea9a0  0x00007f6383aec6a3  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-tls.so.440.100
0x00007f6381ff2310  0x00007f63830534e7  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.440.100
0x00007f63819c1e20  0x00007f63819cad05  Yes (*)     /usr/lib/x86_64-linux-gnu/libdrm.so.2
0x00007f638162de40  0x00007f6381636285  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0
0x00007f63814214e0  0x00007f63814215db  Yes (*)     /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
0x00007f638121e4f0  0x00007f638121f303  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0
0x00007f638101ad30  0x00007f638101b5b6  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-present.so.0
0x00007f6380e150e0  0x00007f6380e17192  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1
0x00007f6380bcb3a0  0x00007f6380bff159  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan.so.1
0x00007f63740dd6d0  0x00007f6376313def  Yes (*)     /usr/lib/x86_64-linux-gnu/libLLVM-10.so.1
0x00007f6372c061b0  0x00007f6372c20600  Yes (*)     /usr/lib/x86_64-linux-gnu/libedit.so.2
0x00007f63729e0990  0x00007f63729eca18  Yes (*)     /lib/x86_64-linux-gnu/libtinfo.so.5
0x00007f6380420370  0x00007f63807670fe  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
0x00007f6380187830  0x00007f638018bbdd  Yes (*)     /usr/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1
0x00007f63736f6e00  0x00007f6373708b21  Yes (*)     /usr/lib/x86_64-linux-gnu/libelf.so.1
0x00007f63734ea6e0  0x00007f63734ef1a1  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-randr.so.0
0x00007f63732b5840  0x00007f63732d2093  Yes (*)     /lib/x86_64-linux-gnu/libexpat.so.1
0x00007f63730b0960  0x00007f63730b0c2c  Yes (*)     /usr/lib/x86_64-linux-gnu/libxshmfence.so.1
0x00007f6372e384f0  0x00007f6372ea0176  Yes (*)     /usr/lib/x86_64-linux-gnu/libzstd.so.1
0x00007f6371fb0440  0x00007f63724cec7e  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
0x00007f63712b9010  0x00007f6371afda62  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.440.100
0x00007f6371006900  0x00007f637103c898  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-cbl.so.440.100
0x00007f6370da1110  0x00007f6370ddfbc4  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.440.100
(*): Shared library is missing debugging information.

* Threads
Id   Target Id         Frame 
* 1    Thread 0x7f63a356a3c0 (LWP 22304) "gzdoom" 0x00007f63a130024a in __waitpid (pid=22316, stat_loc=0x5605bf3bee6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
2    Thread 0x7f639ba8e700 (LWP 22305) "gzdoom" 0x00007f63a12fb9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5605bf4fbc84 <renderPool+260>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
3    Thread 0x7f639ab89700 (LWP 22308) "threaded-ml" 0x00007f63a1011cf9 in __GI___poll (fds=0x7f6394009d90, nfds=3, timeout=280) at ../sysdeps/unix/sysv/linux/poll.c:29
4    Thread 0x7f639a388700 (LWP 22309) "gzdoom" 0x00007f63a12fb9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f6394008618) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
5    Thread 0x7f6399029700 (LWP 22311) "gzdoom" 0x00007f63a12fbf85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f6399028d00, expected=0, futex_word=0x5605c2619974) at ../sysdeps/unix/sysv/linux/futex-internal.h:205

* FPU Status
R7: Empty   0x00000000000000000000
R6: Empty   0x00000000000000000000
R5: Empty   0x00000000000000000000
R4: Empty   0x00000000000000000000
R3: Empty   0x00000000000000000000
R2: Empty   0x00000000000000000000
R1: Empty   0x00000000000000000000
=>R0: Empty   0x00000000000000000000

Status Word:         0x0000                                            
                    TOP: 0
Control Word:        0x037f   IM DM ZM OM UM PM
                    PC: Extended Precision (64-bits)
                    RC: Round to nearest
Tag Word:            0xffff
Instruction Pointer: 0x00:0x00000000
Operand Pointer:     0x00:0x00000000
Opcode:              0x0000

* Registers
rax            0xfffffffffffffe00   -512
rbx            0x572c   22316
rcx            0x7f63a130024a   140065882767946
rdx            0x0  0
rsi            0x5605bf3bee6c   94582683201132
rdi            0x572c   22316
rbp            0x5605bf3bee6c   0x5605bf3bee6c
rsp            0x5605bf3bee30   0x5605bf3bee30
r8             0x0  0
r9             0x0  0
r10            0x0  0
r11            0x246    582
r12            0x0  0
r13            0x1090   4240
r14            0x5605bf3bc360   94582683190112
r15            0x3d 61
rip            0x7f63a130024a   0x7f63a130024a <__waitpid+74>
eflags         0x246    [ PF ZF IF ]
cs             0x33 51
ss             0x2b 43
ds             0x0  0
es             0x0  0
fs             0x0  0
gs             0x0  0

* Backtrace

Thread 5 (Thread 0x7f6399029700 (LWP 22311)):
#0  0x00007f63a12fbf85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f6399028d00, expected=0, futex_word=0x5605c2619974) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
        __ret = -516
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg6 = <optimized out>
        __arg5 = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a6 = <optimized out>
        _a5 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x7f6399028d00, mutex=0x5605c2619920, cond=0x5605c2619948) at pthread_cond_wait.c:539
        spin = 0
        buffer = {__routine = 0x7f63a12fb690 <__condvar_cleanup_waiting>, __arg = 0x7f6399028c50, __canceltype = -1033791536, __prev = 0x0}
        cbuffer = {wseq = 2165, cond = 0x5605c2619948, mutex = 0x5605c2619920, private = 0}
        err = <optimized out>
        g = 1
        flags = <optimized out>
        g1_start = <optimized out>
        maxspin = 0
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 1082
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_timedwait (cond=0x5605c2619948, mutex=0x5605c2619920, abstime=0x7f6399028d00) at pthread_cond_wait.c:667
No locals.
#3  0x00005605bebcf5b6 in OpenALSoundRenderer::BackgroundProc() ()
No symbol table info available.
#4  0x00007f63a1daf6df in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5  0x00007f63a12f56db in start_thread (arg=0x7f6399029700) at pthread_create.c:463
        pd = 0x7f6399029700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140065745573632, 4329970647688222979, 140065745571392, 0, 94582922540928, 140731239666640, -4408998359942883069, -4408910775665092349}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f63a101ea3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 4 (Thread 0x7f639a388700 (LWP 22309)):
#0  0x00007f63a12fb9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f6394008618) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
        __ret = -512
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f6394009c50, cond=0x7f63940085f0) at pthread_cond_wait.c:502
        spin = 0
        buffer = {__routine = 0x7f63a12fb690 <__condvar_cleanup_waiting>, __arg = 0x7f639a387c60, __canceltype = -1023752800, __prev = 0x0}
        cbuffer = {wseq = 10352, cond = 0x7f63940085f0, mutex = 0x7f6394009c50, private = 0}
        rt = <optimized out>
        err = <optimized out>
        g = 0
        flags = <optimized out>
        g1_start = <optimized out>
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 5176
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_wait (cond=0x7f63940085f0, mutex=0x7f6394009c50) at pthread_cond_wait.c:655
No locals.
#3  0x00007f63a09d8a68 in pa_threaded_mainloop_wait () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007f639ae239a7 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#5  0x00007f639addc677 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#6  0x00007f63a12f56db in start_thread (arg=0x7f639a388700) at pthread_create.c:463
        pd = 0x7f639a388700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140065765885696, 4329970647688222979, 140065765883456, 0, 94582745727056, 140731239667152, -4409005154044274429, -4408910775665092349}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f63a101ea3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 3 (Thread 0x7f639ab89700 (LWP 22308)):
#0  0x00007f63a1011cf9 in __GI___poll (fds=0x7f6394009d90, nfds=3, timeout=280) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f63a09d8481 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007f63a09c9e40 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#3  0x00007f63a09ca4d0 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007f63a09ca560 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#5  0x00007f63a09d83c9 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#6  0x00007f639eb96318 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
No symbol table info available.
#7  0x00007f63a12f56db in start_thread (arg=0x7f639ab89700) at pthread_create.c:463
        pd = 0x7f639ab89700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140065774278400, 4329970647688222979, 140065774276160, 0, 94582746334576, 140731239667136, -4409006245502838525, -4408910775665092349}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#8  0x00007f63a101ea3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7f639ba8e700 (LWP 22305)):
#0  0x00007f63a12fb9f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x5605bf4fbc84 <renderPool+260>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
        __ret = -512
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x5605bf4fbc30 <renderPool+176>, cond=0x5605bf4fbc58 <renderPool+216>) at pthread_cond_wait.c:502
        spin = 0
        buffer = {__routine = 0x7f63a12fb690 <__condvar_cleanup_waiting>, __arg = 0x7f639ba8dc60, __canceltype = -600128672, __prev = 0x0}
        cbuffer = {wseq = 21843, cond = 0x5605bf4fbc58 <renderPool+216>, mutex = 0x5605bf4fbc30 <renderPool+176>, private = 0}
        rt = <optimized out>
        err = <optimized out>
        g = 1
        flags = <optimized out>
        g1_start = <optimized out>
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 10921
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_wait (cond=0x5605bf4fbc58 <renderPool+216>, mutex=0x5605bf4fbc30 <renderPool+176>) at pthread_cond_wait.c:655
No locals.
#3  0x00007f63a1da98bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4  0x00005605be8cab07 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<ctpl::thread_pool::set_thread(int)::{lambda()#1}> > >::_M_run() ()
No symbol table info available.
#5  0x00007f63a1daf6df in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6  0x00007f63a12f56db in start_thread (arg=0x7f639ba8e700) at pthread_create.c:463
        pd = 0x7f639ba8e700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140065790027520, 4329970647688222979, 140065790025280, 0, 94582726571568, 140731239672512, -4409004186602891005, -4408910775665092349}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f63a101ea3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 1 (Thread 0x7f63a356a3c0 (LWP 22304)):
#0  0x00007f63a130024a in __waitpid (pid=22316, stat_loc=0x5605bf3bee6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
        resultvar = 18446744073709551104
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00005605be74be5c in ?? ()
No symbol table info available.
#2  <signal handler called>
No locals.
#3  0x00005605beaca837 in FThinkerIterator::FThinkerIterator(FLevelLocals*, PClass const*, int) ()
No symbol table info available.
#4  0x00005605be9cf918 in ?? ()
No symbol table info available.
#5  0x00005605bedd72dd in VMNativeFunction::NativeScriptCall(VMFunction*, VMValue*, int, VMReturn*, int) ()
No symbol table info available.
#6  0x00007f63a3445d43 in ?? ()
No symbol table info available.
#7  0x419015c7d072c2ff in ?? ()
No symbol table info available.
#8  0xc095209d57e4d919 in ?? ()
No symbol table info available.
#9  0x40c0000000000000 in ?? ()
No symbol table info available.
#10 0x00005605dc5ae590 in ?? ()
No symbol table info available.
#11 0x00007ffe8b8c9430 in ?? ()
No symbol table info available.
#12 0x00005605dc2f0c50 in ?? ()
No symbol table info available.
#13 0x00007ffe8b8c93c0 in ?? ()
No symbol table info available.
#14 0x00005605cdb32cd0 in ?? ()
No symbol table info available.
#15 0x00007ffe8b8c94a0 in ?? ()
No symbol table info available.
#16 0xbfeacc08e42b1f5b in ?? ()
No symbol table info available.
#17 0x00000000000008a2 in ?? ()
No symbol table info available.
#18 0x000008d700000000 in ?? ()
No symbol table info available.
#19 0x0000000000000000 in ?? ()
No symbol table info available.
Ozymandias81 commented 4 years ago

While I am completely ignorant with Linux, I am trying to interprete errors:

I was reading this by checking err lines mentioned on the report, on top of the .h file there are notes how kernel interprete these signals (just trying to understand, I may be wrong)

https://code.woboq.org/userspace/glibc/sysdeps/unix/sysv/linux/futex-internal.h.html#205

alexey-lysiuk commented 4 years ago

I rebased this PR, so it represents the current development version of GZDoom. There is a chance that it's the same old problem with bogus pointer serialization.

I suggest you to build own version with these changes, maybe using Debug configuration. The simplest test would be loading of a few existing saved games. It will fail with an error when invalid pointer is encountered. Even if it won't change anything regarding the crash, this will help to eliminate one potential cause.

Talon1024 commented 4 years ago

I think the pointer serialization issues may have been fixed, because I was able to do a full playthrough of Chapter 1 using more recent builds of GZDoom.

I just tried playing C2M1 and loading my previous savegames on that build. I was able to load all of the savegames I had, with no invalid pointer errors.

Today, I just tried to play through C2M1, and it crashed when I tried to quicksave outside of the first mutant laboratory:

*** Fatal Error ***
Segmentation fault (signal 11)
Address: (nil)

System: Linux Gamer2015 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

GZDoom version g4.5pre-91-g4b859a5e3 (4b859a5e374a186c9815a923689eeb50b03e2246)
Command line: /home/kevinc/Games/doom/gzdoom-pointer_serialization-20200822/gzdoom -iwad doom2.wad -config WolfBoA.ini -file /home/kevinc/misc/WolfenDoom
Wad 0: gzdoom.pk3
Wad 1: game_support.pk3
Wad 2: doom2.wad
Wad 3: 

Current map: C2M1

viewx = -776.732051
viewy = 2172.684904
viewz = -199.866078
viewangle = 48.004761

Executing: gdb --quiet --batch --command=gdb-respfile-wT3Zxe
[New LWP 10090]
[New LWP 10093]
[New LWP 10094]
[New LWP 10098]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f9073f2824a in __waitpid (pid=10205, stat_loc=0x55cf2095ae6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30

* Loaded Libraries
From                To                  Syms Read   Shared Object Library
0x00007f9075ca2ff0  0x00007f9075d69379  Yes (*)     /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0
0x00007f9075a7f200  0x00007f9075a8270c  Yes         /lib/x86_64-linux-gnu/librt.so.1
0x00007f9075861f90  0x00007f9075875640  Yes (*)     /lib/x86_64-linux-gnu/libz.so.1
0x00007f90755fbe10  0x00007f9075635780  Yes (*)     /usr/lib/x86_64-linux-gnu/libjpeg.so.8
0x00007f90753e9320  0x00007f90753f53c2  Yes (*)     /lib/x86_64-linux-gnu/libbz2.so.1.0
0x00007f90751e4e50  0x00007f90751e5bee  Yes         /lib/x86_64-linux-gnu/libdl.so.2
0x00007f9074d2b290  0x00007f9074ea97a3  Yes         /usr/local/lib/libzmusic.so.1
0x00007f90749a6490  0x00007f9074a559de  Yes (*)     /usr/lib/x86_64-linux-gnu/libstdc++.so.6
0x00007f9074587a80  0x00007f90746461d5  Yes         /lib/x86_64-linux-gnu/libm.so.6
0x00007f90743543e0  0x00007f907437291e  Yes (*)     /usr/lib/x86_64-linux-gnu/libgomp.so.1
0x00007f9074137ac0  0x00007f907414836d  Yes (*)     /lib/x86_64-linux-gnu/libgcc_s.so.1
0x00007f9073f1bbb0  0x00007f9073f2a101  Yes         /lib/x86_64-linux-gnu/libpthread.so.0
0x00007f9073b462d0  0x00007f9073cbeeac  Yes         /lib/x86_64-linux-gnu/libc.so.6
0x00007f9073848ea0  0x00007f90738df2cf  Yes (*)     /usr/lib/x86_64-linux-gnu/libasound.so.2
0x00007f90735d9b10  0x00007f9073606672  Yes (*)     /usr/lib/x86_64-linux-gnu/libpulse.so.0
0x00007f90733c0bc0  0x00007f90733c7317  Yes (*)     /usr/lib/x86_64-linux-gnu/libsndio.so.6.1
0x00007f907309e7c0  0x00007f9073125828  Yes (*)     /usr/lib/x86_64-linux-gnu/libX11.so.6
0x00007f9072e77590  0x00007f9072e8139f  Yes (*)     /usr/lib/x86_64-linux-gnu/libXext.so.6
0x00007f9072c6c320  0x00007f9072c70d40  Yes (*)     /usr/lib/x86_64-linux-gnu/libXcursor.so.1
0x00007f9072a67af0  0x00007f9072a683ec  Yes (*)     /usr/lib/x86_64-linux-gnu/libXinerama.so.1
0x00007f9072859180  0x00007f90728639d7  Yes (*)     /usr/lib/x86_64-linux-gnu/libXi.so.6
0x00007f907264dc00  0x00007f9072653cf5  Yes (*)     /usr/lib/x86_64-linux-gnu/libXrandr.so.2
0x00007f9072448cd0  0x00007f9072449a8c  Yes (*)     /usr/lib/x86_64-linux-gnu/libXss.so.1
0x00007f9072242fc0  0x00007f90722458c8  Yes (*)     /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1
0x00007f9072040640  0x00007f90720407d6  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
0x00007f9071e35ff0  0x00007f9071e3adef  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-client.so.0
0x00007f9071c2a190  0x00007f9071c2bcaf  Yes (*)     /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0
0x00007f90719ee010  0x00007f9071a08b3a  Yes (*)     /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0
0x00007f9075fb7f10  0x00007f9075fd6b50  Yes         /lib64/ld-linux-x86-64.so.2
0x00007f907177df00  0x00007f90717c2afe  Yes (*)     /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
0x00007f907152a1e0  0x00007f9071555b81  Yes (*)     /lib/x86_64-linux-gnu/libdbus-1.so.3
0x00007f907130d450  0x00007f907131a35f  Yes (*)     /lib/x86_64-linux-gnu/libbsd.so.0
0x00007f90710ed150  0x00007f90710ff565  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb.so.1
0x00007f9070ed9a60  0x00007f9070edfab5  Yes (*)     /usr/lib/x86_64-linux-gnu/libXrender.so.1
0x00007f9070cd3540  0x00007f9070cd5876  Yes (*)     /usr/lib/x86_64-linux-gnu/libXfixes.so.3
0x00007f9070acb740  0x00007f9070ad000a  Yes (*)     /usr/lib/x86_64-linux-gnu/libffi.so.6
0x00007f9070853400  0x00007f90708aa0b4  Yes (*)     /lib/x86_64-linux-gnu/libsystemd.so.0
0x00007f907063ecd0  0x00007f9070642867  Yes (*)     /lib/x86_64-linux-gnu/libwrap.so.0
0x00007f90703c9750  0x00007f907041a435  Yes (*)     /usr/lib/x86_64-linux-gnu/libsndfile.so.1
0x00007f90701be1d0  0x00007f90701c0848  Yes (*)     /usr/lib/x86_64-linux-gnu/libasyncns.so.0
0x00007f906ffb9da0  0x00007f906ffbaa9e  Yes (*)     /usr/lib/x86_64-linux-gnu/libXau.so.6
0x00007f906fdb4110  0x00007f906fdb5a18  Yes (*)     /usr/lib/x86_64-linux-gnu/libXdmcp.so.6
0x00007f906fb8f8e0  0x00007f906fba63e2  Yes (*)     /lib/x86_64-linux-gnu/liblzma.so.5
0x00007f906f972da0  0x00007f906f98a386  Yes (*)     /usr/lib/x86_64-linux-gnu/liblz4.so.1
0x00007f906f660c00  0x00007f906f72cdd8  Yes (*)     /lib/x86_64-linux-gnu/libgcrypt.so.20
0x00007f906f43f090  0x00007f906f44c8a7  Yes         /lib/x86_64-linux-gnu/libnsl.so.1
0x00007f906f1cc170  0x00007f906f22f2db  Yes (*)     /usr/lib/x86_64-linux-gnu/libFLAC.so.8
0x00007f906efbca70  0x00007f906efc0c05  Yes (*)     /usr/lib/x86_64-linux-gnu/libogg.so.0
0x00007f906ed92ce0  0x00007f906eda8a82  Yes (*)     /usr/lib/x86_64-linux-gnu/libvorbis.so.0
0x00007f906eafaa00  0x00007f906eafd12c  Yes (*)     /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2
0x00007f906e8cf830  0x00007f906e8df152  Yes         /lib/x86_64-linux-gnu/libresolv.so.2
0x00007f906e6b9be0  0x00007f906e6c3d48  Yes (*)     /lib/x86_64-linux-gnu/libgpg-error.so.0
0x00007f906dc9b8c0  0x00007f906dcada83  Yes (*)     /lib/x86_64-linux-gnu/libudev.so.1
0x00007f906da04060  0x00007f906da519a8  Yes (*)     /usr/lib/x86_64-linux-gnu/libopenal.so.1
0x00007f906d7bd440  0x00007f906d7e12f3  Yes (*)     /usr/lib/x86_64-linux-gnu/libjack.so.0
0x00007f90570483d0  0x00007f905704b70f  Yes (*)     /usr/lib/x86_64-linux-gnu/libGL.so.1
0x00007f906c018fb0  0x00007f906c022b45  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLX.so.0
0x00007f9056d90b60  0x00007f9056d939e7  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0
0x00007f9056a8bef0  0x00007f9056ae8a2f  Yes (*)     /usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
0x00007f905683c9a0  0x00007f905683e6a3  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-tls.so.440.100
0x00007f9054d44310  0x00007f9055da54e7  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-glcore.so.440.100
0x00007f9054713e20  0x00007f905471cd05  Yes (*)     /usr/lib/x86_64-linux-gnu/libdrm.so.2
0x00007f905428ae40  0x00007f9054293285  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0
0x00007f905407e4e0  0x00007f905407e5db  Yes (*)     /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1
0x00007f904fdfd4f0  0x00007f904fdfe303  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0
0x00007f904fbf9d30  0x00007f904fbfa5b6  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-present.so.0
0x00007f904f9f40e0  0x00007f904f9f6192  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1
0x00007f904f7aa3a0  0x00007f904f7de159  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan.so.1
0x00007f90440dd6d0  0x00007f9046313def  Yes (*)     /usr/lib/x86_64-linux-gnu/libLLVM-10.so.1
0x00007f904e05c1b0  0x00007f904e076600  Yes (*)     /usr/lib/x86_64-linux-gnu/libedit.so.2
0x00007f904de36990  0x00007f904de42a18  Yes (*)     /lib/x86_64-linux-gnu/libtinfo.so.5
0x00007f904efff370  0x00007f904f3460fe  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
0x00007f904ed66830  0x00007f904ed6abdd  Yes (*)     /usr/lib/x86_64-linux-gnu/libdrm_amdgpu.so.1
0x00007f904eb4ce00  0x00007f904eb5eb21  Yes (*)     /usr/lib/x86_64-linux-gnu/libelf.so.1
0x00007f904e9406e0  0x00007f904e9451a1  Yes (*)     /usr/lib/x86_64-linux-gnu/libxcb-randr.so.0
0x00007f904e70b840  0x00007f904e728093  Yes (*)     /lib/x86_64-linux-gnu/libexpat.so.1
0x00007f904e506960  0x00007f904e506c2c  Yes (*)     /usr/lib/x86_64-linux-gnu/libxshmfence.so.1
0x00007f904e28e4f0  0x00007f904e2f6176  Yes (*)     /usr/lib/x86_64-linux-gnu/libzstd.so.1
0x00007f904d406440  0x00007f904d924c7e  Yes (*)     /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
0x00007f904c70f010  0x00007f904cf53a62  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-glvkspirv.so.440.100
0x00007f904c45c900  0x00007f904c492898  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-cbl.so.440.100
0x00007f904c1f7110  0x00007f904c235bc4  Yes (*)     /usr/lib/x86_64-linux-gnu/libnvidia-fatbinaryloader.so.440.100
(*): Shared library is missing debugging information.

* Threads
Id   Target Id         Frame 
* 1    Thread 0x7f90761923c0 (LWP 10089) "gzdoom" 0x00007f9073f2824a in __waitpid (pid=10205, stat_loc=0x55cf2095ae6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
2    Thread 0x7f906e6b6700 (LWP 10090) "gzdoom" 0x00007f9073f239f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55cf20a97c80 <renderPool+256>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
3    Thread 0x7f906d7b1700 (LWP 10093) "threaded-ml" 0x00007f9073c39cf9 in __GI___poll (fds=0x7f9068009d90, nfds=3, timeout=721) at ../sysdeps/unix/sysv/linux/poll.c:29
4    Thread 0x7f906cfb0700 (LWP 10094) "gzdoom" 0x00007f9073f239f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f9068008618) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
5    Thread 0x7f9057a94700 (LWP 10098) "gzdoom" 0x00007f9073f23f85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f9057a93d00, expected=0, futex_word=0x55cf22601754) at ../sysdeps/unix/sysv/linux/futex-internal.h:205

* FPU Status
R7: Empty   0x00000000000000000000
R6: Empty   0x00000000000000000000
R5: Empty   0x00000000000000000000
R4: Empty   0x00000000000000000000
R3: Empty   0x00000000000000000000
R2: Empty   0x00000000000000000000
R1: Empty   0x00000000000000000000
=>R0: Empty   0x00000000000000000000

Status Word:         0x0000                                            
                    TOP: 0
Control Word:        0x037f   IM DM ZM OM UM PM
                    PC: Extended Precision (64-bits)
                    RC: Round to nearest
Tag Word:            0xffff
Instruction Pointer: 0x00:0x00000000
Operand Pointer:     0x00:0x00000000
Opcode:              0x0000

* Registers
rax            0xfffffffffffffe00   -512
rbx            0x27dd   10205
rcx            0x7f9073f2824a   140258397291082
rdx            0x0  0
rsi            0x55cf2095ae6c   94348093271660
rdi            0x27dd   10205
rbp            0x55cf2095ae6c   0x55cf2095ae6c
rsp            0x55cf2095ae30   0x55cf2095ae30
r8             0x0  0
r9             0x0  0
r10            0x0  0
r11            0x246    582
r12            0x0  0
r13            0x1090   4240
r14            0x55cf20958360   94348093260640
r15            0x3b 59
rip            0x7f9073f2824a   0x7f9073f2824a <__waitpid+74>
eflags         0x246    [ PF ZF IF ]
cs             0x33 51
ss             0x2b 43
ds             0x0  0
es             0x0  0
fs             0x0  0
gs             0x0  0

* Backtrace

Thread 5 (Thread 0x7f9057a94700 (LWP 10098)):
#0  0x00007f9073f23f85 in futex_abstimed_wait_cancelable (private=<optimized out>, abstime=0x7f9057a93d00, expected=0, futex_word=0x55cf22601754) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
        __ret = -516
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg6 = <optimized out>
        __arg5 = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a6 = <optimized out>
        _a5 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x7f9057a93d00, mutex=0x55cf22601700, cond=0x55cf22601728) at pthread_cond_wait.c:539
        spin = 0
        buffer = {__routine = 0x7f9073f23690 <__condvar_cleanup_waiting>, __arg = 0x7f9057a93c50, __canceltype = 576722352, __prev = 0x0}
        cbuffer = {wseq = 16001, cond = 0x55cf22601728, mutex = 0x55cf22601700, private = 0}
        err = <optimized out>
        g = 1
        flags = <optimized out>
        g1_start = <optimized out>
        maxspin = 0
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 8000
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_timedwait (cond=0x55cf22601728, mutex=0x55cf22601700, abstime=0x7f9057a93d00) at pthread_cond_wait.c:667
No locals.
#3  0x000055cf2016a7c6 in OpenALSoundRenderer::BackgroundProc() ()
No symbol table info available.
#4  0x00007f90749d76df in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#5  0x00007f9073f1d6db in start_thread (arg=0x7f9057a94700) at pthread_create.c:463
        pd = 0x7f9057a94700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140257922729728, 8070267781069111359, 140257922727488, 0, 94348268992656, 140726161904768, -8007410464312557505, -8007472523742314433}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f9073c46a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 4 (Thread 0x7f906cfb0700 (LWP 10094)):
#0  0x00007f9073f239f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x7f9068008618) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
        __ret = -512
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x7f9068009c50, cond=0x7f90680085f0) at pthread_cond_wait.c:502
        spin = 0
        buffer = {__routine = 0x7f9073f23690 <__condvar_cleanup_waiting>, __arg = 0x7f906cfafc60, __canceltype = 583532880, __prev = 0x0}
        cbuffer = {wseq = 71096, cond = 0x7f90680085f0, mutex = 0x7f9068009c50, private = 0}
        rt = <optimized out>
        err = <optimized out>
        g = 0
        flags = <optimized out>
        g1_start = <optimized out>
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 35548
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_wait (cond=0x7f90680085f0, mutex=0x7f9068009c50) at pthread_cond_wait.c:655
No locals.
#3  0x00007f9073600a68 in pa_threaded_mainloop_wait () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007f906da4b9a7 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#5  0x00007f906da04677 in ?? () from /usr/lib/x86_64-linux-gnu/libopenal.so.1
No symbol table info available.
#6  0x00007f9073f1d6db in start_thread (arg=0x7f906cfb0700) at pthread_create.c:463
        pd = 0x7f906cfb0700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258280408832, 8070267781069111359, 140258280406592, 0, 94348129744064, 140726161905280, -8007540616854011841, -8007472523742314433}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f9073c46a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 3 (Thread 0x7f906d7b1700 (LWP 10093)):
#0  0x00007f9073c39cf9 in __GI___poll (fds=0x7f9068009d90, nfds=3, timeout=721) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f9073600481 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#2  0x00007f90735f1e40 in pa_mainloop_poll () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#3  0x00007f90735f24d0 in pa_mainloop_iterate () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#4  0x00007f90735f2560 in pa_mainloop_run () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#5  0x00007f90736003c9 in ?? () from /usr/lib/x86_64-linux-gnu/libpulse.so.0
No symbol table info available.
#6  0x00007f90717be318 in ?? () from /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so
No symbol table info available.
#7  0x00007f9073f1d6db in start_thread (arg=0x7f906d7b1700) at pthread_create.c:463
        pd = 0x7f906d7b1700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258288801536, 8070267781069111359, 140258288799296, 0, 94348130368736, 140726161905264, -8007537301676130241, -8007472523742314433}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#8  0x00007f9073c46a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7f906e6b6700 (LWP 10090)):
#0  0x00007f9073f239f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55cf20a97c80 <renderPool+256>) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
        __ret = -512
        oldtype = 0
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55cf20a97c30 <renderPool+176>, cond=0x55cf20a97c58 <renderPool+216>) at pthread_cond_wait.c:502
        spin = 0
        buffer = {__routine = 0x7f9073f23690 <__condvar_cleanup_waiting>, __arg = 0x7f906e6b5c60, __canceltype = 990964400, __prev = 0x0}
        cbuffer = {wseq = 170384, cond = 0x55cf20a97c58 <renderPool+216>, mutex = 0x55cf20a97c30 <renderPool+176>, private = 0}
        rt = <optimized out>
        err = <optimized out>
        g = 0
        flags = <optimized out>
        g1_start = <optimized out>
        signals = <optimized out>
        result = 0
        wseq = <optimized out>
        seq = 85192
        private = <optimized out>
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        rt = <optimized out>
        s = <optimized out>
#2  __pthread_cond_wait (cond=0x55cf20a97c58 <renderPool+216>, mutex=0x55cf20a97c30 <renderPool+176>) at pthread_cond_wait.c:655
No locals.
#3  0x00007f90749d18bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4  0x000055cf1fe65a67 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<ctpl::thread_pool::set_thread(int)::{lambda()#1}> > >::_M_run() ()
No symbol table info available.
#5  0x00007f90749d76df in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
No symbol table info available.
#6  0x00007f9073f1d6db in start_thread (arg=0x7f906e6b6700) at pthread_create.c:463
        pd = 0x7f906e6b6700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140258304550656, 8070267781069111359, 140258304548416, 0, 94348110644784, 140726161910640, -8007535242776182721, -8007472523742314433}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#7  0x00007f9073c46a3f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 1 (Thread 0x7f90761923c0 (LWP 10089)):
#0  0x00007f9073f2824a in __waitpid (pid=10205, stat_loc=0x55cf2095ae6c, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:30
        resultvar = 18446744073709551104
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x000055cf1fce6dbc in ?? ()
No symbol table info available.
#2  <signal handler called>
No locals.
#3  0x000055cf2031a0d2 in ?? ()
No symbol table info available.
#4  0x000055cf2031a0e0 in ?? ()
No symbol table info available.
#5  0x000055cf2031a0e0 in ?? ()
No symbol table info available.
#6  0x000055cf2031a22b in PClass::WriteAllFields(FSerializer&, void const*) const ()
No symbol table info available.
#7  0x000055cf2030bd60 in ?? ()
No symbol table info available.
#8  0x000055cf2030c890 in FSerializer::GetCompressedOutput() ()
No symbol table info available.
#9  0x000055cf1ffd14b9 in FLevelLocals::SnapshotLevel() ()
No symbol table info available.
#10 0x000055cf1ff23311 in G_DoSaveGame(bool, bool, FString, char const*) ()
No symbol table info available.
#11 0x000055cf1ff24143 in G_DoQuickSave() ()
No symbol table info available.
#12 0x000055cf200ec9b5 in Cmd_quicksave(FCommandLine&, int) ()
No symbol table info available.
#13 0x000055cf202d30fe in FConsoleCommand::Run(FCommandLine&, int) ()
No symbol table info available.
#14 0x000055cf202d3c06 in C_DoCommand(char const*, int) ()
No symbol table info available.
#15 0x000055cf202d3ffe in AddCommandString(char const*, int) ()
No symbol table info available.
#16 0x000055cf202cd8b0 in C_DoKey(event_t*, FKeyBindings*, FKeyBindings*) ()
No symbol table info available.
#17 0x000055cf1ff1fbd6 in G_Responder(event_t*) ()
No symbol table info available.
#18 0x000055cf202f50fd in D_ProcessEvents() ()
No symbol table info available.
#19 0x000055cf1ff0f6fa in NetUpdate() ()
No symbol table info available.
#20 0x000055cf1ff120c7 in TryRunTics() ()
No symbol table info available.
#21 0x000055cf1ff07444 in D_DoomLoop() ()
No symbol table info available.
#22 0x000055cf1ff0a94a in ?? ()
No symbol table info available.
#23 0x000055cf1ff0bd49 in GameMain() ()
No symbol table info available.
#24 0x000055cf1fcc72bf in main ()
No symbol table info available.
alexey-lysiuk commented 4 years ago

Release configuration isn’t suitable to investigate such issues.

Talon1024 commented 4 years ago

I just got this random crash while playing through C2M1 on a debug build:

gzdoomd: ../src/playsim/p_actionfunctions.cpp:4275: int AF_AActor_A_RemoveChildren(VMValue*, int, VMReturn*, int, const uint8_t*): Assertion `reginfo[paramnum] == REGT_POINTER && (AssertObject(param[paramnum].a))' failed.

Unfortunately, I don't know what exactly I can do to be more helpful.

alexey-lysiuk commented 4 years ago

You can run GZDoom under gdb using this guide.

Here is how I would investigate the given assertion failure.

This is how it's possible reconstruct a scripting callstack. As you can see, it's not that simple. Investigating this issue further, and even fixing it, is another story. I would suggest to install some IDE with debugging support, e.g. Qt Creator, to make the process a bit easier.

Playing C2M1 for some time, I managed to reproduce this assertion failure once. The current script line was inside EffectsManager.CullEffects() function. Apparently, a bogus pointer was stored in effects[i].effect. Have no idea how it's possible. Maybe we have a garbage collection issue in dynamic arrays implementation.

Talon1024 commented 4 years ago

I just got the same two errors on C2M5_A with commit 26753c8014df539bd1fdf045fabb5f7b853b88b9. This makes me wonder, though... Why am I not getting such errors on C1M2? It has many of the same features as C2M1 and C2M5_A.

Username-N00b-is-not-available commented 4 years ago

@Talon1024 Could you please remember what area were you in before the crash? Maybe we could localize the error, it would be easier in case of C2M5_A as it is 'linear'.

Ozymandias81 commented 4 years ago

@Talon1024 does this still happen or can we close this issue?

Talon1024 commented 4 years ago

Yes, this is still happening, even on a recent September 15 dev build.

Talon1024 commented 4 years ago

So, as an experiment, I made the EffectsManager code log every actor it's about to cull, and I noticed that the game was always trying to cull a "grassX" when it crashes. I noticed all of the winter grass spawners were dormant, so I just removed all the dormant flags from the grass spawners on C2M1 in UDB, and I was able to play for about 15 minutes without the game crashing.

And now I just finished the entire level without a single crash...

AFADoomer commented 4 years ago

Interesting... RandomSpawners completely ignore the Dormant flag (and it doesn't get transferred to their resulting spawned actors), so I'm not sure what the relation is here. This would explain why the problem doesn't show up in some other maps, though.

EDIT: OK, I was wrong, it does transfer it to the spawned actor (copies SpawnFlags over directly).

Talon1024 commented 4 years ago

This would explain why the problem doesn't show up in some other maps, though.

I also had this problem on C2M5_A and C2M5_B.

AFADoomer commented 4 years ago

I also had this problem on C2M5_A and C2M5_B.

But not on every other map with grass spawners...

AFADoomer commented 4 years ago

Can you test with the changes I've made in 47e7d549a4db9a8deecd7fa5f6c55528af19e1bb to see if there's any difference (with or without the DORMANT flags set)?

Talon1024 commented 4 years ago

Yes, I still get the crash with an unmodified version of C2M1. However, without the DORMANT flags set, the crash does not happen.

BTW, the crash seems to happen in the garage area near (X: -4448, Y: 4256) most of the time.

Talon1024 commented 4 years ago

Still getting the random crashes, although thankfully, they occur less often now.

I tried investigating the savegame crash, and it appears that some objects in w->mDObjects weren't accessible.

alexey-lysiuk commented 4 years ago

I tried investigating the savegame crash, and it appears that some objects in w->mDObjects weren't accessible.

Were these object nullptr or garbage pointers?

Talon1024 commented 4 years ago

I think they were garbage pointers. Regardless, the message I got when trying to access those pointers was "Cannot access memory at address ..."

Here's the full log on Pastebin.

Talon1024 commented 3 years ago

Well, regardless of the details of each crash, it seems like these crashes are related to the EffectsManager, and how it adds/culls "effect" actors in the level. That makes me wonder if it would be safer to cull the effects by changing their StatNums to non-thinking StatNums, rather than adding/removing them from the level.

AFADoomer commented 3 years ago

You're welcome to try. Problem is that most of the culled actors do think... The majority of them are spawners for rain, snow, etc.

Why does this only happen for you? It feels like there is some underlying problem with pointers in the engine that the Linux builds don't handle the same as Windows.

Talon1024 commented 3 years ago

This issue seems to have been taken care of... At least, for me for now. I'll re-open this issue if it becomes a major problem again.