alexbatalov / fallout1-ce

Fallout for modern operating systems
Other
2.2k stars 150 forks source link

sometimes segfaults when trying to move on the worldmap #98

Open badfiles opened 1 year ago

badfiles commented 1 year ago
Reading symbols from ./fallout-ce...
(gdb) r
Starting program: /home/*/bin/fallout/fallout-ce 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeb2a3640 (LWP 48302)]
[New Thread 0x7fffeaaa2640 (LWP 48303)]
[Thread 0x7fffeaaa2640 (LWP 48303) exited]
[New Thread 0x7fffeaaa2640 (LWP 48304)]
[Thread 0x7fffeaaa2640 (LWP 48304) exited]
[New Thread 0x7fffeaaa2640 (LWP 48306)]
[Thread 0x7fffeaaa2640 (LWP 48306) exited]
[New Thread 0x7fffeaaa2640 (LWP 48307)]
[New Thread 0x7fffe943a640 (LWP 48308)]
[New Thread 0x7fffe93f9640 (LWP 48309)]

Thread 1 "fallout-ce" received signal SIGSEGV, Segmentation fault.
0x00007ffff76a2ed0 in _int_free (av=0x7ffff7819c80 <main_arena>, p=0x55555694c2a0, have_lock=<optimized out>) at ./malloc/malloc.c:4587
4587    ./malloc/malloc.c: No such file or directory.
(gdb) backtrace
#0  0x00007ffff76a2ed0 in _int_free (av=0x7ffff7819c80 <main_arena>, p=0x55555694c2a0, have_lock=<optimized out>) at ./malloc/malloc.c:4587
#1  0x00007ffff76a54d3 in __GI___libc_free (mem=<optimized out>) at ./malloc/malloc.c:3391
#2  0x00007ffff7ebf6df in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#3  0x00007ffff7ec2451 in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#4  0x00007ffff7ec35fc in ?? () from /lib/x86_64-linux-gnu/libSDL2-2.0.so.0
#5  0x000055555561a6e0 in fallout::GNW95_SetPalette (palette=palette@entry=0x7fffffffcf20 "")
    at /home/runner/work/fallout1-ce/fallout1-ce/src/plib/gnw/svga.cc:275
#6  0x0000555555607297 in fallout::setSystemPalette (palette=palette@entry=0x555555697a60 <fallout::cmap> "")
    at /home/runner/work/fallout1-ce/fallout1-ce/src/plib/color/color.cc:260
#7  0x000055555560737f in fallout::fadeSystemPalette (oldPalette=<optimized out>, newPalette=0x555555697a60 <fallout::cmap> "", steps=steps@entry=0)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/plib/color/color.cc:231
#8  0x00005555555eb1e5 in fallout::interpretError (format=format@entry=0x55555562fd10 "programReturnStackPushValue: Stack overflow.")
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:255
#9  0x00005555555f04ae in fallout::programReturnStackPushValue (program=program@entry=0x555556c0a220, programValue=...)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:3209
#10 0x00005555555f06b6 in fallout::programReturnStackPushInteger (value=24, program=0x555556c0a220)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:3220
#11 fallout::setupCallWithReturnVal (returnAddress=24, address=1308, program=0x555556c0a220)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:2642
#12 fallout::setupCall (program=0x555556c0a220, address=1308, returnAddress=returnAddress@entry=24)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:2658
#13 0x00005555555f0b63 in fallout::executeProcedure (program=program@entry=0x555556c0a220, procedureIndex=<optimized out>)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:2807
#14 0x00005555555d2385 in fallout::exec_script_proc (sid=<optimized out>, action=action@entry=23)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/game/scripts.cc:1133
#15 0x00005555555d39e6 in fallout::scr_exec_map_update_scripts () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/scripts.cc:2456
#16 0x00005555555d3a2d in fallout::scr_map_q_process (obj=<optimized out>, data=<optimized out>)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/game/scripts.cc:383
#17 0x00005555555cf40f in fallout::queue_process () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/queue.cc:339
#18 0x00005555555e20f2 in fallout::world_map (ctx=...) at /home/runner/work/fallout1-ce/fallout1-ce/src/game/worldmap.cc:1533
#19 0x00005555555b6182 in fallout::map_check_state () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/map.cc:1274
#20 0x00005555555b24d0 in fallout::main_game_loop () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/main.cc:327
#21 0x00005555555b2d0d in fallout::gnw_main (argc=<optimized out>, argv=<optimized out>)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/game/main.cc:165
#22 0x00007ffff7629d90 in __libc_start_call_main (main=main@entry=0x55555555b540 <main(int, char**)>, argc=argc@entry=1, 
    argv=argv@entry=0x7fffffffde98) at ../sysdeps/nptl/libc_start_call_main.h:58
#23 0x00007ffff7629e40 in __libc_start_main_impl (main=0x55555555b540 <main(int, char**)>, argc=1, argv=0x7fffffffde98, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde88) at ../csu/libc-start.c:392
#24 0x000055555555b6de in _start ()

SLOT08.zip

badfiles commented 1 year ago
~/bin/fallout$ ./fallout-ce
s\bin\fallout\falloutw.exe: pthread_mutex_lock.c:448: __pthread_mutex_lock_full: Assertion `robust || (oldval & FUTEX_OWNER_DIED) == 0' failed.
free(): invalid next size (fast)
Aborted

this is an unrelated crush, but also on the worldmap

badfiles commented 1 year ago

another worldmap crash, happens sometimes on the way out SLOT08-1.zip

Reading symbols from ./fallout-ce...
(gdb) r
Starting program: /home/*/bin/fallout/fallout-ce 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffeb2a3640 (LWP 56931)]
[New Thread 0x7fffeaaa2640 (LWP 56932)]
[Thread 0x7fffeaaa2640 (LWP 56932) exited]
[New Thread 0x7fffeaaa2640 (LWP 56933)]
[Thread 0x7fffeaaa2640 (LWP 56933) exited]
[New Thread 0x7fffeaaa2640 (LWP 56935)]
[Thread 0x7fffeaaa2640 (LWP 56935) exited]
[New Thread 0x7fffeaaa2640 (LWP 56936)]
[New Thread 0x7fffe9434640 (LWP 56937)]
[New Thread 0x7fffe93f3640 (LWP 56938)]

