-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Control Doors and Curtains" vehicle option crashes the game #73763
Labels
(S2 - Confirmed)
Bug that's been confirmed to exist
Comments
EvaShark
added
the
(S1 - Need confirmation)
Report waiting on confirmation of reproducibility
label
May 14, 2024
/confirm Same Issue. Happens on fresh world with default settings too. [D] "Control Doors and Curtains" Crashes the game.
|
/confirm |
github-actions
bot
added
(S2 - Confirmed)
Bug that's been confirmed to exist
and removed
(S1 - Need confirmation)
Report waiting on confirmation of reproducibility
labels
May 14, 2024
repro here too, backtrace: #0 0x00007f5ef91d508c in ?? () from /usr/lib64/libc.so.6
#1 0x00007f5ef9187112 in raise () from /usr/lib64/libc.so.6
#2 0x00007f5ef91704f2 in abort () from /usr/lib64/libc.so.6
#3 0x00007f5ef94a0c40 in __gnu_cxx::__verbose_terminate_handler () at /var/tmp/portage/sys-devel/gcc-13.2.1_p20240503/work/gcc-13-20240503/libstdc++-v3/libsupc++/vterminate.cc:95
#4 0x00007f5ef94b23e6 in __cxxabiv1::__terminate (handler=<optimized out>) at /var/tmp/portage/sys-devel/gcc-13.2.1_p20240503/work/gcc-13-20240503/libstdc++-v3/libsupc++/eh_terminate.cc:48
#5 0x00007f5ef94b2451 in std::terminate () at /var/tmp/portage/sys-devel/gcc-13.2.1_p20240503/work/gcc-13-20240503/libstdc++-v3/libsupc++/eh_terminate.cc:58
#6 0x00007f5ef94b2693 in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x7f5ef96522b0 <typeinfo for std::bad_function_call>, dest=0x7f5ef94dda10 <std::bad_function_call::~bad_function_call()>) at /var/tmp/portage/sys-devel/gcc-13.2.1_p20240503/work/gcc-13-20240503/libstdc++-v3/libsupc++/eh_throw.cc:98
#7 0x00007f5ef94a4017 in std::__throw_bad_function_call () at /var/tmp/portage/sys-devel/gcc-13.2.1_p20240503/work/gcc-13-20240503/libstdc++-v3/src/c++11/functional.cc:34
#8 0x0000557a65029f34 in std::function<void ()>::operator()() const (this=<optimized out>) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/std_function.h:590
#9 operator() (__closure=<optimized out>) at ../src/veh_utils.cpp:446
#10 std::__invoke_impl<void, veh_menu::query()::<lambda()>&> (__f=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/invoke.h:61
#11 std::__invoke_r<void, veh_menu::query()::<lambda()>&> (__fn=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/invoke.h:111
#12 std::_Function_handler<void(), veh_menu::query()::<lambda()> >::_M_invoke(const std::_Any_data &) (__functor=...) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/std_function.h:290
#13 0x0000557a65029e02 in std::function<void ()>::operator()() const (this=0x7fff3167f8a8) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/std_function.h:591
#14 veh_menu_cb::select (menu=<optimized out>, this=0x7fff3167f8a0) at ../src/veh_utils.cpp:410
#15 veh_menu_cb::select (this=0x7fff3167f8a0, menu=<optimized out>) at ../src/veh_utils.cpp:394
#16 0x0000557a64fecd40 in uilist::setup (this=this@entry=0x7fff3167fa10) at ../src/ui.cpp:703
#17 0x0000557a64fece29 in uilist::reposition (this=0x7fff3167fa10, ui=...) at ../src/ui.cpp:712
#18 0x0000557a64fee575 in std::function<void (std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)>::operator()(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const (__args#0="", this=0x557aaca5f3d8) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/std_function.h:591
#19 ui_adaptor::redraw_invalidated () at ../src/ui_manager.cpp:406
#20 0x0000557a64ff1a50 in ui_adaptor::redraw () at ../src/ui_manager.cpp:345
#21 ui_manager::redraw () at ../src/ui_manager.cpp:506
#22 uilist::query (this=0x7fff3167fa10, loop=0x1, timeout=0xffffffff) at ../src/ui.cpp:1112
#23 0x0000557a6504471a in veh_menu::query (this=0x7fff3167ff70) at ../src/veh_utils.cpp:465
#24 0x0000557a6509e80a in vehicle::control_doors (this=0x557aaccc25f0) at ../src/vehicle_use.cpp:244
#25 0x0000557a65044789 in std::function<void ()>::operator()() const (this=0x557aaccd36b8) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/std_function.h:591
#26 veh_menu::query (this=0x7fff316808a0) at ../src/veh_utils.cpp:483
#27 0x0000557a650bf9cf in vehicle::interact_with (this=0x557aaccc25f0, p=..., with_pickup=<optimized out>) at ../src/vehicle_use.cpp:2446
#28 0x0000557a646d705d in game::examine (this=0x557a67ca8500, with_pickup=0x0) at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/optional:306
#29 0x0000557a6477ee0d in game::do_regular_action (this=this@entry=0x557a67ca8500, act=@0x7fff31680f64: ACTION_EXAMINE, player_character=..., mouse_target=std::optional [no contained value]) at ../src/handle_action.cpp:2351
#30 0x0000557a6477fcee in game::handle_action (this=0x557a67ca8500) at ../src/handle_action.cpp:3161
#31 0x0000557a64642631 in do_turn () at ../src/do_turn.cpp:578
#32 0x0000557a6432d1b5 in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.cpp:868 |
we could guard calling the menu diff --git a/src/veh_utils.cpp b/src/veh_utils.cpp
index d27e62883c..64a0bd1d07 100644
--- a/src/veh_utils.cpp
+++ b/src/veh_utils.cpp
@@ -443,7 +443,9 @@ bool veh_menu::query()
veh_menu_cb cb( locations );
cb.on_select = [this, &menu]() {
- items[menu.selected]._on_select();
+ if( items[menu.selected]._on_select ) {
+ items[menu.selected]._on_select();
+ }
};
if( locations.size() == items.size() ) { // all items have valid location attached |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the bug
[Window Title]
Error
[Content]
The program has crashed.
See the log file for a stack trace.
CRASH LOG FILE: J:/dda/userdata/config/crash.log
VERSION: e3c105a
TYPE: class std::bad_function_call
MESSAGE: bad function call
[OK]
Occurs immediately when the Control Doors and Curtains" option is selected in a vehicle
Attach save file
DEBUG-trimmed.tar.gz
Steps to reproduce
Enter a vehicle with a door lock or cargo lock, etc,
try and interact with them
Expected behavior
No crash.
Screenshots
No response
Versions and configuration
WIndows 10
CDDA Experimental 2024-05-14-0351
Additional context
config.zip
The text was updated successfully, but these errors were encountered: