CleverRaven / Cataclysm-DDA

Cataclysm - Dark Days Ahead. A turn-based survival game set in a post-apocalyptic world.
http://cataclysmdda.org
Other
10.1k stars 4.11k forks source link

cdda sometimes segfaults in game::draw during exit #75012

Open l29ah opened 1 month ago

l29ah commented 1 month ago

Describe the bug

Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000056062232fc40 in game::draw (this=0x0, ui=...) at src/game.cpp:3930
3930        ter_view_p.z = ( u.pos() + u.view_offset ).z;
(gdb) bt
#0  0x000056062232fc40 in game::draw (this=0x0, ui=...) at src/game.cpp:3930
#1  0x0000560622eb25ca in ui_adaptor::redraw_invalidated () at src/ui_manager.cpp:440
#2  0x0000560622eb274b in ui_manager::redraw_invalidated () at src/ui_manager.cpp:511
#3  0x00005606226addd7 in (anonymous namespace)::exit_handler (s=<optimized out>) at src/main.cpp:181
#4  <signal handler called>
#5  0x00007f0686c78634 in poll () from /lib64/libc.so.6
#6  0x00007f068713410d in _nc_timed_wait () from /lib64/libtinfow.so.6
#7  0x00007f068716d5c3 in _nc_wgetch () from /lib64/libncursesw.so.6
#8  0x00007f068716e14b in wgetch () from /lib64/libncursesw.so.6
#9  0x00005606229beff7 in input_manager::get_input_event (this=0x5606238280a0 <inp_mngr>) at src/ncurses_def.cpp:410
#10 0x000056062243b2b8 in input_context::handle_input[abi:cxx11](int) (this=this@entry=0x7fff8a6b0308, timeout=125) at src/input_context.cpp:442
#11 0x000056062243b3f5 in input_context::handle_input[abi:cxx11]() (this=this@entry=0x7fff8a6b0308) at src/input_context.cpp:429
#12 0x0000560622311014 in game::handle_mouseview (this=this@entry=0x56065ca47c50, ctxt=..., action="TIMEOUT") at src/game.cpp:2366
#13 0x00005606223ad8a8 in game::get_player_input (this=this@entry=0x56065ca47c50, action="TIMEOUT") at src/handle_action.cpp:429
#14 0x00005606223b9550 in game::handle_action (this=0x56065ca47c50) at src/handle_action.cpp:3015
#15 0x0000560622208155 in do_turn () at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/unique_ptr.h:199
#16 0x0000560621be456a in main (argc=<optimized out>, argv=<optimized out>) at src/main.cpp:873

Attach save file

N/A, any game should do, but it doesn't happen every time.

Steps to reproduce

Expected behavior

No segfault.

Screenshots

No response

Versions and configuration

Additional context

Nothing relevant in the files.

Little-119 commented 1 month ago

Operation failed successfully