Thread 1 "fallout-ce" received signal SIGSEGV, Segmentation fault.
0x00005555555ed30a in std::vector<fallout::ProgramValue, std::allocator<fallout::ProgramValue> >::push_back (__x=..., this=<optimized out>) at /usr/include/c++/9/bits/stl_vector.h:1191
1191    /usr/include/c++/9/bits/stl_vector.h: No such file or directory.
(gdb) backtrace 
#0  0x00005555555ed30a in std::vector<fallout::ProgramValue, std::allocator<fallout::ProgramValue> >::push_back (__x=..., this=<optimized out>)
    at /usr/include/c++/9/bits/stl_vector.h:1191
#1  fallout::programStackPushValue (program=program@entry=0x55555692af00, programValue=...)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:3115
#2  0x00005555555f06d5 in fallout::programStackPushInteger (value=<optimized out>, program=0x55555692af00)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:3123
#3  fallout::setupCallWithReturnVal (returnAddress=24, address=0, program=0x55555692af00)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:2645
#4  fallout::setupCall (program=0x55555692af00, address=0, returnAddress=returnAddress@entry=24)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:2658
#5  0x00005555555f0b63 in fallout::executeProcedure (program=program@entry=0x55555692af00, procedureIndex=<optimized out>)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/int/intrpret.cc:2807
#6  0x00005555555d2385 in fallout::exec_script_proc (sid=<optimized out>, action=action@entry=23)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/game/scripts.cc:1133
#7  0x00005555555d39e6 in fallout::scr_exec_map_update_scripts () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/scripts.cc:2456
#8  0x00005555555d3a2d in fallout::scr_map_q_process (obj=<optimized out>, data=<optimized out>)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/game/scripts.cc:383
#9  0x00005555555cf40f in fallout::queue_process () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/queue.cc:339
#10 0x00005555555e20f2 in fallout::world_map (ctx=...) at /home/runner/work/fallout1-ce/fallout1-ce/src/game/worldmap.cc:1533
#11 0x00005555555b6182 in fallout::map_check_state () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/map.cc:1274
#12 0x00005555555b24d0 in fallout::main_game_loop () at /home/runner/work/fallout1-ce/fallout1-ce/src/game/main.cc:327
#13 0x00005555555b2d0d in fallout::gnw_main (argc=<optimized out>, argv=<optimized out>)
    at /home/runner/work/fallout1-ce/fallout1-ce/src/game/main.cc:165
#14 0x00007ffff7629d90 in __libc_start_call_main (main=main@entry=0x55555555b540 <main(int, char**)>, argc=argc@entry=1, 
    argv=argv@entry=0x7fffffffde78) at ../sysdeps/nptl/libc_start_call_main.h:58
#15 0x00007ffff7629e40 in __libc_start_main_impl (main=0x55555555b540 <main(int, char**)>, argc=1, argv=0x7fffffffde78, init=<optimized out>, 
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffde68) at ../csu/libc-start.c:392
#16 0x000055555555b6de in _start ()
badfiles commented 1 year ago

most of those crushes may be resolved by reentering the location from the map before moving maybe something went wrong with saving, the preview is clearly corrupted