(gdb) run Starting program: /home/shadowm/src/wesnoth-1.14/wesnoth-debug [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffe715f700 (LWP 25965)] Battle for Wesnoth v1.14.2+dev (6d8957ca5c-Modified) Started on Mon May 28 19:51:19 2018 Automatically found a possible data directory at /home/USER/src/wesnoth-1.14 Data directory: /home/USER/src/wesnoth-1.14 User configuration directory: /home/USER/.wesnoth-1.14 User data directory: /home/USER/.wesnoth-1.14 Cache directory: /home/USER/.wesnoth-1.14/cache [New Thread 0x7fffd36a6700 (LWP 25966)] [New Thread 0x7fffd3665700 (LWP 25967)] Setting mode to 1280x671 [New Thread 0x7fffd2e62700 (LWP 25968)] 20180528 19:51:21 warning general: no location found for 'data/add-ons/Naia/translations', skipping textdomain 20180528 19:51:21 warning general: no location found for 'data/add-ons/Naia/translations', skipping textdomain [Thread 0x7fffd2e62700 (LWP 25968) exited] Checking lua scripts... ok [New Thread 0x7fffd2e62700 (LWP 25969)] [Thread 0x7fffd2e62700 (LWP 25969) exited] [New Thread 0x7fffd2e62700 (LWP 25970)] [Thread 0x7fffd2e62700 (LWP 25970) exited] [New Thread 0x7fffd2e62700 (LWP 25981)] double free or corruption (!prev) Thread 1 "wesnoth-debug" received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007ffff0c81e7b in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 #1 0x00007ffff0c83231 in __GI_abort () at abort.c:79 #2 0x00007ffff0cc47b7 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff0dcd0f3 "%s\n") at ../sysdeps/posix/libc_fatal.c:181 #3 0x00007ffff0ccad5a in malloc_printerr (str=str@entry=0x7ffff0dcee00 "double free or corruption (!prev)") at malloc.c:5350 #4 0x00007ffff0ccc81c in _int_free (av=0x7ffff1001c40 , p=0x555558bb51c0, have_lock=) at malloc.c:4281 #5 0x00007ffff43169ff in () at /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 #6 0x00007ffff4349e61 in () at /usr/lib/x86_64-linux-gnu/libSDL2-2.0.so.0 #7 0x00005555566fc3a6 in surface::free_surface() (this=0x7fffffffa758) at src/sdl/surface.cpp:35 #8 0x000055555584d56e in surface::~surface() (this=0x7fffffffa758, __in_chrg=) at src/sdl/surface.hpp:43 #9 0x0000555555888b2e in gui2::image::calculate_best_size() const (this=0x5555584b40e0) at src/gui/widgets/image.cpp:46 #10 0x0000555555c6a36f in gui2::widget::get_best_size() const (this=0x5555584b40e0) at src/gui/widgets/widget.cpp:196 #11 0x0000555555c29c50 in gui2::grid::child::get_best_size() const (this=0x555558a31ed0) at src/gui/widgets/grid.cpp:757 #12 0x0000555555c27116 in gui2::grid::calculate_best_size() const (this=0x5555589873d8) at src/gui/widgets/grid.cpp:436 #13 0x0000555555c6a36f in gui2::widget::get_best_size() const (this=0x5555589873d8) at src/gui/widgets/widget.cpp:196 #14 0x0000555555b6dc76 in gui2::container_base::calculate_best_size() const (this=0x555558986fe0) at src/gui/widgets/container_base.cpp:152 #15 0x0000555555c6a36f in gui2::widget::get_best_size() const (this=0x555558986fe0) at src/gui/widgets/widget.cpp:196 #16 0x0000555555936e4f in gui2::window::layout() (this=0x555558986fe0) at src/gui/widgets/window.cpp:892 #17 0x0000555555935e50 in gui2::window::draw() (this=0x555558986fe0) at src/gui/widgets/window.cpp:630 #18 0x000055555594c724 in std::__invoke_impl(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) (__f=@0x5555584ecad0: (void (gui2::window::*)(gui2::window * const)) 0x555555935d64 , __t=@0x5555584ecae0: 0x555558986fe0) at /usr/include/c++/7/bits/invoke.h:73 #19 0x000055555594a87f in std::__invoke(void (gui2::window::*&)(), gui2::window*&) (__fn=@0x5555584ecad0: (void (gui2::window::*)(gui2::window * const)) 0x555555935d64 , __args#0=@0x5555584ecae0: 0x555558986fe0) at /usr/include/c++/7/bits/invoke.h:95 #20 0x0000555555948bb2 in std::_Bind::__call(std::tuple&&, std::_Index_tuple<0ul>) (this=0x5555584ecad0, __args=) at /usr/include/c++/7/functional:467 #21 0x0000555555944f99 in std::_Bind::operator()(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) (this=0x5555584ecad0, __args#0=..., __args#1=, __args#2=@0x7fffffffc07f: false, __args#3=@0x7fffffffc07e: false) at /usr/include/c++/7/functional:551 #22 0x0000555555941355 in std::_Function_handler >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) (__functor=..., __args#0=..., __args#1=, __args#2=@0x7fffffffc07f: false, __args#3=@0x7fffffffc07e: false) at /usr/include/c++/7/bits/std_function.h:316 #23 0x0000555555ad31bd in std::function::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const (this=0x5555584e26f0, __args#0=..., __args#1=gui2::event::DRAW, __args#2=@0x7fffffffc07f: false, __args#3=@0x7fffffffc07e: false) at /usr/include/c++/7/bits/std_function.h:706 #24 0x0000555555acdee2 in gui2::event::implementation::fire_event>(gui2::event::ui_event, std::vector, std::allocator > >&, gui2::widget*, gui2::widget*) (event=gui2::event::DRAW, event_chain=std::vector of length 0, capacity 0, dispatcher=0x555558986fe0, w=0x555558986fe0) at src/gui/core/event/dispatcher_private.hpp:433 #25 0x0000555555acbf1e in gui2::event::fire_event>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) (event=gui2::event::DRAW, d=0x555558986ff0, w=0x555558986fe0) at src/gui/core/event/dispatcher_private.hpp:505 #26 0x0000555555aca1e1 in gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) (this=0x555558986ff0, event=gui2::event::DRAW, target=...) at src/gui/core/event/dispatcher.cpp:137 ---Type to continue, or q to quit--- #27 0x0000555555af296f in gui2::event::sdl_event_handler::draw() (this=0x555558a08a10) at src/gui/core/event/handler.cpp:537 #28 0x0000555555af2aa5 in gui2::event::sdl_event_handler::draw_everything() (this=0x555558a08a10) at src/gui/core/event/handler.cpp:553 #29 0x0000555555af21b6 in gui2::event::sdl_event_handler::handle_event(SDL_Event const&) (this=0x555558a08a10, event=...) at src/gui/core/event/handler.cpp:389 #30 0x00005555565caf35 in events::pump() () at src/events.cpp:585 #31 0x0000555555935a13 in gui2::window::show(bool, unsigned int) (this=0x555558986fe0, restore=false, auto_close_timeout=0) at src/gui/widgets/window.cpp:550 #32 0x0000555555b1fdd7 in gui2::dialogs::modal_dialog::show(unsigned int) (this=0x7fffffffc910, auto_close_time=0) at src/gui/dialogs/modal_dialog.cpp:89 #33 0x0000555555b13d67 in gui2::dialogs::loading_screen::display(std::function) (f=...) at src/gui/dialogs/loading_screen.cpp:223 #34 0x0000555555aae39f in game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) (this=0x55555739f1c0, reload=game_launcher::RELOAD_DATA) at src/game_launcher.cpp:968 #35 0x0000555555952ef9 in do_gameloop(std::vector, std::allocator >, std::allocator, std::allocator > > > const&) (args=std::vector of length 1, capacity 1 = {...}) at src/wesnoth.cpp:897 #36 0x0000555555953790 in main(int, char**) (argc=1, argv=0x7fffffffde08) at src/wesnoth.cpp:1143