shadowm

naia-iftu-boot-before-prompt.txt

May 25th, 2018
334
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.89 MB | None | 0 0
  1. ==================
  2. WARNING: ThreadSanitizer: data race (pid=17519)
  3. Write of size 8 at 0x7b140018a218 by main thread:
  4. #0 operator delete(void*) <null> (libtsan.so.0+0x6f3d1)
  5. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >::deallocate(std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >*, unsigned long) /usr/include/c++/7/ext/new_allocator.h:125 (wesnoth-debug+0x422b3f9)
  6. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > > >::deallocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >&, std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >*, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:462 (wesnoth-debug+0x422b13d)
  7. #3 std::_Rb_tree<unsigned long, std::pair<unsigned long const, gui2::timer>, std::_Select1st<std::pair<unsigned long const, gui2::timer> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::_M_put_node(std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >*) /usr/include/c++/7/bits/stl_tree.h:592 (wesnoth-debug+0x422ab68)
  8. #4 std::_Rb_tree<unsigned long, std::pair<unsigned long const, gui2::timer>, std::_Select1st<std::pair<unsigned long const, gui2::timer> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::_M_drop_node(std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >*) /usr/include/c++/7/bits/stl_tree.h:659 (wesnoth-debug+0x4229741)
  9. #5 std::_Rb_tree<unsigned long, std::pair<unsigned long const, gui2::timer>, std::_Select1st<std::pair<unsigned long const, gui2::timer> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::_M_erase_aux(std::_Rb_tree_const_iterator<std::pair<unsigned long const, gui2::timer> >) /usr/include/c++/7/bits/stl_tree.h:2477 (wesnoth-debug+0x422a9ad)
  10. #6 std::_Rb_tree<unsigned long, std::pair<unsigned long const, gui2::timer>, std::_Select1st<std::pair<unsigned long const, gui2::timer> >, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >) <null> (wesnoth-debug+0x42295cb)
  11. #7 std::map<unsigned long, gui2::timer, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::erase[abi:cxx11](std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >) <null> (wesnoth-debug+0x42289e3)
  12. #8 gui2::remove_timer(unsigned long) src/gui/core/timer.cpp:170 (wesnoth-debug+0x4227a28)
  13. #9 gui2::dialogs::loading_screen::clear_timer() src/gui/dialogs/loading_screen.cpp:233 (wesnoth-debug+0x4276c87)
  14. #10 gui2::dialogs::loading_screen::post_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:138 (wesnoth-debug+0x4274750)
  15. #11 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:108 (wesnoth-debug+0x42a2ced)
  16. #12 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  17. #13 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:968 (wesnoth-debug+0x40f568f)
  18. #14 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  19. #15 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  20.  
  21. Previous read of size 4 at 0x7b140018a21c by thread T1:
  22. #0 timer_callback src/gui/core/timer.cpp:106 (wesnoth-debug+0x4226e69)
  23. #1 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
  24.  
  25. As if synchronized via sleep:
  26. #0 nanosleep <null> (libtsan.so.0+0x49490)
  27. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  28. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  29. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  30. #4 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:968 (wesnoth-debug+0x40f568f)
  31. #5 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  32. #6 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  33.  
  34. Thread T1 'SDLTimer' (tid=17521, running) created by main thread at:
  35. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  36. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  37. #2 __libc_start_main <null> (libc.so.6+0x21a86)
  38.  
  39. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x6f3d1) in operator delete(void*)
  40. ==================
  41. 20180525 22:47:25 info wml: [Naia] codename Naia version 20180525 initializing
  42. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/package.lua
  43. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/hex.lua
  44. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/common.lua
  45. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/npc.lua
  46. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/optimizations.lua
  47. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/patch.lua
  48. 20180525 22:47:25 info wml: [Naia] PATCH [remove_sound_source]: comma-separated id list
  49. 20180525 22:47:25 info wml: [Naia] PATCH [message]: [fallback_if]/[fallback_to]
  50. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/spawner.lua
  51. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/wlp.lua
  52. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/gui/bug.lua
  53. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/gui/transient_message.lua
  54. 20180525 22:47:25 info wml: [Naia] Init: loading ~add-ons/Naia/lua/compat.lua
  55. 20180525 22:47:25 info wml: [Naia] Invasion from the Unknown (project_ethea.Invasion_from_the_Unknown) version 2.1.0-dev (Naia 20180525)
  56. 20180525 22:47:25 error wml: [IftU] BUG: This is an experimental port of Invasion from the Unknown to Wesnoth 1.14.x.
  57. If you choose to continue, you must report any issues to the author on the project?s issue tracker:
  58. ==================
  59. WARNING: ThreadSanitizer: data race (pid=17519)
  60. Read of size 4 at 0x7b1c01e9a980 by main thread:
  61. #0 std::less<gui2::event::ui_event>::operator()(gui2::event::ui_event const&, gui2::event::ui_event const&) const /usr/include/c++/7/bits/stl_function.h:386 (wesnoth-debug+0x3979847)
  62. #1 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >*, std::_Rb_tree_node_base*, gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1872 (wesnoth-debug+0x3bb2b94)
  63. #2 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1187 (wesnoth-debug+0x3bb00d2)
  64. #3 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:1234 (wesnoth-debug+0x3bae94e)
  65. #4 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:489 (wesnoth-debug+0x3bacb7c)
  66. #5 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<4> >::value, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >::type& gui2::event::dispatcher_implementation::event_signal<mpl_::int_<4> >(gui2::event::dispatcher&, gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:107 (wesnoth-debug+0x41c3f07)
  67. #6 bool gui2::event::dispatcher_implementation::has_handler::oper<mpl_::int_<4> >(gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:154 (wesnoth-debug+0x41c2dbb)
  68. #7 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:205 (wesnoth-debug+0x41c1b29)
  69. #8 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c08b7)
  70. #9 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41bf639)
  71. #10 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41be3d3)
  72. #11 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bcf7b)
  73. #12 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bbacd)
  74. #13 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b9cb3)
  75. #14 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b7681)
  76. #15 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b2951)
  77. #16 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41ac7fd)
  78. #17 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a7753)
  79. #18 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a1c35)
  80. #19 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x4198b7f)
  81. #20 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<27>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<27>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x418bd15)
  82. #21 bool gui2::event::find<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:246 (wesnoth-debug+0x4187059)
  83. #22 gui2::event::dispatcher::has_event(gui2::event::ui_event, gui2::event::dispatcher::event_queue_type) src/gui/core/event/dispatcher.cpp:80 (wesnoth-debug+0x41822c1)
  84. #23 std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > > gui2::event::implementation::build_event_chain<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >(gui2::event::ui_event, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:310 (wesnoth-debug+0x418dc1b)
  85. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:502 (wesnoth-debug+0x4188ac6)
  86. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  87. #26 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  88. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  89. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  90. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  91. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  92. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  93. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  94. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  95. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  96. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  97. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  98. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  99. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  100. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  101.  
  102. Previous write of size 8 at 0x7b1c01e9a980 by thread T11:
  103. [failed to restore the stack]
  104.  
  105. As if synchronized via sleep:
  106. #0 nanosleep <null> (libtsan.so.0+0x49490)
  107. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  108. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  109. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  110. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  111. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  112. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  113. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  114. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  115. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  116. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  117. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  118.  
  119. Location is heap block of size 112 at 0x7b1c01e9a960 allocated by thread T11:
  120. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  121. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3bb5bb6)
  122. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x3bb4b92)
  123. #3 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x3bb2cdb)
  124. #4 std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >* std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x3bb020b)
  125. #5 std::_Rb_tree_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x3baed57)
  126. #6 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x3bacd5e)
  127. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x3baa852)
  128. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)3> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)3>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:398 (wesnoth-debug+0x3c6535d)
  129. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:324 (wesnoth-debug+0x3c40e42)
  130. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  131. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  132. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  133. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  134. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  135. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  136. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  137. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  138. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  139. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  140. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  141. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  142. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  143. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  144. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  145. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  146. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  147. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  148. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  149. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  150. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  151. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  152. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  153. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  154.  
  155. Thread T11 (tid=17965, running) created by main thread at:
  156. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  157. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  158. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  159. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  160. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  161. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  162. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  163. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  164. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  165. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  166. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  167. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  168. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  169. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  170.  
  171. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_function.h:386 in std::less<gui2::event::ui_event>::operator()(gui2::event::ui_event const&, gui2::event::ui_event const&) const
  172. ==================
  173. ==================
  174. WARNING: ThreadSanitizer: data race (pid=17519)
  175. Read of size 8 at 0x7b1c01e9a978 by main thread:
  176. #0 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_S_right(std::_Rb_tree_node_base*) /usr/include/c++/7/bits/stl_tree.h:772 (wesnoth-debug+0x3bb37cf)
  177. #1 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >*, std::_Rb_tree_node_base*, gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1875 (wesnoth-debug+0x3bb2bc1)
  178. #2 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1187 (wesnoth-debug+0x3bb00d2)
  179. #3 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:1234 (wesnoth-debug+0x3bae94e)
  180. #4 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:489 (wesnoth-debug+0x3bacb7c)
  181. #5 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<4> >::value, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >::type& gui2::event::dispatcher_implementation::event_signal<mpl_::int_<4> >(gui2::event::dispatcher&, gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:107 (wesnoth-debug+0x41c3f07)
  182. #6 bool gui2::event::dispatcher_implementation::has_handler::oper<mpl_::int_<4> >(gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:154 (wesnoth-debug+0x41c2dbb)
  183. #7 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:205 (wesnoth-debug+0x41c1b29)
  184. #8 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c08b7)
  185. #9 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41bf639)
  186. #10 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41be3d3)
  187. #11 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bcf7b)
  188. #12 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bbacd)
  189. #13 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b9cb3)
  190. #14 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b7681)
  191. #15 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b2951)
  192. #16 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41ac7fd)
  193. #17 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a7753)
  194. #18 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a1c35)
  195. #19 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x4198b7f)
  196. #20 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<27>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<27>, boost::mpl::s_item<mpl_::int_<26>, boost::mpl::s_item<mpl_::int_<29>, boost::mpl::s_item<mpl_::int_<28>, boost::mpl::s_item<mpl_::int_<41>, boost::mpl::s_item<mpl_::int_<38>, boost::mpl::s_item<mpl_::int_<21>, boost::mpl::s_item<mpl_::int_<20>, boost::mpl::s_item<mpl_::int_<15>, boost::mpl::s_item<mpl_::int_<14>, boost::mpl::s_item<mpl_::int_<9>, boost::mpl::s_item<mpl_::int_<8>, boost::mpl::s_item<mpl_::int_<6>, boost::mpl::s_item<mpl_::int_<4>, boost::mpl::s_item<mpl_::int_<3>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x418bd15)
  197. #21 bool gui2::event::find<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:246 (wesnoth-debug+0x4187059)
  198. #22 gui2::event::dispatcher::has_event(gui2::event::ui_event, gui2::event::dispatcher::event_queue_type) src/gui/core/event/dispatcher.cpp:80 (wesnoth-debug+0x41822c1)
  199. #23 std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > > gui2::event::implementation::build_event_chain<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >(gui2::event::ui_event, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:310 (wesnoth-debug+0x418dc1b)
  200. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:502 (wesnoth-debug+0x4188ac6)
  201. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  202. #26 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  203. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  204. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  205. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  206. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  207. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  208. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  209. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  210. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  211. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  212. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  213. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  214. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  215. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  216.  
  217. Previous write of size 8 at 0x7b1c01e9a978 by thread T11:
  218. [failed to restore the stack]
  219.  
  220. As if synchronized via sleep:
  221. #0 nanosleep <null> (libtsan.so.0+0x49490)
  222. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  223. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  224. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  225. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  226. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  227. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  228. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  229. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  230. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  231. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  232. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  233.  
  234. Location is heap block of size 112 at 0x7b1c01e9a960 allocated by thread T11:
  235. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  236. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3bb5bb6)
  237. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x3bb4b92)
  238. #3 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x3bb2cdb)
  239. #4 std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >* std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x3bb020b)
  240. #5 std::_Rb_tree_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x3baed57)
  241. #6 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x3bacd5e)
  242. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x3baa852)
  243. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<3>, mpl_::int_<4>, mpl_::int_<6>, mpl_::int_<8>, mpl_::int_<9>, mpl_::int_<14>, mpl_::int_<15>, mpl_::int_<20>, mpl_::int_<21>, mpl_::int_<38>, mpl_::int_<41>, mpl_::int_<28>, mpl_::int_<29>, mpl_::int_<26>, mpl_::int_<27>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)3> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)3>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:398 (wesnoth-debug+0x3c6535d)
  244. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:324 (wesnoth-debug+0x3c40e42)
  245. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  246. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  247. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  248. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  249. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  250. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  251. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  252. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  253. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  254. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  255. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  256. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  257. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  258. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  259. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  260. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  261. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  262. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  263. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  264. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  265. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  266. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  267. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  268. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  269.  
  270. Thread T11 (tid=17965, running) created by main thread at:
  271. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  272. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  273. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  274. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  275. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  276. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  277. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  278. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  279. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  280. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  281. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  282. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  283. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  284. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  285.  
  286. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_tree.h:772 in std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)> > > > >::_S_right(std::_Rb_tree_node_base*)
  287. ==================
  288. ==================
  289. WARNING: ThreadSanitizer: data race (pid=17519)
  290. Read of size 8 at 0x7b74000e98c0 by main thread:
  291. #0 __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x46c9b86)
  292. #1 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::begin() /usr/include/c++/7/bits/stl_vector.h:564 (wesnoth-debug+0x46c6007)
  293. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:59 (wesnoth-debug+0x46c806b)
  294. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  295. #4 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  296. #5 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  297. #6 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  298. #7 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  299. #8 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  300. #9 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  301. #10 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  302. #11 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  303. #12 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  304. #13 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  305. #14 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  306. #15 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  307. #16 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  308. #17 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  309. #18 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  310. #19 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  311. #20 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  312. #21 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  313. #22 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  314. #23 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  315. #24 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  316. #25 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  317. #26 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  318. #27 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  319. #28 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  320. #29 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  321.  
  322. Previous write of size 8 at 0x7b74000e98c0 by thread T11:
  323. [failed to restore the stack]
  324.  
  325. As if synchronized via sleep:
  326. #0 nanosleep <null> (libtsan.so.0+0x49490)
  327. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  328. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  329. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  330. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  331. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  332. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  333. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  334. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  335. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  336. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  337. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  338.  
  339. Location is heap block of size 2496 at 0x7b74000e9200 allocated by thread T11:
  340. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  341. #1 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee24)
  342. #2 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  343. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  344. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  345. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  346. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  347. #7 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  348. #8 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  349. #9 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  350. #10 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  351. #11 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  352. #12 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  353. #13 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  354. #14 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  355. #15 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  356. #16 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  357. #17 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  358. #18 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  359. #19 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  360. #20 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  361. #21 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  362. #22 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  363. #23 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  364. #24 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  365.  
  366. Thread T11 (tid=17965, running) created by main thread at:
  367. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  368. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  369. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  370. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  371. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  372. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  373. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  374. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  375. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  376. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  377. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  378. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  379. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  380. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  381.  
  382. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&)
  383. ==================
  384. ==================
  385. WARNING: ThreadSanitizer: data race (pid=17519)
  386. Read of size 8 at 0x7b74000e98c8 by main thread:
  387. #0 __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x46c9b86)
  388. #1 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::end() <null> (wesnoth-debug+0x46c6079)
  389. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:59 (wesnoth-debug+0x46c809d)
  390. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  391. #4 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  392. #5 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  393. #6 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  394. #7 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  395. #8 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  396. #9 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  397. #10 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  398. #11 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  399. #12 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  400. #13 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  401. #14 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  402. #15 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  403. #16 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  404. #17 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  405. #18 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  406. #19 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  407. #20 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  408. #21 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  409. #22 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  410. #23 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  411. #24 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  412. #25 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  413. #26 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  414. #27 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  415. #28 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  416. #29 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  417.  
  418. Previous write of size 8 at 0x7b74000e98c8 by thread T11:
  419. [failed to restore the stack]
  420.  
  421. As if synchronized via sleep:
  422. #0 nanosleep <null> (libtsan.so.0+0x49490)
  423. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  424. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  425. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  426. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  427. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  428. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  429. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  430. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  431. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  432. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  433. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  434.  
  435. Location is heap block of size 2496 at 0x7b74000e9200 allocated by thread T11:
  436. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  437. #1 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee24)
  438. #2 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  439. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  440. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  441. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  442. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  443. #7 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  444. #8 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  445. #9 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  446. #10 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  447. #11 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  448. #12 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  449. #13 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  450. #14 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  451. #15 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  452. #16 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  453. #17 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  454. #18 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  455. #19 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  456. #20 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  457. #21 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  458. #22 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  459. #23 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  460. #24 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  461.  
  462. Thread T11 (tid=17965, running) created by main thread at:
  463. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  464. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  465. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  466. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  467. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  468. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  469. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  470. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  471. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  472. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  473. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  474. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  475. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  476. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  477.  
  478. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&)
  479. ==================
  480. ==================
  481. WARNING: ThreadSanitizer: data race (pid=17519)
  482. Read of size 8 at 0x7b08005558c8 by main thread:
  483. #0 std::__uniq_ptr_impl<gui2::widget, std::default_delete<gui2::widget> >::_M_ptr() const /usr/include/c++/7/bits/unique_ptr.h:147 (wesnoth-debug+0x4442263)
  484. #1 std::unique_ptr<gui2::widget, std::default_delete<gui2::widget> >::get() const /usr/include/c++/7/bits/unique_ptr.h:337 (wesnoth-debug+0x44289a0)
  485. #2 gui2::grid::child::get_widget() src/gui/widgets/grid.hpp:407 (wesnoth-debug+0x4423f1a)
  486. #3 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:62 (wesnoth-debug+0x46c8122)
  487. #4 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  488. #5 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  489. #6 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  490. #7 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  491. #8 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  492. #9 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  493. #10 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  494. #11 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  495. #12 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  496. #13 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  497. #14 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  498. #15 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  499. #16 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  500. #17 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  501. #18 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  502. #19 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  503. #20 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  504. #21 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  505. #22 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  506. #23 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  507. #24 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  508. #25 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  509. #26 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  510. #27 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  511. #28 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  512. #29 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  513. #30 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  514.  
  515. Previous write of size 8 at 0x7b08005558c8 by thread T11:
  516. [failed to restore the stack]
  517.  
  518. As if synchronized via sleep:
  519. #0 nanosleep <null> (libtsan.so.0+0x49490)
  520. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  521. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  522. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  523. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  524. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  525. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  526. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  527. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  528. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  529. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  530. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  531.  
  532. Location is heap block of size 32 at 0x7b08005558c0 allocated by thread T11:
  533. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  534. #1 __gnu_cxx::new_allocator<gui2::grid::child>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x46d03b8)
  535. #2 std::allocator_traits<std::allocator<gui2::grid::child> >::allocate(std::allocator<gui2::grid::child>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x46cf59c)
  536. #3 std::_Vector_base<gui2::grid::child, std::allocator<gui2::grid::child> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x46ce700)
  537. #4 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::_M_default_append(unsigned long) <null> (wesnoth-debug+0x46cc99f)
  538. #5 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::resize(unsigned long) <null> (wesnoth-debug+0x46c9134)
  539. #6 gui2::grid::set_rows_cols(unsigned int, unsigned int) src/gui/widgets/grid.cpp:737 (wesnoth-debug+0x46b8a57)
  540. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:457 (wesnoth-debug+0x4236ec3)
  541. #8 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  542. #9 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  543. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  544. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  545. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  546. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  547. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  548. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  549. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  550. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  551. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  552. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  553. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  554. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  555. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  556. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  557. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  558. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  559. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  560. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  561. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  562. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  563. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  564. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  565. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  566.  
  567. Thread T11 (tid=17965, running) created by main thread at:
  568. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  569. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  570. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  571. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  572. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  573. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  574. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  575. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  576. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  577. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  578. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  579. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  580. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  581. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  582.  
  583. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/unique_ptr.h:147 in std::__uniq_ptr_impl<gui2::widget, std::default_delete<gui2::widget> >::_M_ptr() const
  584. ==================
  585. ==================
  586. WARNING: ThreadSanitizer: data race (pid=17519)
  587. Read of size 8 at 0x7b7000134800 by main thread:
  588. #0 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c8184)
  589. #1 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  590. #2 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  591. #3 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  592. #4 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  593. #5 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  594. #6 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  595. #7 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  596. #8 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  597. #9 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  598. #10 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  599. #11 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  600. #12 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  601. #13 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  602. #14 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  603. #15 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  604. #16 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  605. #17 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  606. #18 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  607. #19 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  608. #20 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  609. #21 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  610. #22 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  611. #23 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  612. #24 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  613. #25 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  614. #26 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  615. #27 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  616.  
  617. Previous write of size 8 at 0x7b7000134800 by thread T11:
  618. [failed to restore the stack]
  619.  
  620. As if synchronized via sleep:
  621. #0 nanosleep <null> (libtsan.so.0+0x49490)
  622. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  623. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  624. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  625. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  626. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  627. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  628. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  629. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  630. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  631. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  632. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  633.  
  634. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  635. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  636. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  637. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  638. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  639. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  640. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  641. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  642. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  643. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  644. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  645. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  646. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  647. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  648. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  649. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  650. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  651. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  652. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  653. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  654. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  655. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  656. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  657. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  658. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  659. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  660. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  661. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  662. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  663.  
  664. Thread T11 (tid=17965, running) created by main thread at:
  665. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  666. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  667. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  668. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  669. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  670. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  671. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  672. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  673. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  674. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  675. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  676. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  677. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  678. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  679.  
  680. SUMMARY: ThreadSanitizer: data race src/gui/widgets/grid_private.hpp:67 in gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool)
  681. ==================
  682. ==================
  683. WARNING: ThreadSanitizer: data race (pid=17519)
  684. Read of size 8 at 0x7b7000134f10 by main thread:
  685. #0 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:62 (wesnoth-debug+0x473627b)
  686. #1 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  687. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  688. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  689. #4 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  690. #5 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  691. #6 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  692. #7 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  693. #8 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  694. #9 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  695. #10 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  696. #11 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  697. #12 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  698. #13 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  699. #14 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  700. #15 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  701. #16 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  702. #17 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  703. #18 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  704. #19 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  705. #20 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  706. #21 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  707. #22 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  708. #23 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  709. #24 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  710. #25 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  711. #26 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  712. #27 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  713. #28 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  714. #29 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  715.  
  716. Previous write of size 8 at 0x7b7000134f10 by thread T11:
  717. [failed to restore the stack]
  718.  
  719. As if synchronized via sleep:
  720. #0 nanosleep <null> (libtsan.so.0+0x49490)
  721. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  722. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  723. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  724. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  725. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  726. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  727. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  728. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  729. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  730. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  731. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  732.  
  733. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  734. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  735. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  736. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  737. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  738. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  739. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  740. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  741. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  742. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  743. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  744. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  745. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  746. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  747. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  748. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  749. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  750. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  751. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  752. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  753. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  754. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  755. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  756. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  757. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  758. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  759. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  760. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  761. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  762.  
  763. Thread T11 (tid=17965, running) created by main thread at:
  764. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  765. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  766. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  767. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  768. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  769. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  770. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  771. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  772. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  773. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  774. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  775. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  776. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  777. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  778.  
  779. SUMMARY: ThreadSanitizer: data race src/gui/widgets/scrollbar_container_private.hpp:62 in gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool)
  780. ==================
  781. ==================
  782. WARNING: ThreadSanitizer: data race (pid=17519)
  783. Read of size 8 at 0x7b7000134f08 by main thread:
  784. #0 std::__uniq_ptr_impl<gui2::grid, std::default_delete<gui2::grid> >::_M_ptr() const /usr/include/c++/7/bits/unique_ptr.h:147 (wesnoth-debug+0x3a490fd)
  785. #1 std::unique_ptr<gui2::grid, std::default_delete<gui2::grid> >::get() const /usr/include/c++/7/bits/unique_ptr.h:337 (wesnoth-debug+0x3a43268)
  786. #2 std::unique_ptr<gui2::grid, std::default_delete<gui2::grid> >::operator bool() const /usr/include/c++/7/bits/unique_ptr.h:351 (wesnoth-debug+0x4736149)
  787. #3 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:62 (wesnoth-debug+0x47362c0)
  788. #4 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  789. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  790. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  791. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  792. #8 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  793. #9 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  794. #10 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  795. #11 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  796. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  797. #13 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  798. #14 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  799. #15 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  800. #16 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  801. #17 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  802. #18 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  803. #19 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  804. #20 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  805. #21 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  806. #22 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  807. #23 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  808. #24 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  809. #25 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  810. #26 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  811. #27 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  812. #28 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  813. #29 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  814. #30 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  815. #31 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  816. #32 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  817.  
  818. Previous write of size 8 at 0x7b7000134f08 by thread T11:
  819. [failed to restore the stack]
  820.  
  821. As if synchronized via sleep:
  822. #0 nanosleep <null> (libtsan.so.0+0x49490)
  823. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  824. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  825. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  826. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  827. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  828. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  829. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  830. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  831. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  832. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  833. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  834.  
  835. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  836. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  837. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  838. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  839. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  840. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  841. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  842. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  843. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  844. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  845. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  846. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  847. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  848. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  849. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  850. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  851. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  852. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  853. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  854. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  855. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  856. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  857. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  858. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  859. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  860. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  861. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  862. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  863. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  864.  
  865. Thread T11 (tid=17965, running) created by main thread at:
  866. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  867. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  868. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  869. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  870. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  871. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  872. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  873. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  874. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  875. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  876. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  877. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  878. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  879. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  880.  
  881. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/unique_ptr.h:147 in std::__uniq_ptr_impl<gui2::grid, std::default_delete<gui2::grid> >::_M_ptr() const
  882. ==================
  883. ==================
  884. WARNING: ThreadSanitizer: data race (pid=17519)
  885. Read of size 8 at 0x7b7000134bf8 by main thread:
  886. #0 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391be3)
  887. #1 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  888. #2 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  889. #3 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  890. #4 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  891. #5 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  892. #6 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  893. #7 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  894. #8 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  895. #9 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  896. #10 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  897. #11 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  898. #12 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  899. #13 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  900. #14 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  901. #15 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  902. #16 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  903. #17 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  904. #18 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  905. #19 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  906. #20 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  907. #21 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  908. #22 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  909. #23 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  910. #24 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  911. #25 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  912. #26 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  913. #27 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  914. #28 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  915. #29 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  916. #30 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  917.  
  918. Previous write of size 8 at 0x7b7000134bf8 by thread T11:
  919. [failed to restore the stack]
  920.  
  921. As if synchronized via sleep:
  922. #0 nanosleep <null> (libtsan.so.0+0x49490)
  923. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  924. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  925. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  926. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  927. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  928. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  929. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  930. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  931. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  932. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  933. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  934.  
  935. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  936. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  937. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  938. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  939. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  940. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  941. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  942. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  943. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  944. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  945. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  946. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  947. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  948. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  949. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  950. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  951. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  952. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  953. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  954. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  955. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  956. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  957. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  958. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  959. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  960. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  961. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  962. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  963. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  964.  
  965. Thread T11 (tid=17965, running) created by main thread at:
  966. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  967. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  968. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  969. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  970. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  971. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  972. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  973. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  974. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  975. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  976. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  977. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  978. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  979. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  980.  
  981. SUMMARY: ThreadSanitizer: data race src/gui/widgets/container_base.cpp:223 in gui2::container_base::find_at(point const&, bool)
  982. ==================
  983. ==================
  984. WARNING: ThreadSanitizer: data race (pid=17519)
  985. Read of size 8 at 0x7b7000134ec0 by main thread:
  986. #0 __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x46c9b86)
  987. #1 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::begin() /usr/include/c++/7/bits/stl_vector.h:564 (wesnoth-debug+0x46c6007)
  988. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:59 (wesnoth-debug+0x46c806b)
  989. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  990. #4 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  991. #5 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  992. #6 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  993. #7 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  994. #8 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  995. #9 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  996. #10 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  997. #11 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  998. #12 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  999. #13 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1000. #14 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1001. #15 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1002. #16 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1003. #17 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1004. #18 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1005. #19 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1006. #20 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1007. #21 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1008. #22 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1009. #23 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1010. #24 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1011. #25 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1012. #26 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1013. #27 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1014. #28 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1015. #29 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1016. #30 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1017. #31 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1018. #32 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1019. #33 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1020. #34 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1021.  
  1022. Previous write of size 8 at 0x7b7000134ec0 by thread T11:
  1023. [failed to restore the stack]
  1024.  
  1025. As if synchronized via sleep:
  1026. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1027. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1028. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1029. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1030. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1031. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1032. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1033. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1034. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1035. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1036. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1037. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1038.  
  1039. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  1040. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1041. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  1042. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1043. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1044. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1045. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1046. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1047. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1048. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1049. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1050. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1051. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1052. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1053. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1054. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1055. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1056. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1057. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1058. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1059. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1060. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1061. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1062. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1063. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1064. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1065. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1066. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1067. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1068.  
  1069. Thread T11 (tid=17965, running) created by main thread at:
  1070. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1071. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1072. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1073. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1074. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1075. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1076. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1077. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1078. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1079. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1080. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1081. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1082. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1083. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1084.  
  1085. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&)
  1086. ==================
  1087. ==================
  1088. WARNING: ThreadSanitizer: data race (pid=17519)
  1089. Read of size 8 at 0x7b7000134ec8 by main thread:
  1090. #0 __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x46c9b86)
  1091. #1 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::end() <null> (wesnoth-debug+0x46c6079)
  1092. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:59 (wesnoth-debug+0x46c809d)
  1093. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1094. #4 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1095. #5 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1096. #6 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1097. #7 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1098. #8 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1099. #9 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1100. #10 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1101. #11 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1102. #12 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1103. #13 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1104. #14 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1105. #15 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1106. #16 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1107. #17 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1108. #18 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1109. #19 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1110. #20 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1111. #21 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1112. #22 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1113. #23 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1114. #24 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1115. #25 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1116. #26 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1117. #27 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1118. #28 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1119. #29 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1120. #30 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1121. #31 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1122. #32 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1123. #33 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1124. #34 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1125.  
  1126. Previous write of size 8 at 0x7b7000134ec8 by thread T11:
  1127. [failed to restore the stack]
  1128.  
  1129. As if synchronized via sleep:
  1130. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1131. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1132. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1133. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1134. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1135. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1136. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1137. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1138. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1139. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1140. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1141. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1142.  
  1143. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  1144. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1145. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  1146. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1147. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1148. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1149. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1150. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1151. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1152. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1153. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1154. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1155. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1156. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1157. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1158. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1159. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1160. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1161. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1162. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1163. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1164. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1165. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1166. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1167. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1168. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1169. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1170. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1171. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1172.  
  1173. Thread T11 (tid=17965, running) created by main thread at:
  1174. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1175. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1176. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1177. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1178. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1179. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1180. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1181. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1182. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1183. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1184. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1185. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1186. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1187. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1188.  
  1189. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&)
  1190. ==================
  1191. ==================
  1192. WARNING: ThreadSanitizer: data race (pid=17519)
  1193. Read of size 8 at 0x7b100019f388 by main thread:
  1194. #0 std::__uniq_ptr_impl<gui2::widget, std::default_delete<gui2::widget> >::_M_ptr() const /usr/include/c++/7/bits/unique_ptr.h:147 (wesnoth-debug+0x4442263)
  1195. #1 std::unique_ptr<gui2::widget, std::default_delete<gui2::widget> >::get() const /usr/include/c++/7/bits/unique_ptr.h:337 (wesnoth-debug+0x44289a0)
  1196. #2 gui2::grid::child::get_widget() src/gui/widgets/grid.hpp:407 (wesnoth-debug+0x4423f1a)
  1197. #3 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:62 (wesnoth-debug+0x46c8122)
  1198. #4 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1199. #5 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1200. #6 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1201. #7 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1202. #8 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1203. #9 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1204. #10 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1205. #11 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1206. #12 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1207. #13 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1208. #14 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1209. #15 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1210. #16 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1211. #17 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1212. #18 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1213. #19 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1214. #20 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1215. #21 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1216. #22 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1217. #23 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1218. #24 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1219. #25 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1220. #26 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1221. #27 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1222. #28 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1223. #29 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1224. #30 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1225. #31 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1226. #32 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1227. #33 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1228. #34 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1229. #35 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1230.  
  1231. Previous write of size 8 at 0x7b100019f388 by thread T11:
  1232. [failed to restore the stack]
  1233.  
  1234. As if synchronized via sleep:
  1235. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1236. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1237. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1238. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1239. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1240. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1241. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1242. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1243. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1244. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1245. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1246. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1247.  
  1248. Location is heap block of size 64 at 0x7b100019f380 allocated by thread T11:
  1249. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1250. #1 __gnu_cxx::new_allocator<gui2::grid::child>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x46d03b8)
  1251. #2 std::allocator_traits<std::allocator<gui2::grid::child> >::allocate(std::allocator<gui2::grid::child>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x46cf59c)
  1252. #3 std::_Vector_base<gui2::grid::child, std::allocator<gui2::grid::child> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x46ce700)
  1253. #4 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::_M_default_append(unsigned long) <null> (wesnoth-debug+0x46cc99f)
  1254. #5 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::resize(unsigned long) <null> (wesnoth-debug+0x46c9134)
  1255. #6 gui2::grid::set_rows_cols(unsigned int, unsigned int) src/gui/widgets/grid.cpp:737 (wesnoth-debug+0x46b8a57)
  1256. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:457 (wesnoth-debug+0x4236ec3)
  1257. #8 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1258. #9 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  1259. #10 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1260. #11 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1261. #12 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1262. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1263. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1264. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1265. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1266. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1267. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1268. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1269. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1270. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1271. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1272. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1273. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1274. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1275. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1276. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1277. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1278. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1279. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1280. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1281. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1282. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1283. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1284. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1285.  
  1286. Thread T11 (tid=17965, running) created by main thread at:
  1287. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1288. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1289. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1290. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1291. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1292. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1293. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1294. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1295. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1296. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1297. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1298. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1299. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1300. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1301.  
  1302. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/unique_ptr.h:147 in std::__uniq_ptr_impl<gui2::widget, std::default_delete<gui2::widget> >::_M_ptr() const
  1303. ==================
  1304. ==================
  1305. WARNING: ThreadSanitizer: data race (pid=17519)
  1306. Read of size 8 at 0x7b64000f9600 by main thread:
  1307. #0 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c8184)
  1308. #1 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1309. #2 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1310. #3 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1311. #4 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1312. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1313. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1314. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1315. #8 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1316. #9 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1317. #10 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1318. #11 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1319. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1320. #13 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1321. #14 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1322. #15 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1323. #16 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1324. #17 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1325. #18 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1326. #19 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1327. #20 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1328. #21 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1329. #22 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1330. #23 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1331. #24 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1332. #25 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1333. #26 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1334. #27 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1335. #28 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1336. #29 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1337. #30 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1338. #31 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1339. #32 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1340.  
  1341. Previous write of size 8 at 0x7b64000f9600 by thread T11:
  1342. [failed to restore the stack]
  1343.  
  1344. As if synchronized via sleep:
  1345. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1346. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1347. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1348. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1349. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1350. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1351. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1352. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1353. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1354. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1355. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1356. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1357.  
  1358. Location is heap block of size 1096 at 0x7b64000f9600 allocated by thread T11:
  1359. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1360. #1 gui2::implementation::builder_spacer::build() const src/gui/widgets/spacer.cpp:182 (wesnoth-debug+0x3b78cee)
  1361. #2 gui2::build_single_widget_instance_helper(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.cpp:143 (wesnoth-debug+0x4231433)
  1362. #3 gui2::spacer* gui2::build_single_widget_instance<gui2::spacer>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.hpp:108 (wesnoth-debug+0x4738613)
  1363. #4 gui2::scrollbar_container::finalize_setup() src/gui/widgets/scrollbar_container.cpp:762 (wesnoth-debug+0x4721dde)
  1364. #5 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:166 (wesnoth-debug+0x3b2a202)
  1365. #6 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1366. #7 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1367. #8 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1368. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1369. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1370. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1371. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1372. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1373. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1374. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1375. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1376. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1377. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1378. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1379. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1380. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1381. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1382. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1383. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1384. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1385. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1386. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1387. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1388. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1389. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1390. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1391.  
  1392. Thread T11 (tid=17965, running) created by main thread at:
  1393. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1394. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1395. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1396. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1397. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1398. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1399. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1400. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1401. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1402. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1403. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1404. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1405. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1406. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1407.  
  1408. SUMMARY: ThreadSanitizer: data race src/gui/widgets/grid_private.hpp:67 in gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool)
  1409. ==================
  1410. ==================
  1411. WARNING: ThreadSanitizer: data race (pid=17519)
  1412. Read of size 4 at 0x7b64000f983c by main thread:
  1413. #0 gui2::widget::recursive_is_visible(gui2::widget const*, bool) const src/gui/widgets/widget.cpp:605 (wesnoth-debug+0x47d0038)
  1414. #1 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:618 (wesnoth-debug+0x47d037e)
  1415. #2 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  1416. #3 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  1417. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1418. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1419. #6 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1420. #7 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1421. #8 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1422. #9 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1423. #10 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1424. #11 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1425. #12 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1426. #13 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1427. #14 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1428. #15 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1429. #16 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1430. #17 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1431. #18 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1432. #19 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1433. #20 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1434. #21 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1435. #22 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1436. #23 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1437. #24 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1438. #25 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1439. #26 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1440. #27 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1441. #28 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1442. #29 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1443. #30 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1444. #31 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1445. #32 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1446. #33 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1447. #34 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1448. #35 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1449. #36 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1450.  
  1451. Previous write of size 8 at 0x7b64000f9838 by thread T11:
  1452. [failed to restore the stack]
  1453.  
  1454. As if synchronized via sleep:
  1455. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1456. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1457. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1458. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1459. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1460. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1461. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1462. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1463. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1464. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1465. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1466. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1467.  
  1468. Location is heap block of size 1096 at 0x7b64000f9600 allocated by thread T11:
  1469. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1470. #1 gui2::implementation::builder_spacer::build() const src/gui/widgets/spacer.cpp:182 (wesnoth-debug+0x3b78cee)
  1471. #2 gui2::build_single_widget_instance_helper(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.cpp:143 (wesnoth-debug+0x4231433)
  1472. #3 gui2::spacer* gui2::build_single_widget_instance<gui2::spacer>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.hpp:108 (wesnoth-debug+0x4738613)
  1473. #4 gui2::scrollbar_container::finalize_setup() src/gui/widgets/scrollbar_container.cpp:762 (wesnoth-debug+0x4721dde)
  1474. #5 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:166 (wesnoth-debug+0x3b2a202)
  1475. #6 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1476. #7 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1477. #8 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1478. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1479. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1480. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1481. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1482. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1483. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1484. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1485. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1486. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1487. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1488. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1489. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1490. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1491. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1492. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1493. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1494. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1495. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1496. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1497. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1498. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1499. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1500. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1501.  
  1502. Thread T11 (tid=17965, running) created by main thread at:
  1503. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1504. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1505. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1506. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1507. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1508. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1509. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1510. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1511. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1512. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1513. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1514. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1515. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1516. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1517.  
  1518. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:605 in gui2::widget::recursive_is_visible(gui2::widget const*, bool) const
  1519. ==================
  1520. ==================
  1521. WARNING: ThreadSanitizer: data race (pid=17519)
  1522. Read of size 8 at 0x7b64000f97f8 by main thread:
  1523. #0 gui2::widget::recursive_is_visible(gui2::widget const*, bool) const src/gui/widgets/widget.cpp:610 (wesnoth-debug+0x47d023a)
  1524. #1 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:618 (wesnoth-debug+0x47d037e)
  1525. #2 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  1526. #3 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  1527. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1528. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1529. #6 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1530. #7 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1531. #8 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1532. #9 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1533. #10 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1534. #11 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1535. #12 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1536. #13 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1537. #14 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1538. #15 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1539. #16 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1540. #17 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1541. #18 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1542. #19 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1543. #20 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1544. #21 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1545. #22 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1546. #23 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1547. #24 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1548. #25 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1549. #26 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1550. #27 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1551. #28 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1552. #29 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1553. #30 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1554. #31 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1555. #32 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1556. #33 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1557. #34 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1558. #35 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1559. #36 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1560.  
  1561. Previous write of size 8 at 0x7b64000f97f8 by thread T11:
  1562. [failed to restore the stack]
  1563.  
  1564. As if synchronized via sleep:
  1565. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1566. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1567. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1568. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1569. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1570. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1571. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1572. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1573. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1574. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1575. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1576. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1577.  
  1578. Location is heap block of size 1096 at 0x7b64000f9600 allocated by thread T11:
  1579. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1580. #1 gui2::implementation::builder_spacer::build() const src/gui/widgets/spacer.cpp:182 (wesnoth-debug+0x3b78cee)
  1581. #2 gui2::build_single_widget_instance_helper(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.cpp:143 (wesnoth-debug+0x4231433)
  1582. #3 gui2::spacer* gui2::build_single_widget_instance<gui2::spacer>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.hpp:108 (wesnoth-debug+0x4738613)
  1583. #4 gui2::scrollbar_container::finalize_setup() src/gui/widgets/scrollbar_container.cpp:762 (wesnoth-debug+0x4721dde)
  1584. #5 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:166 (wesnoth-debug+0x3b2a202)
  1585. #6 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1586. #7 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1587. #8 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1588. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1589. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1590. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1591. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1592. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1593. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1594. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1595. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1596. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1597. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1598. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1599. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1600. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1601. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1602. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1603. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1604. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1605. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1606. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1607. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1608. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1609. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1610. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1611.  
  1612. Thread T11 (tid=17965, running) created by main thread at:
  1613. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1614. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1615. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1616. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1617. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1618. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1619. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1620. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1621. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1622. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1623. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1624. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1625. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1626. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1627.  
  1628. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:610 in gui2::widget::recursive_is_visible(gui2::widget const*, bool) const
  1629. ==================
  1630. ==================
  1631. WARNING: ThreadSanitizer: data race (pid=17519)
  1632. Read of size 4 at 0x7b64000f980c by main thread:
  1633. #0 gui2::widget::get_size() const src/gui/widgets/widget.cpp:304 (wesnoth-debug+0x47ca488)
  1634. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca6e0)
  1635. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  1636. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  1637. #4 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  1638. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1639. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1640. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1641. #8 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1642. #9 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1643. #10 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1644. #11 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1645. #12 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1646. #13 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1647. #14 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1648. #15 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1649. #16 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1650. #17 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1651. #18 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1652. #19 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1653. #20 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1654. #21 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1655. #22 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1656. #23 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1657. #24 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1658. #25 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1659. #26 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1660. #27 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1661. #28 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1662. #29 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1663. #30 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1664. #31 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1665. #32 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1666. #33 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1667. #34 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1668. #35 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1669. #36 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1670. #37 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1671.  
  1672. Previous write of size 8 at 0x7b64000f9808 by thread T11:
  1673. [failed to restore the stack]
  1674.  
  1675. As if synchronized via sleep:
  1676. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1677. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1678. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1679. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1680. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1681. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1682. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1683. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1684. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1685. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1686. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1687. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1688.  
  1689. Location is heap block of size 1096 at 0x7b64000f9600 allocated by thread T11:
  1690. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1691. #1 gui2::implementation::builder_spacer::build() const src/gui/widgets/spacer.cpp:182 (wesnoth-debug+0x3b78cee)
  1692. #2 gui2::build_single_widget_instance_helper(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.cpp:143 (wesnoth-debug+0x4231433)
  1693. #3 gui2::spacer* gui2::build_single_widget_instance<gui2::spacer>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.hpp:108 (wesnoth-debug+0x4738613)
  1694. #4 gui2::scrollbar_container::finalize_setup() src/gui/widgets/scrollbar_container.cpp:762 (wesnoth-debug+0x4721dde)
  1695. #5 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:166 (wesnoth-debug+0x3b2a202)
  1696. #6 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1697. #7 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1698. #8 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1699. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1700. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1701. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1702. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1703. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1704. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1705. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1706. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1707. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1708. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1709. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1710. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1711. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1712. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1713. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1714. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1715. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1716. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1717. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1718. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1719. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1720. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1721. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1722.  
  1723. Thread T11 (tid=17965, running) created by main thread at:
  1724. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1725. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1726. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1727. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1728. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1729. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1730. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1731. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1732. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1733. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1734. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1735. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1736. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1737. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1738.  
  1739. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:304 in gui2::widget::get_size() const
  1740. ==================
  1741. ==================
  1742. WARNING: ThreadSanitizer: data race (pid=17519)
  1743. Read of size 4 at 0x7b64000f9804 by main thread:
  1744. #0 gui2::widget::get_origin() const src/gui/widgets/widget.cpp:299 (wesnoth-debug+0x47ca232)
  1745. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca7fe)
  1746. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  1747. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  1748. #4 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  1749. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1750. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1751. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1752. #8 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1753. #9 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1754. #10 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1755. #11 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1756. #12 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1757. #13 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1758. #14 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1759. #15 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1760. #16 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1761. #17 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1762. #18 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1763. #19 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1764. #20 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1765. #21 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1766. #22 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1767. #23 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1768. #24 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1769. #25 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1770. #26 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1771. #27 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1772. #28 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1773. #29 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1774. #30 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1775. #31 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1776. #32 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1777. #33 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1778. #34 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1779. #35 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1780. #36 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1781. #37 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1782.  
  1783. Previous write of size 8 at 0x7b64000f9800 by thread T11:
  1784. [failed to restore the stack]
  1785.  
  1786. As if synchronized via sleep:
  1787. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1788. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1789. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1790. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1791. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1792. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1793. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1794. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1795. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1796. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1797. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1798. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1799.  
  1800. Location is heap block of size 1096 at 0x7b64000f9600 allocated by thread T11:
  1801. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1802. #1 gui2::implementation::builder_spacer::build() const src/gui/widgets/spacer.cpp:182 (wesnoth-debug+0x3b78cee)
  1803. #2 gui2::build_single_widget_instance_helper(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.cpp:143 (wesnoth-debug+0x4231433)
  1804. #3 gui2::spacer* gui2::build_single_widget_instance<gui2::spacer>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config const&) src/gui/core/window_builder.hpp:108 (wesnoth-debug+0x4738613)
  1805. #4 gui2::scrollbar_container::finalize_setup() src/gui/widgets/scrollbar_container.cpp:762 (wesnoth-debug+0x4721dde)
  1806. #5 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:166 (wesnoth-debug+0x3b2a202)
  1807. #6 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1808. #7 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1809. #8 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1810. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1811. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1812. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1813. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1814. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1815. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1816. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1817. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1818. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1819. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1820. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1821. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1822. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1823. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1824. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1825. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1826. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1827. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1828. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1829. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1830. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1831. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1832. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1833.  
  1834. Thread T11 (tid=17965, running) created by main thread at:
  1835. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1836. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1837. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1838. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1839. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1840. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1841. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1842. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1843. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1844. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1845. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1846. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1847. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1848. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1849.  
  1850. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:299 in gui2::widget::get_origin() const
  1851. ==================
  1852. ==================
  1853. WARNING: ThreadSanitizer: data race (pid=17519)
  1854. Read of size 8 at 0x7b58000cf8c8 by main thread:
  1855. #0 __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x46c9b86)
  1856. #1 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::begin() /usr/include/c++/7/bits/stl_vector.h:564 (wesnoth-debug+0x46c6007)
  1857. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:59 (wesnoth-debug+0x46c806b)
  1858. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1859. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1860. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1861. #6 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1862. #7 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1863. #8 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1864. #9 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1865. #10 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1866. #11 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1867. #12 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1868. #13 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1869. #14 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1870. #15 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1871. #16 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1872. #17 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1873. #18 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1874. #19 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1875. #20 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1876. #21 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1877. #22 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1878. #23 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1879. #24 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1880. #25 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1881. #26 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1882. #27 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1883. #28 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1884. #29 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1885. #30 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1886. #31 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1887. #32 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1888. #33 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1889. #34 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1890. #35 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1891. #36 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1892.  
  1893. Previous write of size 8 at 0x7b58000cf8c8 by thread T11:
  1894. [failed to restore the stack]
  1895.  
  1896. As if synchronized via sleep:
  1897. #0 nanosleep <null> (libtsan.so.0+0x49490)
  1898. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  1899. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1900. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1901. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1902. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1903. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1904. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1905. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1906. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1907. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1908. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1909.  
  1910. Location is heap block of size 736 at 0x7b58000cf600 allocated by thread T11:
  1911. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  1912. #1 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x423678a)
  1913. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1914. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1915. #4 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  1916. #5 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  1917. #6 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  1918. #7 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  1919. #8 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  1920. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  1921. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  1922. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  1923. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  1924. #13 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  1925. #14 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  1926. #15 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  1927. #16 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  1928. #17 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  1929. #18 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  1930. #19 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  1931. #20 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  1932. #21 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  1933. #22 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  1934. #23 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  1935. #24 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  1936. #25 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  1937. #26 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  1938. #27 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  1939. #28 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  1940. #29 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  1941. #30 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  1942.  
  1943. Thread T11 (tid=17965, running) created by main thread at:
  1944. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  1945. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  1946. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  1947. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  1948. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  1949. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1950. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1951. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1952. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1953. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1954. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1955. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1956. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  1957. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  1958.  
  1959. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&)
  1960. ==================
  1961. ==================
  1962. WARNING: ThreadSanitizer: data race (pid=17519)
  1963. Read of size 8 at 0x7b58000cf8d0 by main thread:
  1964. #0 __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x46c9b86)
  1965. #1 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::end() <null> (wesnoth-debug+0x46c6079)
  1966. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:59 (wesnoth-debug+0x46c809d)
  1967. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1968. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1969. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1970. #6 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1971. #7 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  1972. #8 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  1973. #9 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  1974. #10 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  1975. #11 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  1976. #12 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  1977. #13 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  1978. #14 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  1979. #15 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  1980. #16 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  1981. #17 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  1982. #18 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  1983. #19 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  1984. #20 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  1985. #21 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  1986. #22 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  1987. #23 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  1988. #24 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  1989. #25 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  1990. #26 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  1991. #27 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  1992. #28 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  1993. #29 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  1994. #30 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  1995. #31 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  1996. #32 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  1997. #33 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  1998. #34 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  1999. #35 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2000. #36 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2001.  
  2002. Previous write of size 8 at 0x7b58000cf8d0 by thread T11:
  2003. [failed to restore the stack]
  2004.  
  2005. As if synchronized via sleep:
  2006. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2007. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2008. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2009. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2010. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2011. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2012. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2013. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2014. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2015. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2016. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2017. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2018.  
  2019. Location is heap block of size 736 at 0x7b58000cf600 allocated by thread T11:
  2020. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2021. #1 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x423678a)
  2022. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2023. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2024. #4 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  2025. #5 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2026. #6 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2027. #7 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2028. #8 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2029. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2030. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2031. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2032. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2033. #13 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2034. #14 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2035. #15 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2036. #16 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2037. #17 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2038. #18 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2039. #19 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2040. #20 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2041. #21 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2042. #22 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2043. #23 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2044. #24 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2045. #25 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2046. #26 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2047. #27 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2048. #28 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2049. #29 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2050. #30 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2051.  
  2052. Thread T11 (tid=17965, running) created by main thread at:
  2053. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2054. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2055. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2056. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2057. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2058. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2059. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2060. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2061. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2062. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2063. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2064. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2065. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2066. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2067.  
  2068. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<gui2::grid::child*, std::vector<gui2::grid::child, std::allocator<gui2::grid::child> > >::__normal_iterator(gui2::grid::child* const&)
  2069. ==================
  2070. ==================
  2071. WARNING: ThreadSanitizer: data race (pid=17519)
  2072. Read of size 8 at 0x7b04000c7e48 by main thread:
  2073. #0 std::__uniq_ptr_impl<gui2::widget, std::default_delete<gui2::widget> >::_M_ptr() const /usr/include/c++/7/bits/unique_ptr.h:147 (wesnoth-debug+0x4442263)
  2074. #1 std::unique_ptr<gui2::widget, std::default_delete<gui2::widget> >::get() const /usr/include/c++/7/bits/unique_ptr.h:337 (wesnoth-debug+0x44289a0)
  2075. #2 gui2::grid::child::get_widget() src/gui/widgets/grid.hpp:407 (wesnoth-debug+0x4423f1a)
  2076. #3 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:62 (wesnoth-debug+0x46c8122)
  2077. #4 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2078. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2079. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2080. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2081. #8 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  2082. #9 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  2083. #10 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2084. #11 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2085. #12 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2086. #13 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2087. #14 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2088. #15 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2089. #16 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2090. #17 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2091. #18 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2092. #19 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2093. #20 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2094. #21 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2095. #22 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2096. #23 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2097. #24 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2098. #25 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2099. #26 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2100. #27 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2101. #28 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2102. #29 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2103. #30 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2104. #31 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2105. #32 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2106. #33 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2107. #34 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2108. #35 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2109. #36 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2110. #37 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2111.  
  2112. Previous write of size 8 at 0x7b04000c7e48 by thread T11:
  2113. [failed to restore the stack]
  2114.  
  2115. As if synchronized via sleep:
  2116. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2117. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2118. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2119. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2120. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2121. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2122. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2123. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2124. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2125. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2126. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2127. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2128.  
  2129. Location is heap block of size 16 at 0x7b04000c7e40 allocated by thread T11:
  2130. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2131. #1 __gnu_cxx::new_allocator<gui2::grid::child>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x46d03b8)
  2132. #2 std::allocator_traits<std::allocator<gui2::grid::child> >::allocate(std::allocator<gui2::grid::child>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x46cf59c)
  2133. #3 std::_Vector_base<gui2::grid::child, std::allocator<gui2::grid::child> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x46ce700)
  2134. #4 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::_M_default_append(unsigned long) <null> (wesnoth-debug+0x46cc99f)
  2135. #5 std::vector<gui2::grid::child, std::allocator<gui2::grid::child> >::resize(unsigned long) <null> (wesnoth-debug+0x46c9134)
  2136. #6 gui2::grid::set_rows_cols(unsigned int, unsigned int) src/gui/widgets/grid.cpp:737 (wesnoth-debug+0x46b8a57)
  2137. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:457 (wesnoth-debug+0x4236ec3)
  2138. #8 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  2139. #9 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2140. #10 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2141. #11 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  2142. #12 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2143. #13 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2144. #14 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2145. #15 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2146. #16 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2147. #17 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2148. #18 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2149. #19 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2150. #20 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2151. #21 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2152. #22 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2153. #23 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2154. #24 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2155. #25 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2156. #26 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2157. #27 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2158. #28 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2159. #29 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2160. #30 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2161. #31 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2162. #32 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2163. #33 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2164. #34 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2165. #35 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2166. #36 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2167. #37 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2168.  
  2169. Thread T11 (tid=17965, running) created by main thread at:
  2170. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2171. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2172. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2173. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2174. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2175. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2176. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2177. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2178. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2179. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2180. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2181. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2182. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2183. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2184.  
  2185. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/unique_ptr.h:147 in std::__uniq_ptr_impl<gui2::widget, std::default_delete<gui2::widget> >::_M_ptr() const
  2186. ==================
  2187. ==================
  2188. WARNING: ThreadSanitizer: data race (pid=17519)
  2189. Read of size 8 at 0x7b64000f8700 by main thread:
  2190. #0 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c8184)
  2191. #1 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2192. #2 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2193. #3 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2194. #4 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2195. #5 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  2196. #6 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  2197. #7 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2198. #8 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2199. #9 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2200. #10 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2201. #11 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2202. #12 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2203. #13 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2204. #14 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2205. #15 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2206. #16 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2207. #17 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2208. #18 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2209. #19 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2210. #20 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2211. #21 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2212. #22 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2213. #23 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2214. #24 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2215. #25 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2216. #26 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2217. #27 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2218. #28 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2219. #29 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2220. #30 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2221. #31 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2222. #32 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2223. #33 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2224. #34 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2225.  
  2226. Previous write of size 8 at 0x7b64000f8700 by thread T11:
  2227. [failed to restore the stack]
  2228.  
  2229. As if synchronized via sleep:
  2230. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2231. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2232. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2233. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2234. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2235. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2236. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2237. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2238. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2239. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2240. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2241. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2242.  
  2243. Location is heap block of size 1056 at 0x7b64000f8700 allocated by thread T11:
  2244. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2245. #1 gui2::implementation::builder_horizontal_scrollbar::build() const src/gui/widgets/horizontal_scrollbar.cpp:219 (wesnoth-debug+0x39ebacc)
  2246. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2247. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  2248. #4 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2249. #5 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2250. #6 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  2251. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2252. #8 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2253. #9 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2254. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2255. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2256. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2257. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2258. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2259. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2260. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2261. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2262. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2263. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2264. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2265. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2266. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2267. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2268. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2269. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2270. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2271. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2272. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2273. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2274. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2275. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2276. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2277.  
  2278. Thread T11 (tid=17965, running) created by main thread at:
  2279. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2280. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2281. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2282. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2283. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2284. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2285. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2286. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2287. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2288. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2289. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2290. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2291. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2292. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2293.  
  2294. SUMMARY: ThreadSanitizer: data race src/gui/widgets/grid_private.hpp:67 in gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool)
  2295. ==================
  2296. ==================
  2297. WARNING: ThreadSanitizer: data race (pid=17519)
  2298. Read of size 4 at 0x7b64000f893c by main thread:
  2299. #0 gui2::widget::recursive_is_visible(gui2::widget const*, bool) const src/gui/widgets/widget.cpp:605 (wesnoth-debug+0x47d0038)
  2300. #1 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:618 (wesnoth-debug+0x47d037e)
  2301. #2 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  2302. #3 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  2303. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2304. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2305. #6 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2306. #7 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2307. #8 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2308. #9 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  2309. #10 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  2310. #11 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2311. #12 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2312. #13 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2313. #14 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2314. #15 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2315. #16 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2316. #17 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2317. #18 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2318. #19 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2319. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2320. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2321. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2322. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2323. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2324. #25 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2325. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2326. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2327. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2328. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2329. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2330. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2331. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2332. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2333. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2334. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2335. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2336. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2337. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2338.  
  2339. Previous write of size 8 at 0x7b64000f8938 by thread T11:
  2340. [failed to restore the stack]
  2341.  
  2342. As if synchronized via sleep:
  2343. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2344. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2345. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2346. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2347. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2348. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2349. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2350. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2351. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2352. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2353. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2354. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2355.  
  2356. Location is heap block of size 1056 at 0x7b64000f8700 allocated by thread T11:
  2357. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2358. #1 gui2::implementation::builder_horizontal_scrollbar::build() const src/gui/widgets/horizontal_scrollbar.cpp:219 (wesnoth-debug+0x39ebacc)
  2359. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2360. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  2361. #4 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2362. #5 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2363. #6 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  2364. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2365. #8 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2366. #9 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2367. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2368. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2369. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2370. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2371. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2372. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2373. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2374. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2375. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2376. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2377. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2378. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2379. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2380. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2381. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2382. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2383. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2384. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2385. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2386. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2387. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2388. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2389. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2390.  
  2391. Thread T11 (tid=17965, running) created by main thread at:
  2392. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2393. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2394. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2395. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2396. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2397. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2398. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2399. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2400. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2401. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2402. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2403. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2404. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2405. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2406.  
  2407. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:605 in gui2::widget::recursive_is_visible(gui2::widget const*, bool) const
  2408. ==================
  2409. ==================
  2410. WARNING: ThreadSanitizer: data race (pid=17519)
  2411. Read of size 8 at 0x7b64000f88f8 by main thread:
  2412. #0 gui2::widget::recursive_is_visible(gui2::widget const*, bool) const src/gui/widgets/widget.cpp:610 (wesnoth-debug+0x47d023a)
  2413. #1 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:618 (wesnoth-debug+0x47d037e)
  2414. #2 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  2415. #3 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  2416. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2417. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2418. #6 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2419. #7 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2420. #8 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2421. #9 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  2422. #10 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  2423. #11 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2424. #12 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2425. #13 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2426. #14 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2427. #15 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2428. #16 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2429. #17 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2430. #18 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2431. #19 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2432. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2433. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2434. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2435. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2436. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2437. #25 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2438. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2439. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2440. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2441. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2442. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2443. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2444. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2445. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2446. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2447. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2448. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2449. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2450. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2451.  
  2452. Previous write of size 8 at 0x7b64000f88f8 by thread T11:
  2453. [failed to restore the stack]
  2454.  
  2455. As if synchronized via sleep:
  2456. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2457. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2458. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2459. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2460. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2461. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2462. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2463. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2464. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2465. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2466. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2467. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2468.  
  2469. Location is heap block of size 1056 at 0x7b64000f8700 allocated by thread T11:
  2470. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2471. #1 gui2::implementation::builder_horizontal_scrollbar::build() const src/gui/widgets/horizontal_scrollbar.cpp:219 (wesnoth-debug+0x39ebacc)
  2472. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2473. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  2474. #4 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2475. #5 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2476. #6 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  2477. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2478. #8 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2479. #9 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2480. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2481. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2482. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2483. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2484. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2485. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2486. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2487. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2488. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2489. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2490. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2491. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2492. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2493. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2494. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2495. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2496. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2497. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2498. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2499. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2500. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2501. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2502. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2503.  
  2504. Thread T11 (tid=17965, running) created by main thread at:
  2505. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2506. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2507. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2508. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2509. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2510. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2511. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2512. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2513. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2514. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2515. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2516. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2517. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2518. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2519.  
  2520. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:610 in gui2::widget::recursive_is_visible(gui2::widget const*, bool) const
  2521. ==================
  2522. ==================
  2523. WARNING: ThreadSanitizer: data race (pid=17519)
  2524. Read of size 4 at 0x7b64000f890c by main thread:
  2525. #0 gui2::widget::get_size() const src/gui/widgets/widget.cpp:304 (wesnoth-debug+0x47ca488)
  2526. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca6e0)
  2527. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  2528. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  2529. #4 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  2530. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2531. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2532. #7 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2533. #8 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2534. #9 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2535. #10 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  2536. #11 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  2537. #12 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2538. #13 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2539. #14 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2540. #15 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2541. #16 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2542. #17 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2543. #18 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2544. #19 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2545. #20 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2546. #21 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2547. #22 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2548. #23 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2549. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2550. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2551. #26 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2552. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2553. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2554. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2555. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2556. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2557. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2558. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2559. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2560. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2561. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2562. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2563. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2564. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2565.  
  2566. Previous write of size 8 at 0x7b64000f8908 by thread T11:
  2567. [failed to restore the stack]
  2568.  
  2569. As if synchronized via sleep:
  2570. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2571. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2572. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2573. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2574. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2575. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2576. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2577. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2578. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2579. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2580. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2581. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2582.  
  2583. Location is heap block of size 1056 at 0x7b64000f8700 allocated by thread T11:
  2584. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2585. #1 gui2::implementation::builder_horizontal_scrollbar::build() const src/gui/widgets/horizontal_scrollbar.cpp:219 (wesnoth-debug+0x39ebacc)
  2586. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2587. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  2588. #4 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2589. #5 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2590. #6 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  2591. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2592. #8 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2593. #9 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2594. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2595. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2596. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2597. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2598. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2599. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2600. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2601. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2602. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2603. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2604. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2605. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2606. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2607. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2608. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2609. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2610. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2611. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2612. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2613. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2614. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2615. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2616. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2617.  
  2618. Thread T11 (tid=17965, running) created by main thread at:
  2619. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2620. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2621. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2622. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2623. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2624. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2625. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2626. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2627. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2628. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2629. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2630. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2631. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2632. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2633.  
  2634. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:304 in gui2::widget::get_size() const
  2635. ==================
  2636. ==================
  2637. WARNING: ThreadSanitizer: data race (pid=17519)
  2638. Read of size 4 at 0x7b64000f8904 by main thread:
  2639. #0 gui2::widget::get_origin() const src/gui/widgets/widget.cpp:299 (wesnoth-debug+0x47ca232)
  2640. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca7fe)
  2641. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  2642. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  2643. #4 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  2644. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2645. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2646. #7 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2647. #8 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2648. #9 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2649. #10 gui2::widget* gui2::scrollbar_container_implementation::find_at<gui2::widget>(utils::const_clone<gui2::scrollbar_container, gui2::widget>::reference, point const&, bool) src/gui/widgets/scrollbar_container_private.hpp:65 (wesnoth-debug+0x47363d3)
  2650. #11 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:475 (wesnoth-debug+0x471433f)
  2651. #12 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2652. #13 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2653. #14 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2654. #15 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2655. #16 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2656. #17 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2657. #18 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2658. #19 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2659. #20 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2660. #21 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2661. #22 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2662. #23 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2663. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2664. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2665. #26 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2666. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2667. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2668. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2669. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2670. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2671. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2672. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2673. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2674. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2675. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2676. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2677. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2678. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2679.  
  2680. Previous write of size 8 at 0x7b64000f8900 by thread T11:
  2681. [failed to restore the stack]
  2682.  
  2683. As if synchronized via sleep:
  2684. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2685. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2686. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2687. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2688. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2689. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2690. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2691. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2692. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2693. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2694. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2695. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2696.  
  2697. Location is heap block of size 1056 at 0x7b64000f8700 allocated by thread T11:
  2698. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2699. #1 gui2::implementation::builder_horizontal_scrollbar::build() const src/gui/widgets/horizontal_scrollbar.cpp:219 (wesnoth-debug+0x39ebacc)
  2700. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2701. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  2702. #4 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2703. #5 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2704. #6 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:165 (wesnoth-debug+0x3b2a11d)
  2705. #7 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2706. #8 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2707. #9 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2708. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2709. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2710. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2711. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2712. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2713. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2714. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2715. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2716. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2717. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2718. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2719. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2720. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2721. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2722. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2723. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2724. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2725. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2726. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2727. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2728. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2729. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2730. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2731.  
  2732. Thread T11 (tid=17965, running) created by main thread at:
  2733. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2734. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2735. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2736. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2737. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2738. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2739. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2740. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2741. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2742. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2743. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2744. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2745. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2746. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2747.  
  2748. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:299 in gui2::widget::get_origin() const
  2749. ==================
  2750. ==================
  2751. WARNING: ThreadSanitizer: data race (pid=17519)
  2752. Read of size 4 at 0x7b7000134a0c by main thread:
  2753. #0 gui2::widget::get_size() const src/gui/widgets/widget.cpp:304 (wesnoth-debug+0x47ca488)
  2754. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca6e0)
  2755. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  2756. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  2757. #4 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:477 (wesnoth-debug+0x471443e)
  2758. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2759. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2760. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2761. #8 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2762. #9 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2763. #10 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2764. #11 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2765. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2766. #13 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2767. #14 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2768. #15 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2769. #16 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2770. #17 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2771. #18 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2772. #19 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2773. #20 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2774. #21 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2775. #22 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2776. #23 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2777. #24 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2778. #25 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2779. #26 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2780. #27 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2781. #28 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2782. #29 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2783. #30 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2784. #31 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2785. #32 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2786.  
  2787. Previous write of size 8 at 0x7b7000134a08 by thread T11:
  2788. [failed to restore the stack]
  2789.  
  2790. As if synchronized via sleep:
  2791. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2792. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2793. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2794. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2795. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2796. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2797. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2798. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2799. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2800. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2801. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2802. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2803.  
  2804. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  2805. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2806. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  2807. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2808. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2809. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2810. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2811. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2812. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2813. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2814. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2815. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2816. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2817. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2818. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2819. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2820. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2821. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2822. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2823. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2824. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2825. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2826. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2827. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2828. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2829. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2830. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2831. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2832. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2833.  
  2834. Thread T11 (tid=17965, running) created by main thread at:
  2835. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2836. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2837. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2838. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2839. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2840. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2841. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2842. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2843. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2844. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2845. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2846. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2847. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2848. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2849.  
  2850. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:304 in gui2::widget::get_size() const
  2851. ==================
  2852. ==================
  2853. WARNING: ThreadSanitizer: data race (pid=17519)
  2854. Read of size 4 at 0x7b7000134a04 by main thread:
  2855. #0 gui2::widget::get_origin() const src/gui/widgets/widget.cpp:299 (wesnoth-debug+0x47ca232)
  2856. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca7fe)
  2857. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  2858. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  2859. #4 gui2::scrollbar_container::find_at(point const&, bool) src/gui/widgets/scrollbar_container.cpp:477 (wesnoth-debug+0x471443e)
  2860. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2861. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2862. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2863. #8 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2864. #9 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2865. #10 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2866. #11 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2867. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2868. #13 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2869. #14 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2870. #15 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2871. #16 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2872. #17 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2873. #18 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2874. #19 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2875. #20 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2876. #21 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2877. #22 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2878. #23 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2879. #24 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2880. #25 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2881. #26 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2882. #27 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2883. #28 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2884. #29 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2885. #30 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2886. #31 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2887. #32 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2888.  
  2889. Previous write of size 8 at 0x7b7000134a00 by thread T11:
  2890. [failed to restore the stack]
  2891.  
  2892. As if synchronized via sleep:
  2893. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2894. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2895. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2896. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2897. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2898. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2899. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2900. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2901. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2902. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2903. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2904. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2905.  
  2906. Location is heap block of size 1832 at 0x7b7000134800 allocated by thread T11:
  2907. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  2908. #1 gui2::implementation::builder_scrollbar_panel::build() const src/gui/widgets/scrollbar_panel.cpp:154 (wesnoth-debug+0x3b29a0c)
  2909. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  2910. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  2911. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  2912. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  2913. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  2914. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  2915. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  2916. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  2917. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  2918. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  2919. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  2920. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  2921. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  2922. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  2923. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  2924. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  2925. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  2926. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  2927. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  2928. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  2929. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  2930. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  2931. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  2932. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  2933. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  2934. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  2935.  
  2936. Thread T11 (tid=17965, running) created by main thread at:
  2937. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  2938. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  2939. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  2940. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  2941. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  2942. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2943. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2944. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2945. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2946. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2947. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2948. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2949. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2950. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2951.  
  2952. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:299 in gui2::widget::get_origin() const
  2953. ==================
  2954. ==================
  2955. WARNING: ThreadSanitizer: data race (pid=17519)
  2956. Read of size 4 at 0x7b64000f933c by main thread:
  2957. #0 gui2::widget::recursive_is_visible(gui2::widget const*, bool) const src/gui/widgets/widget.cpp:605 (wesnoth-debug+0x47d0038)
  2958. #1 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:618 (wesnoth-debug+0x47d037e)
  2959. #2 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  2960. #3 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  2961. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  2962. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  2963. #6 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  2964. #7 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  2965. #8 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  2966. #9 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  2967. #10 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  2968. #11 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  2969. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  2970. #13 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  2971. #14 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  2972. #15 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  2973. #16 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  2974. #17 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  2975. #18 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  2976. #19 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  2977. #20 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  2978. #21 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  2979. #22 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2980. #23 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2981. #24 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2982. #25 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  2983. #26 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  2984. #27 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  2985. #28 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  2986. #29 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  2987. #30 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  2988. #31 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  2989.  
  2990. Previous write of size 8 at 0x7b64000f9338 by thread T11:
  2991. [failed to restore the stack]
  2992.  
  2993. As if synchronized via sleep:
  2994. #0 nanosleep <null> (libtsan.so.0+0x49490)
  2995. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  2996. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  2997. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  2998. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  2999. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3000. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3001. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3002. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3003. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3004. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3005. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3006.  
  3007. Location is heap block of size 1032 at 0x7b64000f9100 allocated by thread T11:
  3008. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3009. #1 gui2::implementation::builder_button::build() const src/gui/widgets/button.cpp:247 (wesnoth-debug+0x39718e0)
  3010. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  3011. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  3012. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  3013. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3014. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3015. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3016. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3017. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3018. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3019. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3020. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3021. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3022. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3023. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3024. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3025. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3026. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3027. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3028. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3029. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3030. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3031. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3032. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3033. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3034. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3035. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3036.  
  3037. Thread T11 (tid=17965, running) created by main thread at:
  3038. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3039. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3040. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3041. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3042. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3043. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3044. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3045. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3046. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3047. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3048. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3049. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3050. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3051. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3052.  
  3053. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:605 in gui2::widget::recursive_is_visible(gui2::widget const*, bool) const
  3054. ==================
  3055. ==================
  3056. WARNING: ThreadSanitizer: data race (pid=17519)
  3057. Read of size 8 at 0x7b64000f92f8 by main thread:
  3058. #0 gui2::widget::recursive_is_visible(gui2::widget const*, bool) const src/gui/widgets/widget.cpp:610 (wesnoth-debug+0x47d023a)
  3059. #1 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:618 (wesnoth-debug+0x47d037e)
  3060. #2 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  3061. #3 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  3062. #4 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  3063. #5 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  3064. #6 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  3065. #7 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  3066. #8 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  3067. #9 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  3068. #10 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  3069. #11 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  3070. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  3071. #13 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  3072. #14 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  3073. #15 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  3074. #16 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  3075. #17 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  3076. #18 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  3077. #19 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  3078. #20 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3079. #21 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3080. #22 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3081. #23 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3082. #24 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3083. #25 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3084. #26 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3085. #27 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3086. #28 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3087. #29 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3088. #30 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3089. #31 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3090.  
  3091. Previous write of size 8 at 0x7b64000f92f8 by thread T11:
  3092. [failed to restore the stack]
  3093.  
  3094. Location is heap block of size 1032 at 0x7b64000f9100 allocated by thread T11:
  3095. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3096. #1 gui2::implementation::builder_button::build() const src/gui/widgets/button.cpp:247 (wesnoth-debug+0x39718e0)
  3097. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  3098. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  3099. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  3100. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3101. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3102. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3103. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3104. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3105. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3106. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3107. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3108. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3109. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3110. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3111. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3112. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3113. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3114. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3115. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3116. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3117. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3118. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3119. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3120. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3121. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3122. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3123.  
  3124. Thread T11 (tid=17965, running) created by main thread at:
  3125. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3126. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3127. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3128. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3129. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3130. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3131. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3132. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3133. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3134. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3135. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3136. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3137. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3138. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3139.  
  3140. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:610 in gui2::widget::recursive_is_visible(gui2::widget const*, bool) const
  3141. ==================
  3142. ==================
  3143. WARNING: ThreadSanitizer: data race (pid=17519)
  3144. Read of size 4 at 0x7b64000f930c by main thread:
  3145. #0 gui2::widget::get_size() const src/gui/widgets/widget.cpp:304 (wesnoth-debug+0x47ca488)
  3146. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca6e0)
  3147. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  3148. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  3149. #4 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  3150. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  3151. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  3152. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  3153. #8 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  3154. #9 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  3155. #10 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  3156. #11 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  3157. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  3158. #13 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  3159. #14 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  3160. #15 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  3161. #16 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  3162. #17 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  3163. #18 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  3164. #19 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  3165. #20 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  3166. #21 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3167. #22 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3168. #23 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3169. #24 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3170. #25 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3171. #26 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3172. #27 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3173. #28 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3174. #29 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3175. #30 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3176. #31 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3177. #32 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3178.  
  3179. Previous write of size 4 at 0x7b64000f930c by thread T11:
  3180. [failed to restore the stack]
  3181.  
  3182. As if synchronized via sleep:
  3183. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3184. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3185. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3186. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3187. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3188. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3189. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3190. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3191. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3192. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3193. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3194. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3195.  
  3196. Location is heap block of size 1032 at 0x7b64000f9100 allocated by thread T11:
  3197. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3198. #1 gui2::implementation::builder_button::build() const src/gui/widgets/button.cpp:247 (wesnoth-debug+0x39718e0)
  3199. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  3200. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  3201. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  3202. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3203. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3204. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3205. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3206. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3207. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3208. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3209. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3210. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3211. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3212. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3213. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3214. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3215. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3216. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3217. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3218. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3219. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3220. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3221. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3222. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3223. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3224. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3225.  
  3226. Thread T11 (tid=17965, running) created by main thread at:
  3227. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3228. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3229. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3230. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3231. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3232. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3233. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3234. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3235. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3236. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3237. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3238. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3239. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3240. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3241.  
  3242. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:304 in gui2::widget::get_size() const
  3243. ==================
  3244. ==================
  3245. WARNING: ThreadSanitizer: data race (pid=17519)
  3246. Read of size 4 at 0x7b64000f9308 by main thread:
  3247. #0 gui2::widget::get_size() const src/gui/widgets/widget.cpp:304 (wesnoth-debug+0x47ca58e)
  3248. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca6e0)
  3249. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  3250. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  3251. #4 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  3252. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  3253. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  3254. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  3255. #8 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  3256. #9 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  3257. #10 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  3258. #11 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  3259. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  3260. #13 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  3261. #14 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  3262. #15 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  3263. #16 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  3264. #17 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  3265. #18 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  3266. #19 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  3267. #20 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  3268. #21 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3269. #22 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3270. #23 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3271. #24 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3272. #25 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3273. #26 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3274. #27 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3275. #28 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3276. #29 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3277. #30 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3278. #31 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3279. #32 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3280.  
  3281. Previous write of size 4 at 0x7b64000f9308 by thread T11:
  3282. [failed to restore the stack]
  3283.  
  3284. As if synchronized via sleep:
  3285. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3286. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3287. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3288. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3289. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3290. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3291. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3292. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3293. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3294. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3295. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3296. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3297.  
  3298. Location is heap block of size 1032 at 0x7b64000f9100 allocated by thread T11:
  3299. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3300. #1 gui2::implementation::builder_button::build() const src/gui/widgets/button.cpp:247 (wesnoth-debug+0x39718e0)
  3301. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  3302. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  3303. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  3304. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3305. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3306. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3307. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3308. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3309. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3310. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3311. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3312. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3313. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3314. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3315. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3316. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3317. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3318. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3319. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3320. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3321. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3322. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3323. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3324. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3325. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3326. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3327.  
  3328. Thread T11 (tid=17965, running) created by main thread at:
  3329. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3330. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3331. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3332. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3333. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3334. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3335. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3336. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3337. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3338. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3339. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3340. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3341. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3342. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3343.  
  3344. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:304 in gui2::widget::get_size() const
  3345. ==================
  3346. ==================
  3347. WARNING: ThreadSanitizer: data race (pid=17519)
  3348. Read of size 4 at 0x7b64000f9304 by main thread:
  3349. #0 gui2::widget::get_origin() const src/gui/widgets/widget.cpp:299 (wesnoth-debug+0x47ca232)
  3350. #1 gui2::widget::get_rectangle() const src/gui/widgets/widget.cpp:309 (wesnoth-debug+0x47ca7fe)
  3351. #2 gui2::widget::is_at(point const&, bool) const src/gui/widgets/widget.cpp:622 (wesnoth-debug+0x47d0483)
  3352. #3 gui2::widget::find_at(point const&, bool) src/gui/widgets/widget.cpp:572 (wesnoth-debug+0x47cfae4)
  3353. #4 gui2::styled_widget::find_at(point const&, bool) src/gui/widgets/styled_widget.cpp:291 (wesnoth-debug+0x4760da1)
  3354. #5 gui2::widget* gui2::grid_implementation::find_at<gui2::widget>(utils::const_clone<gui2::grid, gui2::widget>::reference, point const&, bool) src/gui/widgets/grid_private.hpp:67 (wesnoth-debug+0x46c828b)
  3355. #6 gui2::grid::find_at(point const&, bool) src/gui/widgets/grid.cpp:645 (wesnoth-debug+0x46b6e3b)
  3356. #7 gui2::container_base::find_at(point const&, bool) src/gui/widgets/container_base.cpp:223 (wesnoth-debug+0x4391c80)
  3357. #8 gui2::window::find_at(point const&, bool) src/gui/widgets/window.cpp:814 (wesnoth-debug+0x3c4aec3)
  3358. #9 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:174 (wesnoth-debug+0x41c6de6)
  3359. #10 void std::__invoke_impl<void, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(std::__invoke_memfun_deref, void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42082e8)
  3360. #11 std::__invoke_result<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>::type std::__invoke<void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event, bool&, point const&>(void (gui2::event::mouse_motion::*&)(gui2::event::ui_event, bool&, point const&), gui2::event::mouse_motion*&, gui2::event::ui_event&&, bool&, point const&) /usr/include/c++/7/bits/invoke.h:95 (wesnoth-debug+0x4205f53)
  3361. #12 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&, 0ul, 1ul, 2ul, 3ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&>&&, std::_Index_tuple<0ul, 1ul, 2ul, 3ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4202d72)
  3362. #13 void std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x41f8904)
  3363. #14 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&), std::_Bind<void (gui2::event::mouse_motion::*(gui2::event::mouse_motion*, boost::arg<2>, boost::arg<3>, boost::arg<5>))(gui2::event::ui_event, bool&, point const&)> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, point const&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x41e03e3)
  3364. #15 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419c484)
  3365. #16 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418e5e9)
  3366. #17 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&, point const&)>, point const&>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*, point const&) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188b13)
  3367. #18 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x41826a1)
  3368. #19 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211330)
  3369. #20 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420cb13)
  3370. #21 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3371. #22 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3372. #23 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3373. #24 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3374. #25 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3375. #26 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3376. #27 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3377. #28 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3378. #29 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3379. #30 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3380. #31 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3381. #32 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3382.  
  3383. Previous write of size 8 at 0x7b64000f9300 by thread T11:
  3384. [failed to restore the stack]
  3385.  
  3386. As if synchronized via sleep:
  3387. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3388. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3389. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3390. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3391. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3392. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3393. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3394. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3395. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3396. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3397. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3398. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3399.  
  3400. Location is heap block of size 1032 at 0x7b64000f9100 allocated by thread T11:
  3401. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3402. #1 gui2::implementation::builder_button::build() const src/gui/widgets/button.cpp:247 (wesnoth-debug+0x39718e0)
  3403. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  3404. #3 gui2::container_base::init_grid(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/container_base.cpp:272 (wesnoth-debug+0x439318b)
  3405. #4 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:72 (wesnoth-debug+0x422f777)
  3406. #5 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3407. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3408. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3409. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3410. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3411. #10 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3412. #11 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3413. #12 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3414. #13 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3415. #14 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3416. #15 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3417. #16 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3418. #17 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3419. #18 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3420. #19 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3421. #20 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3422. #21 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3423. #22 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3424. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3425. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3426. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3427. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3428. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3429.  
  3430. Thread T11 (tid=17965, running) created by main thread at:
  3431. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3432. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3433. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3434. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3435. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3436. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3437. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3438. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3439. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3440. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3441. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3442. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3443. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3444. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3445.  
  3446. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:299 in gui2::widget::get_origin() const
  3447. ==================
  3448. ==================
  3449. WARNING: ThreadSanitizer: data race (pid=17519)
  3450. Read of size 4 at 0x7b1c01e79ba0 by main thread:
  3451. #0 std::less<gui2::event::ui_event>::operator()(gui2::event::ui_event const&, gui2::event::ui_event const&) const /usr/include/c++/7/bits/stl_function.h:386 (wesnoth-debug+0x3979847)
  3452. #1 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >*, std::_Rb_tree_node_base*, gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1872 (wesnoth-debug+0x397d9aa)
  3453. #2 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1187 (wesnoth-debug+0x397ab24)
  3454. #3 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:1234 (wesnoth-debug+0x397958e)
  3455. #4 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:489 (wesnoth-debug+0x3977c48)
  3456. #5 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<1> >::value, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::type& gui2::event::dispatcher_implementation::event_signal<mpl_::int_<1> >(gui2::event::dispatcher&, gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:91 (wesnoth-debug+0x41c4f59)
  3457. #6 bool gui2::event::dispatcher_implementation::has_handler::oper<mpl_::int_<1> >(gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:154 (wesnoth-debug+0x41c48e7)
  3458. #7 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:205 (wesnoth-debug+0x41c3cdd)
  3459. #8 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c2981)
  3460. #9 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c13b5)
  3461. #10 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c011f)
  3462. #11 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41beea1)
  3463. #12 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41bdc3b)
  3464. #13 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bc7e3)
  3465. #14 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bb335)
  3466. #15 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b951b)
  3467. #16 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b6ee9)
  3468. #17 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b21b9)
  3469. #18 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41ac065)
  3470. #19 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a6fbb)
  3471. #20 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a14d1)
  3472. #21 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41985f5)
  3473. #22 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x418bbc7)
  3474. #23 bool gui2::event::find<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:246 (wesnoth-debug+0x4186fec)
  3475. #24 gui2::event::dispatcher::has_event(gui2::event::ui_event, gui2::event::dispatcher::event_queue_type) src/gui/core/event/dispatcher.cpp:78 (wesnoth-debug+0x418225d)
  3476. #25 std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > > gui2::event::implementation::build_event_chain<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >(gui2::event::ui_event, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:310 (wesnoth-debug+0x418d7e5)
  3477. #26 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:502 (wesnoth-debug+0x418895f)
  3478. #27 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  3479. #28 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  3480. #29 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  3481. #30 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3482. #31 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3483. #32 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3484. #33 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3485. #34 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3486. #35 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3487. #36 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3488. #37 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3489. #38 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3490. #39 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3491. #40 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3492. #41 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3493.  
  3494. Previous write of size 8 at 0x7b1c01e79ba0 by thread T11:
  3495. [failed to restore the stack]
  3496.  
  3497. As if synchronized via sleep:
  3498. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3499. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3500. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3501. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3502. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3503. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3504. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3505. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3506. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3507. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3508. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3509. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3510.  
  3511. Location is heap block of size 112 at 0x7b1c01e79b80 allocated by thread T11:
  3512. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3513. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3980b6a)
  3514. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397f8ea)
  3515. #3 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x397daf1)
  3516. #4 std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >* std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x397ac5d)
  3517. #5 std::_Rb_tree_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x3979ab9)
  3518. #6 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x3977e2a)
  3519. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x3976080)
  3520. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  3521. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  3522. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  3523. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3524. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3525. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3526. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3527. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3528. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3529. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3530. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3531. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3532. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3533. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3534. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3535. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3536. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3537. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3538. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3539. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3540. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3541. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3542. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3543. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3544. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3545. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3546.  
  3547. Thread T11 (tid=17965, running) created by main thread at:
  3548. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3549. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3550. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3551. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3552. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3553. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3554. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3555. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3556. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3557. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3558. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3559. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3560. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3561. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3562.  
  3563. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_function.h:386 in std::less<gui2::event::ui_event>::operator()(gui2::event::ui_event const&, gui2::event::ui_event const&) const
  3564. ==================
  3565. ==================
  3566. WARNING: ThreadSanitizer: data race (pid=17519)
  3567. Read of size 8 at 0x7b1c01e79b90 by main thread:
  3568. #0 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_S_left(std::_Rb_tree_node_base*) /usr/include/c++/7/bits/stl_tree.h:764 (wesnoth-debug+0x397f836)
  3569. #1 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_lower_bound(std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >*, std::_Rb_tree_node_base*, gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1873 (wesnoth-debug+0x397d9c5)
  3570. #2 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_tree.h:1187 (wesnoth-debug+0x397ab24)
  3571. #3 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::lower_bound(gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:1234 (wesnoth-debug+0x397958e)
  3572. #4 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:489 (wesnoth-debug+0x3977c48)
  3573. #5 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<1> >::value, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::type& gui2::event::dispatcher_implementation::event_signal<mpl_::int_<1> >(gui2::event::dispatcher&, gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:91 (wesnoth-debug+0x41c4f59)
  3574. #6 bool gui2::event::dispatcher_implementation::has_handler::oper<mpl_::int_<1> >(gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:154 (wesnoth-debug+0x41c48e7)
  3575. #7 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:205 (wesnoth-debug+0x41c3cdd)
  3576. #8 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c2981)
  3577. #9 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c13b5)
  3578. #10 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c011f)
  3579. #11 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41beea1)
  3580. #12 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41bdc3b)
  3581. #13 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bc7e3)
  3582. #14 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bb335)
  3583. #15 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b951b)
  3584. #16 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b6ee9)
  3585. #17 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b21b9)
  3586. #18 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41ac065)
  3587. #19 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a6fbb)
  3588. #20 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a14d1)
  3589. #21 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41985f5)
  3590. #22 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x418bbc7)
  3591. #23 bool gui2::event::find<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:246 (wesnoth-debug+0x4186fec)
  3592. #24 gui2::event::dispatcher::has_event(gui2::event::ui_event, gui2::event::dispatcher::event_queue_type) src/gui/core/event/dispatcher.cpp:78 (wesnoth-debug+0x418225d)
  3593. #25 std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > > gui2::event::implementation::build_event_chain<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >(gui2::event::ui_event, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:310 (wesnoth-debug+0x418d7e5)
  3594. #26 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:502 (wesnoth-debug+0x418895f)
  3595. #27 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  3596. #28 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  3597. #29 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  3598. #30 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3599. #31 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3600. #32 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3601. #33 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3602. #34 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3603. #35 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3604. #36 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3605. #37 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3606. #38 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3607. #39 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3608. #40 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3609. #41 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3610.  
  3611. Previous write of size 8 at 0x7b1c01e79b90 by thread T11:
  3612. [failed to restore the stack]
  3613.  
  3614. As if synchronized via sleep:
  3615. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3616. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3617. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3618. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3619. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3620. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3621. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3622. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3623. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3624. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3625. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3626. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3627.  
  3628. Location is heap block of size 112 at 0x7b1c01e79b80 allocated by thread T11:
  3629. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3630. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3980b6a)
  3631. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397f8ea)
  3632. #3 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x397daf1)
  3633. #4 std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >* std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x397ac5d)
  3634. #5 std::_Rb_tree_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x3979ab9)
  3635. #6 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x3977e2a)
  3636. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x3976080)
  3637. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  3638. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  3639. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  3640. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3641. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3642. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3643. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3644. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3645. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3646. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3647. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3648. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3649. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3650. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3651. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3652. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3653. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3654. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3655. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3656. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3657. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3658. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3659. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3660. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3661. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3662. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3663.  
  3664. Thread T11 (tid=17965, running) created by main thread at:
  3665. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3666. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3667. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3668. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3669. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3670. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3671. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3672. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3673. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3674. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3675. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3676. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3677. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3678. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3679.  
  3680. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_tree.h:764 in std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_S_left(std::_Rb_tree_node_base*)
  3681. ==================
  3682. ==================
  3683. WARNING: ThreadSanitizer: data race (pid=17519)
  3684. Read of size 8 at 0x7b1c01e79ba8 by main thread:
  3685. #0 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::empty() const <null> (wesnoth-debug+0x41a0f69)
  3686. #1 bool gui2::event::dispatcher_implementation::has_handler::oper<mpl_::int_<1> >(gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:154 (wesnoth-debug+0x41c4914)
  3687. #2 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:205 (wesnoth-debug+0x41c3cdd)
  3688. #3 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c2981)
  3689. #4 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c13b5)
  3690. #5 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c011f)
  3691. #6 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41beea1)
  3692. #7 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41bdc3b)
  3693. #8 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bc7e3)
  3694. #9 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bb335)
  3695. #10 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b951b)
  3696. #11 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b6ee9)
  3697. #12 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b21b9)
  3698. #13 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41ac065)
  3699. #14 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a6fbb)
  3700. #15 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a14d1)
  3701. #16 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41985f5)
  3702. #17 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x418bbc7)
  3703. #18 bool gui2::event::find<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:246 (wesnoth-debug+0x4186fec)
  3704. #19 gui2::event::dispatcher::has_event(gui2::event::ui_event, gui2::event::dispatcher::event_queue_type) src/gui/core/event/dispatcher.cpp:78 (wesnoth-debug+0x418225d)
  3705. #20 std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > > gui2::event::implementation::build_event_chain<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >(gui2::event::ui_event, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:310 (wesnoth-debug+0x418d7e5)
  3706. #21 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:502 (wesnoth-debug+0x418895f)
  3707. #22 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  3708. #23 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  3709. #24 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  3710. #25 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3711. #26 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3712. #27 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3713. #28 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3714. #29 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3715. #30 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3716. #31 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3717. #32 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3718. #33 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3719. #34 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3720. #35 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3721. #36 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3722.  
  3723. Previous write of size 8 at 0x7b1c01e79ba8 by thread T11:
  3724. [failed to restore the stack]
  3725.  
  3726. As if synchronized via sleep:
  3727. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3728. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3729. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3730. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3731. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3732. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3733. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3734. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3735. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3736. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3737. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3738. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3739.  
  3740. Location is heap block of size 112 at 0x7b1c01e79b80 allocated by thread T11:
  3741. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3742. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3980b6a)
  3743. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397f8ea)
  3744. #3 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x397daf1)
  3745. #4 std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >* std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x397ac5d)
  3746. #5 std::_Rb_tree_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x3979ab9)
  3747. #6 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x3977e2a)
  3748. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x3976080)
  3749. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  3750. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  3751. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  3752. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3753. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3754. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3755. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3756. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3757. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3758. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3759. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3760. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3761. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3762. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3763. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3764. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3765. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3766. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3767. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3768. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3769. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3770. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3771. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3772. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3773. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3774. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3775.  
  3776. Thread T11 (tid=17965, running) created by main thread at:
  3777. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3778. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3779. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3780. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3781. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3782. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3783. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3784. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3785. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3786. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3787. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3788. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3789. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3790. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3791.  
  3792. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x41a0f69) in std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::empty() const
  3793. ==================
  3794. ==================
  3795. WARNING: ThreadSanitizer: data race (pid=17519)
  3796. Read of size 8 at 0x7b1c01e79bd8 by main thread:
  3797. #0 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::empty() const <null> (wesnoth-debug+0x41a0f69)
  3798. #1 bool gui2::event::dispatcher_implementation::has_handler::oper<mpl_::int_<1> >(gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:164 (wesnoth-debug+0x41c4af2)
  3799. #2 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:205 (wesnoth-debug+0x41c3cdd)
  3800. #3 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c2981)
  3801. #4 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c13b5)
  3802. #5 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c011f)
  3803. #6 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41beea1)
  3804. #7 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41bdc3b)
  3805. #8 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bc7e3)
  3806. #9 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bb335)
  3807. #10 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b951b)
  3808. #11 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b6ee9)
  3809. #12 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b21b9)
  3810. #13 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41ac065)
  3811. #14 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a6fbb)
  3812. #15 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a14d1)
  3813. #16 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41985f5)
  3814. #17 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x418bbc7)
  3815. #18 bool gui2::event::find<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:246 (wesnoth-debug+0x4186fec)
  3816. #19 gui2::event::dispatcher::has_event(gui2::event::ui_event, gui2::event::dispatcher::event_queue_type) src/gui/core/event/dispatcher.cpp:78 (wesnoth-debug+0x418225d)
  3817. #20 std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > > gui2::event::implementation::build_event_chain<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >(gui2::event::ui_event, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:310 (wesnoth-debug+0x418d7e5)
  3818. #21 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:502 (wesnoth-debug+0x418895f)
  3819. #22 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  3820. #23 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  3821. #24 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  3822. #25 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3823. #26 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3824. #27 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3825. #28 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3826. #29 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3827. #30 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3828. #31 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3829. #32 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3830. #33 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3831. #34 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3832. #35 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3833. #36 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3834.  
  3835. Previous write of size 8 at 0x7b1c01e79bd8 by thread T11:
  3836. [failed to restore the stack]
  3837.  
  3838. As if synchronized via sleep:
  3839. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3840. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3841. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3842. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3843. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3844. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3845. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3846. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3847. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3848. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3849. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3850. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3851.  
  3852. Location is heap block of size 112 at 0x7b1c01e79b80 allocated by thread T11:
  3853. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3854. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3980b6a)
  3855. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397f8ea)
  3856. #3 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x397daf1)
  3857. #4 std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >* std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x397ac5d)
  3858. #5 std::_Rb_tree_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x3979ab9)
  3859. #6 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x3977e2a)
  3860. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x3976080)
  3861. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  3862. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  3863. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  3864. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3865. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3866. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3867. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3868. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3869. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3870. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3871. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3872. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3873. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3874. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3875. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3876. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3877. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3878. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3879. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3880. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3881. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3882. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3883. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3884. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3885. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3886. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3887.  
  3888. Thread T11 (tid=17965, running) created by main thread at:
  3889. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  3890. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  3891. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  3892. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  3893. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  3894. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3895. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3896. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3897. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3898. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3899. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3900. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3901. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3902. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3903.  
  3904. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x41a0f69) in std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::empty() const
  3905. ==================
  3906. ==================
  3907. WARNING: ThreadSanitizer: data race (pid=17519)
  3908. Read of size 8 at 0x7b1c01e79bc0 by main thread:
  3909. #0 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::empty() const <null> (wesnoth-debug+0x41a0f69)
  3910. #1 bool gui2::event::dispatcher_implementation::has_handler::oper<mpl_::int_<1> >(gui2::event::ui_event) src/gui/core/event/dispatcher_private.hpp:159 (wesnoth-debug+0x41c4a03)
  3911. #2 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:205 (wesnoth-debug+0x41c3cdd)
  3912. #3 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c2981)
  3913. #4 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c13b5)
  3914. #5 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41c011f)
  3915. #6 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41beea1)
  3916. #7 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:212 (wesnoth-debug+0x41bdc3b)
  3917. #8 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bc7e3)
  3918. #9 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41bb335)
  3919. #10 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b951b)
  3920. #11 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b6ee9)
  3921. #12 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41b21b9)
  3922. #13 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41ac065)
  3923. #14 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a6fbb)
  3924. #15 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41a14d1)
  3925. #16 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x41985f5)
  3926. #17 bool gui2::event::implementation::find<false>::execute<boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::s_item<mpl_::int_<25>, boost::mpl::s_item<mpl_::int_<24>, boost::mpl::s_item<mpl_::int_<23>, boost::mpl::s_item<mpl_::int_<22>, boost::mpl::s_item<mpl_::int_<19>, boost::mpl::s_item<mpl_::int_<18>, boost::mpl::s_item<mpl_::int_<17>, boost::mpl::s_item<mpl_::int_<16>, boost::mpl::s_item<mpl_::int_<13>, boost::mpl::s_item<mpl_::int_<12>, boost::mpl::s_item<mpl_::int_<11>, boost::mpl::s_item<mpl_::int_<10>, boost::mpl::s_item<mpl_::int_<7>, boost::mpl::s_item<mpl_::int_<5>, boost::mpl::s_item<mpl_::int_<2>, boost::mpl::s_item<mpl_::int_<1>, boost::mpl::set0<mpl_::na> > > > > > > > > > > > > > > > > >*, boost::mpl::s_iter<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, boost::mpl::set0<mpl_::na> >*, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) <null> (wesnoth-debug+0x418bbc7)
  3927. #18 bool gui2::event::find<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler>(gui2::event::ui_event, gui2::event::dispatcher_implementation::has_handler) src/gui/core/event/dispatcher_private.hpp:246 (wesnoth-debug+0x4186fec)
  3928. #19 gui2::event::dispatcher::has_event(gui2::event::ui_event, gui2::event::dispatcher::event_queue_type) src/gui/core/event/dispatcher.cpp:78 (wesnoth-debug+0x418225d)
  3929. #20 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:428 (wesnoth-debug+0x418cec0)
  3930. #21 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  3931. #22 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  3932. #23 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  3933. #24 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  3934. #25 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  3935. #26 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  3936. #27 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3937. #28 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3938. #29 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3939. #30 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3940. #31 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3941. #32 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3942. #33 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3943. #34 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3944. #35 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3945. #36 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3946.  
  3947. Previous write of size 8 at 0x7b1c01e79bc0 by thread T11:
  3948. [failed to restore the stack]
  3949.  
  3950. As if synchronized via sleep:
  3951. #0 nanosleep <null> (libtsan.so.0+0x49490)
  3952. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  3953. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  3954. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  3955. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  3956. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  3957. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  3958. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  3959. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  3960. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  3961. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  3962. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  3963.  
  3964. Location is heap block of size 112 at 0x7b1c01e79b80 allocated by thread T11:
  3965. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  3966. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3980b6a)
  3967. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397f8ea)
  3968. #3 std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x397daf1)
  3969. #4 std::_Rb_tree_node<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >* std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x397ac5d)
  3970. #5 std::_Rb_tree_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > std::_Rb_tree<gui2::event::ui_event, std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >, std::_Select1st<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >, std::piecewise_construct_t const&, std::tuple<gui2::event::ui_event const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x3979ab9)
  3971. #6 std::map<gui2::event::ui_event, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::less<gui2::event::ui_event>, std::allocator<std::pair<gui2::event::ui_event const, gui2::event::dispatcher::signal_type<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > > >::operator[](gui2::event::ui_event const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x3977e2a)
  3972. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x3976080)
  3973. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  3974. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  3975. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  3976. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  3977. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  3978. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  3979. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  3980. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  3981. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  3982. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  3983. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  3984. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  3985. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  3986. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  3987. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  3988. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  3989. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  3990. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  3991. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  3992. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  3993. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  3994. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  3995. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  3996. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  3997. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  3998. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  3999.  
  4000. Thread T11 (tid=17965, running) created by main thread at:
  4001. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4002. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4003. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4004. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4005. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4006. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4007. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4008. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4009. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4010. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4011. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4012. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4013. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4014. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4015.  
  4016. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x41a0f69) in std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::empty() const
  4017. ==================
  4018. ==================
  4019. WARNING: ThreadSanitizer: data race (pid=17519)
  4020. Read of size 8 at 0x7b0c002ce670 by main thread:
  4021. #0 std::_Function_base::_M_empty() const /usr/include/c++/7/bits/std_function.h:279 (wesnoth-debug+0x393dacd)
  4022. #1 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:704 (wesnoth-debug+0x419b81d)
  4023. #2 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4024. #3 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4025. #4 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4026. #5 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4027. #6 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4028. #7 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4029. #8 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4030. #9 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4031. #10 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4032. #11 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4033. #12 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4034. #13 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4035. #14 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4036. #15 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4037. #16 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4038. #17 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4039. #18 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4040.  
  4041. Previous write of size 8 at 0x7b0c002ce670 by thread T11:
  4042. [failed to restore the stack]
  4043.  
  4044. As if synchronized via sleep:
  4045. #0 nanosleep <null> (libtsan.so.0+0x49490)
  4046. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  4047. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4048. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4049. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4050. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4051. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4052. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4053. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4054. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4055. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4056. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4057.  
  4058. Location is heap block of size 48 at 0x7b0c002ce650 allocated by thread T11:
  4059. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4060. #1 __gnu_cxx::new_allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3981297)
  4061. #2 std::allocator_traits<std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >::allocate(std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397fc67)
  4062. #3 std::__cxx11::_List_base<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_get_node() /usr/include/c++/7/bits/stl_list.h:383 (wesnoth-debug+0x397e917)
  4063. #4 std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >* std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_create_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:572 (wesnoth-debug+0x397bd1c)
  4064. #5 void std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_insert<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::_List_iterator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1801 (wesnoth-debug+0x3979da6)
  4065. #6 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::push_back(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1118 (wesnoth-debug+0x3978067)
  4066. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x39760da)
  4067. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  4068. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  4069. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  4070. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4071. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4072. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4073. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4074. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4075. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4076. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4077. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4078. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4079. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4080. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4081. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4082. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4083. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4084. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4085. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4086. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4087. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4088. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4089. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4090. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4091. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4092. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4093.  
  4094. Thread T11 (tid=17965, running) created by main thread at:
  4095. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4096. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4097. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4098. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4099. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4100. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4101. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4102. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4103. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4104. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4105. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4106. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4107. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4108. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4109.  
  4110. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/std_function.h:279 in std::_Function_base::_M_empty() const
  4111. ==================
  4112. ==================
  4113. WARNING: ThreadSanitizer: data race (pid=17519)
  4114. Read of size 8 at 0x7b0c002ce678 by main thread:
  4115. #0 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b85b)
  4116. #1 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4117. #2 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4118. #3 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4119. #4 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4120. #5 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4121. #6 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4122. #7 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4123. #8 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4124. #9 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4125. #10 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4126. #11 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4127. #12 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4128. #13 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4129. #14 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4130. #15 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4131. #16 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4132. #17 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4133.  
  4134. Previous write of size 8 at 0x7b0c002ce678 by thread T11:
  4135. [failed to restore the stack]
  4136.  
  4137. As if synchronized via sleep:
  4138. #0 nanosleep <null> (libtsan.so.0+0x49490)
  4139. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  4140. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4141. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4142. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4143. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4144. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4145. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4146. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4147. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4148. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4149. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4150.  
  4151. Location is heap block of size 48 at 0x7b0c002ce650 allocated by thread T11:
  4152. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4153. #1 __gnu_cxx::new_allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3981297)
  4154. #2 std::allocator_traits<std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >::allocate(std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397fc67)
  4155. #3 std::__cxx11::_List_base<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_get_node() /usr/include/c++/7/bits/stl_list.h:383 (wesnoth-debug+0x397e917)
  4156. #4 std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >* std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_create_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:572 (wesnoth-debug+0x397bd1c)
  4157. #5 void std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_insert<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::_List_iterator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1801 (wesnoth-debug+0x3979da6)
  4158. #6 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::push_back(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1118 (wesnoth-debug+0x3978067)
  4159. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x39760da)
  4160. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  4161. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  4162. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  4163. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4164. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4165. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4166. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4167. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4168. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4169. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4170. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4171. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4172. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4173. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4174. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4175. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4176. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4177. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4178. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4179. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4180. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4181. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4182. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4183. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4184. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4185. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4186.  
  4187. Thread T11 (tid=17965, running) created by main thread at:
  4188. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4189. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4190. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4191. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4192. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4193. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4194. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4195. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4196. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4197. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4198. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4199. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4200. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4201. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4202.  
  4203. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/std_function.h:706 in std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const
  4204. ==================
  4205. ==================
  4206. WARNING: ThreadSanitizer: data race (pid=17519)
  4207. Read of size 8 at 0x7b0c002ce660 by main thread:
  4208. #0 std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_get_pointer(std::_Any_data const&) <null> (wesnoth-debug+0x3c7aff5)
  4209. #1 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6f956)
  4210. #2 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4211. #3 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4212. #4 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4213. #5 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4214. #6 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4215. #7 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4216. #8 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4217. #9 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4218. #10 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4219. #11 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4220. #12 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4221. #13 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4222. #14 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4223. #15 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4224. #16 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4225. #17 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4226. #18 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4227. #19 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4228.  
  4229. Previous write of size 8 at 0x7b0c002ce660 by thread T11:
  4230. [failed to restore the stack]
  4231.  
  4232. As if synchronized via sleep:
  4233. #0 nanosleep <null> (libtsan.so.0+0x49490)
  4234. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  4235. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4236. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4237. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4238. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4239. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4240. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4241. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4242. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4243. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4244. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4245.  
  4246. Location is heap block of size 48 at 0x7b0c002ce650 allocated by thread T11:
  4247. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4248. #1 __gnu_cxx::new_allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x3981297)
  4249. #2 std::allocator_traits<std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >::allocate(std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x397fc67)
  4250. #3 std::__cxx11::_List_base<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_get_node() /usr/include/c++/7/bits/stl_list.h:383 (wesnoth-debug+0x397e917)
  4251. #4 std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >* std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_create_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:572 (wesnoth-debug+0x397bd1c)
  4252. #5 void std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_insert<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::_List_iterator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1801 (wesnoth-debug+0x3979da6)
  4253. #6 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::push_back(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1118 (wesnoth-debug+0x3978067)
  4254. #7 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x39760da)
  4255. #8 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  4256. #9 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  4257. #10 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  4258. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4259. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4260. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4261. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4262. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4263. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4264. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4265. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4266. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4267. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4268. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4269. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4270. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4271. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4272. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4273. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4274. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4275. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4276. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4277. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4278. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4279. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4280. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4281.  
  4282. Thread T11 (tid=17965, running) created by main thread at:
  4283. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4284. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4285. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4286. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4287. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4288. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4289. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4290. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4291. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4292. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4293. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4294. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4295. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4296. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4297.  
  4298. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x3c7aff5) in std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_get_pointer(std::_Any_data const&)
  4299. ==================
  4300. ==================
  4301. WARNING: ThreadSanitizer: data race (pid=17519)
  4302. Read of size 8 at 0x7b080055e0b0 by main thread:
  4303. #0 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c915f5)
  4304. #1 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  4305. #2 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  4306. #3 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  4307. #4 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  4308. #5 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4309. #6 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4310. #7 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4311. #8 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4312. #9 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4313. #10 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4314. #11 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4315. #12 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4316. #13 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4317. #14 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4318. #15 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4319. #16 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4320. #17 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4321. #18 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4322. #19 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4323. #20 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4324. #21 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4325. #22 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4326.  
  4327. Previous write of size 8 at 0x7b080055e0b0 by thread T11:
  4328. [failed to restore the stack]
  4329.  
  4330. As if synchronized via sleep:
  4331. #0 nanosleep <null> (libtsan.so.0+0x49490)
  4332. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  4333. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4334. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4335. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4336. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4337. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4338. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4339. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4340. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4341. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4342. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4343.  
  4344. Location is heap block of size 24 at 0x7b080055e0a0 allocated by thread T11:
  4345. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4346. #1 std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_clone(std::_Any_data&, std::_Any_data const&, std::integral_constant<bool, false>) /usr/include/c++/7/bits/std_function.h:192 (wesnoth-debug+0x3c7b29d)
  4347. #2 std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation) /usr/include/c++/7/bits/std_function.h:227 (wesnoth-debug+0x3c6fbb4)
  4348. #3 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::function(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/std_function.h:677 (wesnoth-debug+0x3981449)
  4349. #4 void __gnu_cxx::new_allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::construct<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>*, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/ext/new_allocator.h:136 (wesnoth-debug+0x397fdee)
  4350. #5 void std::allocator_traits<std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >::construct<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >&, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>*, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/alloc_traits.h:475 (wesnoth-debug+0x397ec6a)
  4351. #6 std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >* std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_create_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:575 (wesnoth-debug+0x397be11)
  4352. #7 void std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_insert<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::_List_iterator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1801 (wesnoth-debug+0x3979da6)
  4353. #8 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::push_back(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1118 (wesnoth-debug+0x3978067)
  4354. #9 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x39760da)
  4355. #10 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  4356. #11 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  4357. #12 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  4358. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4359. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4360. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4361. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4362. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4363. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4364. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4365. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4366. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4367. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4368. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4369. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4370. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4371. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4372. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4373. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4374. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4375. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4376. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4377. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4378. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4379. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4380. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4381.  
  4382. Thread T11 (tid=17965, running) created by main thread at:
  4383. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4384. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4385. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4386. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4387. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4388. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4389. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4390. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4391. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4392. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4393. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4394. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4395. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4396. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4397.  
  4398. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/invoke.h:73 in void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&)
  4399. ==================
  4400. ==================
  4401. WARNING: ThreadSanitizer: data race (pid=17519)
  4402. Read of size 8 at 0x7b080055e0a8 by main thread:
  4403. #0 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9162d)
  4404. #1 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  4405. #2 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  4406. #3 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  4407. #4 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  4408. #5 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4409. #6 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4410. #7 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4411. #8 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4412. #9 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4413. #10 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4414. #11 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4415. #12 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4416. #13 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4417. #14 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4418. #15 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4419. #16 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4420. #17 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4421. #18 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4422. #19 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4423. #20 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4424. #21 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4425. #22 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4426.  
  4427. Previous write of size 8 at 0x7b080055e0a8 by thread T11:
  4428. [failed to restore the stack]
  4429.  
  4430. As if synchronized via sleep:
  4431. #0 nanosleep <null> (libtsan.so.0+0x49490)
  4432. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  4433. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4434. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4435. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4436. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4437. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4438. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4439. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4440. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4441. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4442. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4443.  
  4444. Location is heap block of size 24 at 0x7b080055e0a0 allocated by thread T11:
  4445. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4446. #1 std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_clone(std::_Any_data&, std::_Any_data const&, std::integral_constant<bool, false>) /usr/include/c++/7/bits/std_function.h:192 (wesnoth-debug+0x3c7b29d)
  4447. #2 std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation) /usr/include/c++/7/bits/std_function.h:227 (wesnoth-debug+0x3c6fbb4)
  4448. #3 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::function(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/std_function.h:677 (wesnoth-debug+0x3981449)
  4449. #4 void __gnu_cxx::new_allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::construct<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>*, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/ext/new_allocator.h:136 (wesnoth-debug+0x397fdee)
  4450. #5 void std::allocator_traits<std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >::construct<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >&, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>*, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/alloc_traits.h:475 (wesnoth-debug+0x397ec6a)
  4451. #6 std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >* std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_create_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:575 (wesnoth-debug+0x397be11)
  4452. #7 void std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_insert<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::_List_iterator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1801 (wesnoth-debug+0x3979da6)
  4453. #8 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::push_back(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1118 (wesnoth-debug+0x3978067)
  4454. #9 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x39760da)
  4455. #10 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  4456. #11 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  4457. #12 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  4458. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4459. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4460. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4461. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4462. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4463. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4464. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4465. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4466. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4467. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4468. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4469. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4470. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4471. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4472. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4473. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4474. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4475. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4476. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4477. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4478. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4479. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4480. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4481.  
  4482. Thread T11 (tid=17965, running) created by main thread at:
  4483. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4484. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4485. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4486. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4487. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4488. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4489. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4490. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4491. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4492. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4493. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4494. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4495. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4496. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4497.  
  4498. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/invoke.h:73 in void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&)
  4499. ==================
  4500. ==================
  4501. WARNING: ThreadSanitizer: data race (pid=17519)
  4502. Read of size 8 at 0x7b080055e0a0 by main thread:
  4503. #0 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c91743)
  4504. #1 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  4505. #2 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  4506. #3 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  4507. #4 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  4508. #5 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4509. #6 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4510. #7 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4511. #8 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4512. #9 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4513. #10 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4514. #11 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4515. #12 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4516. #13 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4517. #14 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4518. #15 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4519. #16 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4520. #17 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4521. #18 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4522. #19 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4523. #20 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4524. #21 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4525. #22 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4526.  
  4527. Previous write of size 8 at 0x7b080055e0a0 by thread T11:
  4528. [failed to restore the stack]
  4529.  
  4530. As if synchronized via sleep:
  4531. #0 nanosleep <null> (libtsan.so.0+0x49490)
  4532. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  4533. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4534. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4535. #4 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4536. #5 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4537. #6 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4538. #7 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4539. #8 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4540. #9 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4541. #10 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4542. #11 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4543.  
  4544. Location is heap block of size 24 at 0x7b080055e0a0 allocated by thread T11:
  4545. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4546. #1 std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_clone(std::_Any_data&, std::_Any_data const&, std::integral_constant<bool, false>) /usr/include/c++/7/bits/std_function.h:192 (wesnoth-debug+0x3c7b29d)
  4547. #2 std::_Function_base::_Base_manager<std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_manager(std::_Any_data&, std::_Any_data const&, std::_Manager_operation) /usr/include/c++/7/bits/std_function.h:227 (wesnoth-debug+0x3c6fbb4)
  4548. #3 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::function(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/std_function.h:677 (wesnoth-debug+0x3981449)
  4549. #4 void __gnu_cxx::new_allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::construct<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>*, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/ext/new_allocator.h:136 (wesnoth-debug+0x397fdee)
  4550. #5 void std::allocator_traits<std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > > >::construct<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::allocator<std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >&, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>*, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/alloc_traits.h:475 (wesnoth-debug+0x397ec6a)
  4551. #6 std::_List_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >* std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_create_node<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:575 (wesnoth-debug+0x397be11)
  4552. #7 void std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::_M_insert<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&>(std::_List_iterator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1801 (wesnoth-debug+0x3979da6)
  4553. #8 std::__cxx11::list<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>, std::allocator<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> > >::push_back(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) /usr/include/c++/7/bits/stl_list.h:1118 (wesnoth-debug+0x3978067)
  4554. #9 gui2::event::dispatcher::signal_queue<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> >::connect_signal(gui2::event::ui_event, gui2::event::dispatcher::queue_position, std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&) src/gui/core/event/dispatcher.hpp:729 (wesnoth-debug+0x39760da)
  4555. #10 std::enable_if<boost::mpl::has_key<boost::mpl::set<mpl_::int_<1>, mpl_::int_<2>, mpl_::int_<5>, mpl_::int_<7>, mpl_::int_<10>, mpl_::int_<11>, mpl_::int_<12>, mpl_::int_<13>, mpl_::int_<16>, mpl_::int_<17>, mpl_::int_<18>, mpl_::int_<19>, mpl_::int_<22>, mpl_::int_<23>, mpl_::int_<24>, mpl_::int_<25>, mpl_::na, mpl_::na, mpl_::na, mpl_::na>, mpl_::int_<(gui2::event::ui_event)1> >::value, void>::type gui2::event::dispatcher::connect_signal<(gui2::event::ui_event)1>(std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)> const&, gui2::event::dispatcher::queue_position) src/gui/core/event/dispatcher.hpp:365 (wesnoth-debug+0x3c64c81)
  4556. #11 gui2::window::window(gui2::builder_window::window_resolution const*) src/gui/widgets/window.cpp:321 (wesnoth-debug+0x3c40c29)
  4557. #12 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee5b)
  4558. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4559. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4560. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4561. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4562. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4563. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4564. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4565. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4566. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4567. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4568. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4569. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4570. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4571. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4572. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4573. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4574. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4575. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4576. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4577. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4578. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4579. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4580. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4581.  
  4582. Thread T11 (tid=17965, running) created by main thread at:
  4583. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4584. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4585. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4586. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4587. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4588. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4589. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4590. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4591. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4592. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4593. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4594. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4595. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4596. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4597.  
  4598. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/invoke.h:73 in void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&)
  4599. ==================
  4600. ==================
  4601. WARNING: ThreadSanitizer: data race (pid=17519)
  4602. Read of size 1 at 0x7b74000e9991 by main thread:
  4603. #0 gui2::window::draw() src/gui/widgets/window.cpp:614 (wesnoth-debug+0x3c475ef)
  4604. #1 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  4605. #2 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  4606. #3 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  4607. #4 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  4608. #5 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  4609. #6 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4610. #7 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4611. #8 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4612. #9 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4613. #10 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4614. #11 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4615. #12 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4616. #13 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4617. #14 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4618. #15 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4619. #16 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4620. #17 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4621. #18 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4622. #19 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4623. #20 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4624. #21 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4625. #22 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4626. #23 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4627.  
  4628. Previous write of size 1 at 0x7b74000e9991 by thread T11:
  4629. #0 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:524 (wesnoth-debug+0x3c45a71)
  4630. #1 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:255 (wesnoth-debug+0x4a8f910)
  4631. #2 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4632. #3 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4633. #4 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4634. #5 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4635. #6 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4636. #7 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4637. #8 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4638. #9 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4639. #10 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4640. #11 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4641. #12 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4642. #13 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4643. #14 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4644. #15 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4645. #16 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4646. #17 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4647. #18 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4648. #19 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4649. #20 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4650. #21 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4651. #22 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4652. #23 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4653.  
  4654. Location is heap block of size 2496 at 0x7b74000e9200 allocated by thread T11:
  4655. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4656. #1 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee24)
  4657. #2 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4658. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4659. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4660. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4661. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4662. #7 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4663. #8 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4664. #9 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4665. #10 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4666. #11 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4667. #12 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4668. #13 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4669. #14 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4670. #15 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4671. #16 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4672. #17 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4673. #18 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4674. #19 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4675. #20 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4676. #21 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4677. #22 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4678. #23 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4679. #24 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4680.  
  4681. Thread T11 (tid=17965, running) created by main thread at:
  4682. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4683. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4684. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4685. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4686. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4687. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4688. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4689. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4690. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4691. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4692. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4693. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4694. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4695. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4696.  
  4697. SUMMARY: ThreadSanitizer: data race src/gui/widgets/window.cpp:614 in gui2::window::draw()
  4698. ==================
  4699. ==================
  4700. WARNING: ThreadSanitizer: data race (pid=17519)
  4701. Read of size 1 at 0x7b74000e9900 by main thread:
  4702. #0 gui2::window::draw() src/gui/widgets/window.cpp:621 (wesnoth-debug+0x3c47877)
  4703. #1 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  4704. #2 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  4705. #3 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  4706. #4 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  4707. #5 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  4708. #6 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4709. #7 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4710. #8 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4711. #9 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4712. #10 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4713. #11 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4714. #12 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4715. #13 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4716. #14 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4717. #15 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4718. #16 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4719. #17 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4720. #18 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4721. #19 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4722. #20 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4723. #21 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4724. #22 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4725. #23 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4726.  
  4727. Previous write of size 1 at 0x7b74000e9900 by thread T11:
  4728. #0 gui2::window::invalidate_layout() src/gui/widgets/window.cpp:809 (wesnoth-debug+0x3c4ad99)
  4729. #1 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:523 (wesnoth-debug+0x3c4595f)
  4730. #2 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:255 (wesnoth-debug+0x4a8f910)
  4731. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4732. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4733. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4734. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4735. #7 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4736. #8 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4737. #9 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4738. #10 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4739. #11 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4740. #12 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4741. #13 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4742. #14 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4743. #15 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4744. #16 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4745. #17 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4746. #18 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4747. #19 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4748. #20 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4749. #21 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4750. #22 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4751. #23 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4752. #24 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4753.  
  4754. Location is heap block of size 2496 at 0x7b74000e9200 allocated by thread T11:
  4755. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4756. #1 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee24)
  4757. #2 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4758. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4759. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4760. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4761. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4762. #7 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4763. #8 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4764. #9 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4765. #10 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4766. #11 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4767. #12 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4768. #13 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4769. #14 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4770. #15 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4771. #16 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4772. #17 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4773. #18 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4774. #19 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4775. #20 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4776. #21 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4777. #22 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4778. #23 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4779. #24 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4780.  
  4781. Thread T11 (tid=17965, running) created by main thread at:
  4782. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4783. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4784. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4785. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4786. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4787. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4788. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4789. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4790. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4791. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4792. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4793. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4794. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4795. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4796.  
  4797. SUMMARY: ThreadSanitizer: data race src/gui/widgets/window.cpp:621 in gui2::window::draw()
  4798. ==================
  4799. ==================
  4800. WARNING: ThreadSanitizer: data race (pid=17519)
  4801. Read of size 1 at 0x7b74000e9992 by main thread:
  4802. #0 gui2::window::draw() src/gui/widgets/window.cpp:625 (wesnoth-debug+0x3c479b1)
  4803. #1 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  4804. #2 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  4805. #3 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  4806. #4 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  4807. #5 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  4808. #6 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4809. #7 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4810. #8 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4811. #9 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4812. #10 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4813. #11 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4814. #12 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4815. #13 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4816. #14 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4817. #15 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4818. #16 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4819. #17 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4820. #18 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4821. #19 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4822. #20 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4823. #21 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4824. #22 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4825. #23 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4826.  
  4827. Previous write of size 1 at 0x7b74000e9992 by thread T11:
  4828. #0 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:510 (wesnoth-debug+0x3c4516e)
  4829. #1 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:255 (wesnoth-debug+0x4a8f910)
  4830. #2 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4831. #3 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4832. #4 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4833. #5 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4834. #6 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4835. #7 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4836. #8 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4837. #9 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4838. #10 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4839. #11 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4840. #12 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4841. #13 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4842. #14 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4843. #15 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4844. #16 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4845. #17 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4846. #18 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4847. #19 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4848. #20 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4849. #21 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4850. #22 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4851. #23 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4852.  
  4853. Location is heap block of size 2496 at 0x7b74000e9200 allocated by thread T11:
  4854. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4855. #1 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:53 (wesnoth-debug+0x422ee24)
  4856. #2 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4857. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4858. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4859. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4860. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4861. #7 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4862. #8 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4863. #9 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4864. #10 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4865. #11 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4866. #12 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4867. #13 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4868. #14 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4869. #15 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4870. #16 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4871. #17 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4872. #18 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4873. #19 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4874. #20 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4875. #21 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4876. #22 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4877. #23 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4878. #24 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4879.  
  4880. Thread T11 (tid=17965, running) created by main thread at:
  4881. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  4882. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  4883. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  4884. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  4885. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  4886. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4887. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4888. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4889. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4890. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4891. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4892. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4893. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4894. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4895.  
  4896. SUMMARY: ThreadSanitizer: data race src/gui/widgets/window.cpp:625 in gui2::window::draw()
  4897. ==================
  4898. ==================
  4899. WARNING: ThreadSanitizer: data race (pid=17519)
  4900. Read of size 8 at 0x7b64000fa210 by main thread:
  4901. #0 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:194 (wesnoth-debug+0x47c82b3)
  4902. #1 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  4903. #2 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  4904. #3 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  4905. #4 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  4906. #5 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  4907. #6 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  4908. #7 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  4909. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  4910. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  4911. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  4912. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  4913. #12 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  4914. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  4915. #14 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  4916. #15 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  4917. #16 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  4918. #17 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  4919. #18 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  4920. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  4921. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  4922. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  4923. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  4924. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  4925. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  4926. #25 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  4927. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  4928. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  4929. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  4930. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  4931. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  4932. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  4933. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  4934. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  4935. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  4936. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  4937. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  4938. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  4939. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  4940.  
  4941. Previous write of size 8 at 0x7b64000fa210 by thread T11:
  4942. #0 gui2::widget::set_layout_size(point const&) src/gui/widgets/widget.cpp:334 (wesnoth-debug+0x47cae50)
  4943. #1 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:330 (wesnoth-debug+0x476197b)
  4944. #2 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  4945. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4946. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4947. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4948. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4949. #7 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  4950. #8 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  4951. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4952. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4953. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4954. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4955. #13 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4956. #14 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4957. #15 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4958. #16 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4959. #17 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4960. #18 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4961. #19 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4962. #20 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4963. #21 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4964. #22 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4965. #23 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4966. #24 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4967. #25 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4968. #26 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  4969. #27 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  4970. #28 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  4971. #29 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  4972. #30 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  4973.  
  4974. Location is heap block of size 1040 at 0x7b64000fa000 allocated by thread T11:
  4975. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  4976. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  4977. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  4978. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  4979. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  4980. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  4981. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  4982. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  4983. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  4984. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  4985. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  4986. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  4987. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  4988. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  4989. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  4990. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  4991. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  4992. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  4993. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  4994. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  4995. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  4996. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  4997. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  4998. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  4999. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5000. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5001. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5002. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5003. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5004.  
  5005. Thread T11 (tid=17965, running) created by main thread at:
  5006. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5007. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5008. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5009. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5010. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5011. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5012. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5013. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5014. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5015. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5016. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5017. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5018. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5019. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5020.  
  5021. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:194 in gui2::widget::get_best_size() const
  5022. ==================
  5023. ==================
  5024. WARNING: ThreadSanitizer: data race (pid=17519)
  5025. Read of size 8 at 0x7b64000fa280 by main thread:
  5026. #0 std::__shared_ptr<t_string_base const, (__gnu_cxx::_Lock_policy)2>::get() const /usr/include/c++/7/bits/shared_ptr_base.h:1258 (wesnoth-debug+0x39512dd)
  5027. #1 std::__shared_ptr_access<t_string_base const, (__gnu_cxx::_Lock_policy)2, false, false>::_M_get() const /usr/include/c++/7/bits/shared_ptr_base.h:975 (wesnoth-debug+0x394951b)
  5028. #2 std::__shared_ptr_access<t_string_base const, (__gnu_cxx::_Lock_policy)2, false, false>::operator*() const /usr/include/c++/7/bits/shared_ptr_base.h:962 (wesnoth-debug+0x3942600)
  5029. #3 t_string::get() const src/tstring.hpp:195 (wesnoth-debug+0x393d878)
  5030. #4 t_string::empty() const src/tstring.hpp:182 (wesnoth-debug+0x393d6b1)
  5031. #5 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:247 (wesnoth-debug+0x475f3c5)
  5032. #6 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5033. #7 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5034. #8 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5035. #9 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5036. #10 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5037. #11 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5038. #12 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5039. #13 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5040. #14 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5041. #15 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5042. #16 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5043. #17 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5044. #18 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5045. #19 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5046. #20 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5047. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5048. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5049. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5050. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5051. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  5052. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  5053. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  5054. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  5055. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  5056. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  5057. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  5058. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  5059. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  5060. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  5061. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  5062. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5063. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5064. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5065. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5066. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5067. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5068. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5069. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5070. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5071.  
  5072. Previous write of size 8 at 0x7b64000fa280 by thread T11:
  5073. #0 std::__shared_ptr<t_string_base const, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<t_string_base const, (__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:1034 (wesnoth-debug+0x65d5d19)
  5074. #1 std::shared_ptr<t_string_base const>::operator=(std::shared_ptr<t_string_base const> const&) /usr/include/c++/7/bits/shared_ptr.h:93 (wesnoth-debug+0x65d5e31)
  5075. #2 t_string::operator=(t_string const&) src/tstring.cpp:635 (wesnoth-debug+0x65d502b)
  5076. #3 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:329 (wesnoth-debug+0x4761861)
  5077. #4 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  5078. #5 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5079. #6 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5080. #7 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5081. #8 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5082. #9 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5083. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5084. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5085. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5086. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5087. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5088. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5089. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5090. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5091. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5092. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5093. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5094. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5095. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5096. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5097. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5098. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5099. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5100. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5101. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5102. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5103. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5104. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5105. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5106.  
  5107. Location is heap block of size 1040 at 0x7b64000fa000 allocated by thread T11:
  5108. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5109. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  5110. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  5111. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  5112. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  5113. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  5114. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  5115. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5116. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5117. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5118. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5119. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5120. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5121. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5122. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5123. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5124. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5125. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5126. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5127. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5128. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5129. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5130. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5131. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5132. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5133. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5134. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5135. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5136. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5137.  
  5138. Thread T11 (tid=17965, running) created by main thread at:
  5139. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5140. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5141. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5142. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5143. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5144. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5145. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5146. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5147. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5148. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5149. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5150. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5151. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5152. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5153.  
  5154. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:1258 in std::__shared_ptr<t_string_base const, (__gnu_cxx::_Lock_policy)2>::get() const
  5155. ==================
  5156. ==================
  5157. WARNING: ThreadSanitizer: data race (pid=17519)
  5158. Read of size 1 at 0x7b1400309434 by main thread:
  5159. #0 t_string_base::str[abi:cxx11]() const src/tstring.cpp:563 (wesnoth-debug+0x65d4292)
  5160. #1 t_string_base::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&() const src/tstring.hpp:101 (wesnoth-debug+0x393d63f)
  5161. #2 t_string::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&() const src/tstring.hpp:185 (wesnoth-debug+0x393d766)
  5162. #3 gui2::styled_widget::get_best_text_size(point, point) const src/gui/widgets/styled_widget.cpp:461 (wesnoth-debug+0x47667b7)
  5163. #4 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:259 (wesnoth-debug+0x475fd9c)
  5164. #5 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5165. #6 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5166. #7 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5167. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5168. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5169. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5170. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5171. #12 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5172. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5173. #14 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5174. #15 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5175. #16 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5176. #17 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5177. #18 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5178. #19 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5179. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5180. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5181. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5182. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5183. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  5184. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  5185. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  5186. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  5187. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  5188. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  5189. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  5190. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  5191. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  5192. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  5193. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  5194. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5195. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5196. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5197. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5198. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5199. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5200. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5201. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5202. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5203.  
  5204. Previous write of size 1 at 0x7b1400309434 by thread T11:
  5205. #0 t_string_base::t_string_base(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/tstring.cpp:259 (wesnoth-debug+0x65d1191)
  5206. #1 t_string::t_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/tstring.cpp:624 (wesnoth-debug+0x65d4e73)
  5207. #2 impl_gettext src/scripting/lua_common.cpp:73 (wesnoth-debug+0x4a7b7db)
  5208. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5209. #4 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:468 (wesnoth-debug+0x61b53a0)
  5210. #5 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5211. #6 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5212. #7 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5213. #8 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5214. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5215. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5216. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5217. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5218. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5219. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5220. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5221. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5222. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5223. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5224. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5225. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5226. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5227. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5228. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5229. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5230. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5231. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5232. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5233. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5234. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5235. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5236. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5237.  
  5238. Location is heap block of size 72 at 0x7b14003093f0 allocated by thread T11:
  5239. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5240. #1 t_string::t_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/tstring.cpp:624 (wesnoth-debug+0x65d4e3b)
  5241. #2 impl_gettext src/scripting/lua_common.cpp:73 (wesnoth-debug+0x4a7b7db)
  5242. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5243. #4 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:468 (wesnoth-debug+0x61b53a0)
  5244. #5 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5245. #6 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5246. #7 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5247. #8 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5248. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5249. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5250. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5251. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5252. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5253. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5254. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5255. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5256. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5257. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5258. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5259. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5260. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5261. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5262. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5263. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5264. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5265. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5266. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5267. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5268. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5269. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5270. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5271.  
  5272. Thread T11 (tid=17965, running) created by main thread at:
  5273. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5274. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5275. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5276. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5277. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5278. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5279. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5280. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5281. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5282. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5283. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5284. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5285. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5286. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5287.  
  5288. SUMMARY: ThreadSanitizer: data race src/tstring.cpp:563 in t_string_base::str[abi:cxx11]() const
  5289. ==================
  5290. ==================
  5291. WARNING: ThreadSanitizer: data race (pid=17519)
  5292. Read of size 1 at 0x7b1400309420 by main thread:
  5293. #0 unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) src/serialization/ucs4_convert_impl.hpp:98 (wesnoth-debug+0x3d9ace0)
  5294. #1 ucs4_convert_impl::enableif<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::value_type>::type unicode_cast<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/serialization/unicode_cast.hpp:75 (wesnoth-debug+0x3d98dec)
  5295. #2 font::pango_text::set_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) src/font/text.cpp:292 (wesnoth-debug+0x670b146)
  5296. #3 gui2::styled_widget::get_best_text_size(point, point) const src/gui/widgets/styled_widget.cpp:461 (wesnoth-debug+0x47667c4)
  5297. #4 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:259 (wesnoth-debug+0x475fd9c)
  5298. #5 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5299. #6 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5300. #7 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5301. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5302. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5303. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5304. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5305. #12 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5306. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5307. #14 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5308. #15 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5309. #16 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5310. #17 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5311. #18 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5312. #19 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5313. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5314. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5315. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5316. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5317. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  5318. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  5319. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  5320. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  5321. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  5322. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  5323. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  5324. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  5325. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  5326. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  5327. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  5328. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5329. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5330. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5331. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5332. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5333. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5334. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5335. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5336. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5337.  
  5338. Previous write of size 8 at 0x7b1400309420 by thread T11:
  5339. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5340. #1 t_string::t_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/tstring.cpp:624 (wesnoth-debug+0x65d4e3b)
  5341. #2 impl_gettext src/scripting/lua_common.cpp:73 (wesnoth-debug+0x4a7b7db)
  5342. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5343. #4 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:468 (wesnoth-debug+0x61b53a0)
  5344. #5 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5345. #6 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5346. #7 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5347. #8 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5348. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5349. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5350. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5351. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5352. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5353. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5354. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5355. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5356. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5357. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5358. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5359. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5360. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5361. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5362. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5363. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5364. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5365. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5366. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5367. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5368. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5369. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5370. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5371.  
  5372. Location is heap block of size 72 at 0x7b14003093f0 allocated by thread T11:
  5373. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5374. #1 t_string::t_string(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/tstring.cpp:624 (wesnoth-debug+0x65d4e3b)
  5375. #2 impl_gettext src/scripting/lua_common.cpp:73 (wesnoth-debug+0x4a7b7db)
  5376. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5377. #4 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:468 (wesnoth-debug+0x61b53a0)
  5378. #5 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5379. #6 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5380. #7 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5381. #8 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5382. #9 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5383. #10 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5384. #11 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5385. #12 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5386. #13 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5387. #14 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5388. #15 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5389. #16 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5390. #17 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5391. #18 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5392. #19 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5393. #20 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5394. #21 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5395. #22 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5396. #23 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5397. #24 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5398. #25 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5399. #26 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5400. #27 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5401. #28 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5402. #29 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5403. #30 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5404. #31 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5405.  
  5406. Thread T11 (tid=17965, running) created by main thread at:
  5407. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5408. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5409. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5410. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5411. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5412. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5413. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5414. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5415. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5416. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5417. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5418. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5419. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5420. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5421.  
  5422. SUMMARY: ThreadSanitizer: data race src/serialization/ucs4_convert_impl.hpp:98 in unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)
  5423. ==================
  5424. ==================
  5425. WARNING: ThreadSanitizer: data race (pid=17519)
  5426. Read of size 1 at 0x7b64000d8690 by main thread:
  5427. #0 gui2::styled_widget::get_best_text_size(point, point) const src/gui/widgets/styled_widget.cpp:461 (wesnoth-debug+0x4766751)
  5428. #1 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:259 (wesnoth-debug+0x475fd9c)
  5429. #2 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5430. #3 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5431. #4 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5432. #5 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5433. #6 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5434. #7 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5435. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5436. #9 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5437. #10 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5438. #11 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5439. #12 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5440. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5441. #14 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5442. #15 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5443. #16 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5444. #17 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5445. #18 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5446. #19 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5447. #20 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5448. #21 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  5449. #22 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  5450. #23 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  5451. #24 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  5452. #25 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  5453. #26 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  5454. #27 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  5455. #28 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  5456. #29 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  5457. #30 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  5458. #31 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  5459. #32 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5460. #33 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5461. #34 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5462. #35 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5463. #36 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5464. #37 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5465. #38 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5466. #39 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5467. #40 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5468.  
  5469. Previous write of size 1 at 0x7b64000d8690 by thread T11:
  5470. #0 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:341 (wesnoth-debug+0x4761e2e)
  5471. #1 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  5472. #2 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5473. #3 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5474. #4 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5475. #5 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5476. #6 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5477. #7 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5478. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5479. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5480. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5481. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5482. #12 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5483. #13 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5484. #14 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5485. #15 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5486. #16 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5487. #17 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5488. #18 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5489. #19 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5490. #20 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5491. #21 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5492. #22 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5493. #23 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5494. #24 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5495. #25 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5496. #26 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5497. #27 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5498. #28 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5499. #29 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5500.  
  5501. Location is heap block of size 1040 at 0x7b64000d8400 allocated by thread T11:
  5502. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5503. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  5504. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  5505. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  5506. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  5507. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  5508. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  5509. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5510. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5511. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5512. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5513. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5514. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5515. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5516. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5517. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5518. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5519. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5520. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5521. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5522. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5523. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5524. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5525. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5526. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5527. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5528. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5529. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5530. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5531.  
  5532. Thread T11 (tid=17965, running) created by main thread at:
  5533. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5534. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5535. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5536. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5537. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5538. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5539. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5540. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5541. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5542. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5543. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5544. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5545. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5546. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5547.  
  5548. SUMMARY: ThreadSanitizer: data race src/gui/widgets/styled_widget.cpp:461 in gui2::styled_widget::get_best_text_size(point, point) const
  5549. ==================
  5550. ==================
  5551. WARNING: ThreadSanitizer: data race (pid=17519)
  5552. Read of size 1 at 0x7b1400152e24 by main thread:
  5553. #0 t_string_base::str[abi:cxx11]() const src/tstring.cpp:563 (wesnoth-debug+0x65d4292)
  5554. #1 t_string_base::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&() const src/tstring.hpp:101 (wesnoth-debug+0x393d63f)
  5555. #2 t_string::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&() const src/tstring.hpp:185 (wesnoth-debug+0x393d766)
  5556. #3 gui2::styled_widget::get_best_text_size(point, point) const src/gui/widgets/styled_widget.cpp:461 (wesnoth-debug+0x47667b7)
  5557. #4 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:259 (wesnoth-debug+0x475fd9c)
  5558. #5 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5559. #6 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5560. #7 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5561. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5562. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5563. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5564. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5565. #12 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5566. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5567. #14 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5568. #15 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5569. #16 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5570. #17 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5571. #18 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5572. #19 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5573. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5574. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5575. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5576. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5577. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  5578. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  5579. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  5580. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  5581. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  5582. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  5583. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  5584. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  5585. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  5586. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  5587. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  5588. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5589. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5590. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5591. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5592. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5593. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5594. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5595. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5596. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5597.  
  5598. Previous write of size 1 at 0x7b1400152e24 by thread T11:
  5599. #0 t_string_base::t_string_base(char const*) src/tstring.cpp:330 (wesnoth-debug+0x65d1e17)
  5600. #1 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c9f)
  5601. #2 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  5602. #3 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  5603. #4 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  5604. #5 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  5605. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5606. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5607. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5608. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5609. #10 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5610. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5611. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5612. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5613. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5614. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5615. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5616. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5617. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5618. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5619. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5620. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5621. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5622. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5623. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5624. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5625. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5626. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5627. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5628. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5629. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5630. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5631. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5632. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5633.  
  5634. Location is heap block of size 72 at 0x7b1400152de0 allocated by thread T11:
  5635. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5636. #1 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c6b)
  5637. #2 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  5638. #3 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  5639. #4 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  5640. #5 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  5641. #6 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5642. #7 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5643. #8 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5644. #9 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5645. #10 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5646. #11 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5647. #12 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5648. #13 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5649. #14 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5650. #15 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5651. #16 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5652. #17 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5653. #18 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5654. #19 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5655. #20 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5656. #21 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5657. #22 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5658. #23 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5659. #24 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5660. #25 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5661. #26 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5662. #27 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5663. #28 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5664. #29 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5665. #30 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5666. #31 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5667. #32 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5668. #33 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5669.  
  5670. Thread T11 (tid=17965, running) created by main thread at:
  5671. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5672. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5673. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5674. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5675. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5676. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5677. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5678. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5679. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5680. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5681. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5682. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5683. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5684. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5685.  
  5686. SUMMARY: ThreadSanitizer: data race src/tstring.cpp:563 in t_string_base::str[abi:cxx11]() const
  5687. ==================
  5688. ==================
  5689. WARNING: ThreadSanitizer: data race (pid=17519)
  5690. Read of size 1 at 0x7b3000052200 by main thread:
  5691. #0 unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) src/serialization/ucs4_convert_impl.hpp:98 (wesnoth-debug+0x3d9ace0)
  5692. #1 ucs4_convert_impl::enableif<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::value_type>::type unicode_cast<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/serialization/unicode_cast.hpp:75 (wesnoth-debug+0x3d98dec)
  5693. #2 font::pango_text::set_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) src/font/text.cpp:292 (wesnoth-debug+0x670b146)
  5694. #3 gui2::styled_widget::get_best_text_size(point, point) const src/gui/widgets/styled_widget.cpp:461 (wesnoth-debug+0x47667c4)
  5695. #4 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:259 (wesnoth-debug+0x475fd9c)
  5696. #5 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5697. #6 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5698. #7 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5699. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5700. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5701. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5702. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5703. #12 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5704. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5705. #14 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5706. #15 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5707. #16 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5708. #17 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5709. #18 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5710. #19 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5711. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5712. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5713. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5714. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5715. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  5716. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  5717. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  5718. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  5719. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  5720. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  5721. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  5722. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  5723. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  5724. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  5725. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  5726. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5727. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5728. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5729. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5730. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5731. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5732. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5733. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5734. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5735.  
  5736. Previous write of size 8 at 0x7b3000052200 by thread T11:
  5737. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5738. #1 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) /usr/include/c++/7/bits/basic_string.tcc:219 (wesnoth-debug+0x671f812)
  5739. #2 t_string_base::t_string_base(char const*) src/tstring.cpp:330 (wesnoth-debug+0x65d1d86)
  5740. #3 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c9f)
  5741. #4 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  5742. #5 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  5743. #6 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  5744. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  5745. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5746. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5747. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5748. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5749. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5750. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5751. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5752. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5753. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5754. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5755. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5756. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5757. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5758. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5759. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5760. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5761. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5762. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5763. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5764. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5765. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5766. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5767. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5768. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5769. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5770. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5771. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5772. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5773.  
  5774. Location is heap block of size 179 at 0x7b3000052200 allocated by thread T11:
  5775. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5776. #1 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) /usr/include/c++/7/bits/basic_string.tcc:219 (wesnoth-debug+0x671f812)
  5777. #2 t_string_base::t_string_base(char const*) src/tstring.cpp:330 (wesnoth-debug+0x65d1d86)
  5778. #3 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c9f)
  5779. #4 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  5780. #5 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  5781. #6 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  5782. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  5783. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5784. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5785. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5786. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5787. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5788. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5789. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5790. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5791. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5792. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5793. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5794. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5795. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5796. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5797. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5798. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5799. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5800. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5801. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5802. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5803. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5804. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5805. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5806. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5807. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5808. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5809. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5810. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5811.  
  5812. Thread T11 (tid=17965, running) created by main thread at:
  5813. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5814. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5815. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5816. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5817. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5818. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5819. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5820. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5821. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5822. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5823. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5824. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5825. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5826. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5827.  
  5828. SUMMARY: ThreadSanitizer: data race src/serialization/ucs4_convert_impl.hpp:98 in unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)
  5829. ==================
  5830. ==================
  5831. WARNING: ThreadSanitizer: data race (pid=17519)
  5832. Read of size 1 at 0x7b30000522a0 by main thread:
  5833. #0 unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) src/serialization/ucs4_convert_impl.hpp:115 (wesnoth-debug+0x3d9aebf)
  5834. #1 ucs4_convert_impl::enableif<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::value_type>::type unicode_cast<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/serialization/unicode_cast.hpp:75 (wesnoth-debug+0x3d98dec)
  5835. #2 font::pango_text::set_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) src/font/text.cpp:292 (wesnoth-debug+0x670b146)
  5836. #3 gui2::styled_widget::get_best_text_size(point, point) const src/gui/widgets/styled_widget.cpp:461 (wesnoth-debug+0x47667c4)
  5837. #4 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:259 (wesnoth-debug+0x475fd9c)
  5838. #5 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5839. #6 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5840. #7 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5841. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5842. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5843. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5844. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5845. #12 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5846. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5847. #14 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5848. #15 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5849. #16 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5850. #17 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5851. #18 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5852. #19 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5853. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5854. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5855. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5856. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5857. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  5858. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  5859. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  5860. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  5861. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  5862. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  5863. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  5864. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  5865. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  5866. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  5867. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  5868. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5869. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5870. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5871. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5872. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5873. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5874. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5875. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5876. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5877.  
  5878. Previous write of size 8 at 0x7b30000522a0 by thread T11:
  5879. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5880. #1 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) /usr/include/c++/7/bits/basic_string.tcc:219 (wesnoth-debug+0x671f812)
  5881. #2 t_string_base::t_string_base(char const*) src/tstring.cpp:330 (wesnoth-debug+0x65d1d86)
  5882. #3 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c9f)
  5883. #4 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  5884. #5 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  5885. #6 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  5886. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  5887. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5888. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5889. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5890. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5891. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5892. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5893. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5894. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5895. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5896. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5897. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5898. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5899. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5900. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5901. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5902. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5903. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5904. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5905. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5906. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5907. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5908. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5909. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5910. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5911. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5912. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5913. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5914. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5915.  
  5916. Location is heap block of size 179 at 0x7b3000052200 allocated by thread T11:
  5917. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  5918. #1 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) /usr/include/c++/7/bits/basic_string.tcc:219 (wesnoth-debug+0x671f812)
  5919. #2 t_string_base::t_string_base(char const*) src/tstring.cpp:330 (wesnoth-debug+0x65d1d86)
  5920. #3 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c9f)
  5921. #4 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  5922. #5 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  5923. #6 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  5924. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  5925. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5926. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5927. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5928. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5929. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  5930. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  5931. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  5932. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  5933. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  5934. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  5935. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  5936. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  5937. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  5938. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  5939. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  5940. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  5941. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  5942. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  5943. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  5944. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  5945. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  5946. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  5947. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  5948. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  5949. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  5950. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  5951. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  5952. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  5953.  
  5954. Thread T11 (tid=17965, running) created by main thread at:
  5955. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  5956. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  5957. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  5958. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  5959. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  5960. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  5961. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  5962. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  5963. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  5964. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  5965. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  5966. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  5967. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  5968. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  5969.  
  5970. SUMMARY: ThreadSanitizer: data race src/serialization/ucs4_convert_impl.hpp:115 in unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)
  5971. ==================
  5972. ==================
  5973. WARNING: ThreadSanitizer: data race (pid=17519)
  5974. Read of size 1 at 0x7b30000522b0 by main thread:
  5975. #0 unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&) src/serialization/ucs4_convert_impl.hpp:98 (wesnoth-debug+0x3d9ace0)
  5976. #1 ucs4_convert_impl::enableif<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::value_type>::type unicode_cast<std::vector<unsigned int, std::allocator<unsigned int> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/serialization/unicode_cast.hpp:75 (wesnoth-debug+0x3d98dec)
  5977. #2 font::pango_text::set_text(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool) src/font/text.cpp:292 (wesnoth-debug+0x670b146)
  5978. #3 gui2::styled_widget::get_best_text_size(point, point) const src/gui/widgets/styled_widget.cpp:461 (wesnoth-debug+0x47667c4)
  5979. #4 gui2::styled_widget::calculate_best_size() const src/gui/widgets/styled_widget.cpp:259 (wesnoth-debug+0x475fd9c)
  5980. #5 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5981. #6 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5982. #7 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5983. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5984. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5985. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5986. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5987. #12 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  5988. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5989. #14 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  5990. #15 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  5991. #16 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5992. #17 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  5993. #18 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  5994. #19 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  5995. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  5996. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  5997. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  5998. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  5999. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6000. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6001. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6002. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6003. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6004. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6005. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6006. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6007. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6008. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6009. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6010. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6011. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6012. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6013. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6014. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6015. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6016. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6017. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6018. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6019.  
  6020. Previous write of size 1 at 0x7b30000522b0 by thread T11:
  6021. #0 memcpy <null> (libtsan.so.0+0x31065)
  6022. #1 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) /usr/include/c++/7/bits/basic_string.tcc:225 (wesnoth-debug+0x671f8af)
  6023. #2 t_string_base::t_string_base(char const*) src/tstring.cpp:330 (wesnoth-debug+0x65d1d86)
  6024. #3 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c9f)
  6025. #4 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  6026. #5 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  6027. #6 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  6028. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  6029. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6030. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6031. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6032. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6033. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6034. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6035. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6036. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6037. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6038. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6039. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6040. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6041. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6042. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6043. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6044. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6045. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6046. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6047. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6048. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6049. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6050. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6051. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6052. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6053. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6054. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6055. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6056. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6057.  
  6058. Location is heap block of size 179 at 0x7b3000052200 allocated by thread T11:
  6059. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6060. #1 void std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_construct<char const*>(char const*, char const*, std::forward_iterator_tag) /usr/include/c++/7/bits/basic_string.tcc:219 (wesnoth-debug+0x671f812)
  6061. #2 t_string_base::t_string_base(char const*) src/tstring.cpp:330 (wesnoth-debug+0x65d1d86)
  6062. #3 t_string::t_string(char const*) src/tstring.cpp:614 (wesnoth-debug+0x65d4c9f)
  6063. #4 t_string::operator=(char const*) src/tstring.cpp:641 (wesnoth-debug+0x65d5095)
  6064. #5 luaW_totstring(lua_State*, int, t_string&) src/scripting/lua_common.cpp:573 (wesnoth-debug+0x4a7e806)
  6065. #6 luaW_checktstring(lua_State*, int) src/scripting/lua_common.cpp:593 (wesnoth-debug+0x4a7e901)
  6066. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:577 (wesnoth-debug+0x4a94c12)
  6067. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6068. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6069. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6070. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6071. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6072. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6073. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6074. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6075. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6076. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6077. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6078. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6079. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6080. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6081. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6082. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6083. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6084. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6085. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6086. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6087. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6088. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6089. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6090. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6091. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6092. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6093. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6094. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6095.  
  6096. Thread T11 (tid=17965, running) created by main thread at:
  6097. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  6098. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  6099. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  6100. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  6101. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  6102. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6103. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6104. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6105. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6106. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6107. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6108. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6109. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6110. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6111.  
  6112. SUMMARY: ThreadSanitizer: data race src/serialization/ucs4_convert_impl.hpp:98 in unsigned int ucs4_convert_impl::utf8_impl::read<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >(__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > const&)
  6113. ==================
  6114. ==================
  6115. WARNING: ThreadSanitizer: data race (pid=17519)
  6116. Read of size 4 at 0x7b6c0007c63c by main thread:
  6117. #0 gui2::widget::get_visible() const src/gui/widgets/widget.cpp:502 (wesnoth-debug+0x47cea04)
  6118. #1 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:750 (wesnoth-debug+0x46b95ef)
  6119. #2 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  6120. #3 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6121. #4 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  6122. #5 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  6123. #6 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6124. #7 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  6125. #8 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6126. #9 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  6127. #10 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  6128. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6129. #12 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  6130. #13 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6131. #14 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  6132. #15 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  6133. #16 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  6134. #17 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  6135. #18 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  6136. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6137. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6138. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6139. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6140. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6141. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6142. #25 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6143. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6144. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6145. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6146. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6147. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6148. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6149. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6150. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6151. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6152. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6153. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6154. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6155. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6156.  
  6157. Previous write of size 4 at 0x7b6c0007c63c by thread T11:
  6158. #0 gui2::widget::set_visible(gui2::widget::visibility) src/gui/widgets/widget.cpp:483 (wesnoth-debug+0x47ce2f3)
  6159. #1 lua_gui2::intf_set_dialog_visible(lua_State*) src/scripting/lua_gui2.cpp:923 (wesnoth-debug+0x4a98bb9)
  6160. #2 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6161. #3 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6162. #4 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6163. #5 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6164. #6 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6165. #7 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6166. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6167. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6168. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6169. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6170. #12 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6171. #13 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6172. #14 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6173. #15 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6174. #16 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6175. #17 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6176. #18 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6177. #19 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6178. #20 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6179. #21 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6180. #22 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6181. #23 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6182. #24 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6183. #25 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6184. #26 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6185. #27 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6186. #28 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6187. #29 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6188.  
  6189. Location is heap block of size 1752 at 0x7b6c0007c400 allocated by thread T11:
  6190. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6191. #1 gui2::implementation::builder_panel::build() const src/gui/widgets/panel.cpp:201 (wesnoth-debug+0x3ae7836)
  6192. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6193. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6194. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  6195. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  6196. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  6197. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6198. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6199. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6200. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6201. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6202. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6203. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6204. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6205. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6206. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6207. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6208. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6209. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6210. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6211. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6212. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6213. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6214. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6215. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6216. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6217. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6218. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6219.  
  6220. Thread T11 (tid=17965, running) created by main thread at:
  6221. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  6222. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  6223. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  6224. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  6225. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  6226. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6227. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6228. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6229. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6230. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6231. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6232. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6233. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6234. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6235.  
  6236. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:502 in gui2::widget::get_visible() const
  6237. ==================
  6238. ==================
  6239. WARNING: ThreadSanitizer: data race (pid=17519)
  6240. Read of size 4 at 0x7b640008c73c by main thread:
  6241. #0 gui2::widget::get_visible() const src/gui/widgets/widget.cpp:502 (wesnoth-debug+0x47cea04)
  6242. #1 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:750 (wesnoth-debug+0x46b95ef)
  6243. #2 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  6244. #3 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6245. #4 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  6246. #5 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  6247. #6 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6248. #7 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  6249. #8 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  6250. #9 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6251. #10 gui2::scrollbar_container::calculate_best_size() const src/gui/widgets/scrollbar_container.cpp:295 (wesnoth-debug+0x470fac7)
  6252. #11 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6253. #12 gui2::grid::child::get_best_size() const src/gui/widgets/grid.cpp:757 (wesnoth-debug+0x46b9e31)
  6254. #13 gui2::grid::calculate_best_size() const src/gui/widgets/grid.cpp:436 (wesnoth-debug+0x46af5a4)
  6255. #14 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6256. #15 gui2::container_base::calculate_best_size() const src/gui/widgets/container_base.cpp:152 (wesnoth-debug+0x4390472)
  6257. #16 gui2::widget::get_best_size() const src/gui/widgets/widget.cpp:196 (wesnoth-debug+0x47c8465)
  6258. #17 gui2::window::layout() src/gui/widgets/window.cpp:892 (wesnoth-debug+0x3c4c4b9)
  6259. #18 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  6260. #19 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  6261. #20 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  6262. #21 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  6263. #22 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6264. #23 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6265. #24 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6266. #25 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6267. #26 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6268. #27 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6269. #28 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6270. #29 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6271. #30 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6272. #31 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6273. #32 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6274. #33 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6275. #34 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6276. #35 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6277. #36 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6278. #37 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6279. #38 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6280. #39 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6281. #40 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6282. #41 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6283.  
  6284. Previous write of size 4 at 0x7b640008c73c by thread T11:
  6285. #0 gui2::widget::set_visible(gui2::widget::visibility) src/gui/widgets/widget.cpp:483 (wesnoth-debug+0x47ce2f3)
  6286. #1 lua_gui2::intf_set_dialog_visible(lua_State*) src/scripting/lua_gui2.cpp:923 (wesnoth-debug+0x4a98bb9)
  6287. #2 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6288. #3 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6289. #4 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6290. #5 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6291. #6 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6292. #7 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6293. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6294. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6295. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6296. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6297. #12 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6298. #13 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6299. #14 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6300. #15 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6301. #16 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6302. #17 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6303. #18 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6304. #19 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6305. #20 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6306. #21 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6307. #22 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6308. #23 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6309. #24 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6310. #25 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6311. #26 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6312. #27 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6313. #28 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6314. #29 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6315.  
  6316. Location is heap block of size 1032 at 0x7b640008c500 allocated by thread T11:
  6317. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6318. #1 gui2::implementation::builder_button::build() const src/gui/widgets/button.cpp:247 (wesnoth-debug+0x39718e0)
  6319. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6320. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6321. #4 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6322. #5 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6323. #6 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  6324. #7 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  6325. #8 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  6326. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6327. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6328. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6329. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6330. #13 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6331. #14 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6332. #15 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6333. #16 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6334. #17 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6335. #18 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6336. #19 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6337. #20 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6338. #21 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6339. #22 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6340. #23 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6341. #24 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6342. #25 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6343. #26 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6344. #27 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6345. #28 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6346. #29 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6347. #30 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6348.  
  6349. Thread T11 (tid=17965, running) created by main thread at:
  6350. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  6351. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  6352. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  6353. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  6354. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  6355. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6356. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6357. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6358. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6359. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6360. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6361. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6362. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6363. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6364.  
  6365. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:502 in gui2::widget::get_visible() const
  6366. ==================
  6367. ==================
  6368. WARNING: ThreadSanitizer: data race (pid=17519)
  6369. Write of size 1 at 0x7b5400260818 by main thread:
  6370. #0 gui2::canvas::set_is_dirty(bool) src/gui/core/canvas.hpp:180 (wesnoth-debug+0x3a0a357)
  6371. #1 gui2::canvas::set_width(unsigned int) src/gui/core/canvas.hpp:145 (wesnoth-debug+0x476d23e)
  6372. #2 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:270 (wesnoth-debug+0x47606d3)
  6373. #3 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  6374. #4 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6375. #5 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6376. #6 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6377. #7 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6378. #8 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6379. #9 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  6380. #10 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  6381. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6382. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6383. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6384. #14 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  6385. #15 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  6386. #16 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  6387. #17 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  6388. #18 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  6389. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  6390. #20 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6391. #21 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6392. #22 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6393. #23 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6394. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6395. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6396. #26 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6397. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6398. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6399. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6400. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6401. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6402. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6403. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6404. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6405. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6406. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6407. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6408. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6409. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6410.  
  6411. Previous write of size 1 at 0x7b5400260818 by thread T11:
  6412. #0 gui2::canvas::set_is_dirty(bool) src/gui/core/canvas.hpp:180 (wesnoth-debug+0x3a0a357)
  6413. #1 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:174 (wesnoth-debug+0x3a0a2b0)
  6414. #2 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:395 (wesnoth-debug+0x4763f44)
  6415. #3 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  6416. #4 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  6417. #5 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6418. #6 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6419. #7 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6420. #8 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6421. #9 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6422. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6423. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6424. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6425. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6426. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6427. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6428. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6429. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6430. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6431. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6432. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6433. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6434. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6435. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6436. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6437. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6438. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6439. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6440. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6441. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6442. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6443. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6444. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6445.  
  6446. Location is heap block of size 576 at 0x7b5400260700 allocated by thread T11:
  6447. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6448. #1 __gnu_cxx::new_allocator<gui2::canvas>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4772fe2)
  6449. #2 std::allocator_traits<std::allocator<gui2::canvas> >::allocate(std::allocator<gui2::canvas>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4772627)
  6450. #3 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x4771c06)
  6451. #4 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_create_storage(unsigned long) /usr/include/c++/7/bits/stl_vector.h:187 (wesnoth-debug+0x4770870)
  6452. #5 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_Vector_base(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:138 (wesnoth-debug+0x476f246)
  6453. #6 std::vector<gui2::canvas, std::allocator<gui2::canvas> >::vector(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:284 (wesnoth-debug+0x476def8)
  6454. #7 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:62 (wesnoth-debug+0x4757c42)
  6455. #8 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  6456. #9 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  6457. #10 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6458. #11 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6459. #12 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  6460. #13 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  6461. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  6462. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6463. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6464. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6465. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6466. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6467. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6468. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6469. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6470. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6471. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6472. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6473. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6474. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6475. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6476. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6477. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6478. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6479. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6480. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6481. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6482. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6483. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6484.  
  6485. Thread T11 (tid=17965, running) created by main thread at:
  6486. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  6487. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  6488. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  6489. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  6490. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  6491. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6492. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6493. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6494. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6495. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6496. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6497. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6498. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6499. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6500.  
  6501. SUMMARY: ThreadSanitizer: data race src/gui/core/canvas.hpp:180 in gui2::canvas::set_is_dirty(bool)
  6502. ==================
  6503. ==================
  6504. WARNING: ThreadSanitizer: data race (pid=17519)
  6505. Read of size 8 at 0x7b5400260740 by main thread:
  6506. #0 surface::free_surface() src/sdl/surface.cpp:22 (wesnoth-debug+0x6a5e316)
  6507. #1 surface::assign_surface_internal(SDL_Surface*) src/sdl/surface.hpp:92 (wesnoth-debug+0x407985b)
  6508. #2 surface::assign(SDL_Surface*) src/sdl/surface.hpp:48 (wesnoth-debug+0x407973a)
  6509. #3 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1513 (wesnoth-debug+0x41541d3)
  6510. #4 gui2::canvas::set_width(unsigned int) src/gui/core/canvas.hpp:146 (wesnoth-debug+0x476d26f)
  6511. #5 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:270 (wesnoth-debug+0x47606d3)
  6512. #6 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  6513. #7 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6514. #8 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6515. #9 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6516. #10 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6517. #11 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6518. #12 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  6519. #13 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  6520. #14 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6521. #15 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6522. #16 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6523. #17 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  6524. #18 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  6525. #19 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  6526. #20 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  6527. #21 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  6528. #22 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  6529. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6530. #24 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6531. #25 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6532. #26 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6533. #27 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6534. #28 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6535. #29 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6536. #30 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6537. #31 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6538. #32 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6539. #33 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6540. #34 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6541. #35 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6542. #36 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6543. #37 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6544. #38 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6545. #39 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6546. #40 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6547. #41 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6548. #42 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6549.  
  6550. Previous write of size 8 at 0x7b5400260740 by thread T11:
  6551. #0 surface::assign_surface_internal(SDL_Surface*) src/sdl/surface.hpp:93 (wesnoth-debug+0x407988c)
  6552. #1 surface::assign(SDL_Surface*) src/sdl/surface.hpp:48 (wesnoth-debug+0x407973a)
  6553. #2 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1513 (wesnoth-debug+0x41541d3)
  6554. #3 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:175 (wesnoth-debug+0x3a0a2e1)
  6555. #4 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:395 (wesnoth-debug+0x4763f44)
  6556. #5 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  6557. #6 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  6558. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6559. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6560. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6561. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6562. #11 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6563. #12 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6564. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6565. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6566. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6567. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6568. #17 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6569. #18 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6570. #19 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6571. #20 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6572. #21 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6573. #22 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6574. #23 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6575. #24 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6576. #25 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6577. #26 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6578. #27 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6579. #28 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6580. #29 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6581. #30 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6582. #31 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6583. #32 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6584. #33 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6585. #34 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6586.  
  6587. Location is heap block of size 576 at 0x7b5400260700 allocated by thread T11:
  6588. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6589. #1 __gnu_cxx::new_allocator<gui2::canvas>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4772fe2)
  6590. #2 std::allocator_traits<std::allocator<gui2::canvas> >::allocate(std::allocator<gui2::canvas>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4772627)
  6591. #3 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x4771c06)
  6592. #4 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_create_storage(unsigned long) /usr/include/c++/7/bits/stl_vector.h:187 (wesnoth-debug+0x4770870)
  6593. #5 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_Vector_base(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:138 (wesnoth-debug+0x476f246)
  6594. #6 std::vector<gui2::canvas, std::allocator<gui2::canvas> >::vector(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:284 (wesnoth-debug+0x476def8)
  6595. #7 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:62 (wesnoth-debug+0x4757c42)
  6596. #8 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  6597. #9 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  6598. #10 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6599. #11 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6600. #12 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  6601. #13 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  6602. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  6603. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6604. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6605. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6606. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6607. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6608. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6609. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6610. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6611. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6612. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6613. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6614. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6615. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6616. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6617. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6618. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6619. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6620. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6621. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6622. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6623. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6624. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6625.  
  6626. Thread T11 (tid=17965, running) created by main thread at:
  6627. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  6628. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  6629. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  6630. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  6631. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  6632. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6633. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6634. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6635. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6636. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6637. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6638. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6639. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6640. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6641.  
  6642. SUMMARY: ThreadSanitizer: data race src/sdl/surface.cpp:22 in surface::free_surface()
  6643. ==================
  6644. ==================
  6645. WARNING: ThreadSanitizer: data race (pid=17519)
  6646. Read of size 8 at 0x7b5400260720 by main thread:
  6647. #0 __gnu_cxx::__normal_iterator<std::shared_ptr<gui2::canvas::shape>*, std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > > >::__normal_iterator(std::shared_ptr<gui2::canvas::shape>* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x416584e)
  6648. #1 std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > >::end() /usr/include/c++/7/bits/stl_vector.h:582 (wesnoth-debug+0x416267d)
  6649. #2 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1518 (wesnoth-debug+0x41542ff)
  6650. #3 gui2::canvas::set_width(unsigned int) src/gui/core/canvas.hpp:146 (wesnoth-debug+0x476d26f)
  6651. #4 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:270 (wesnoth-debug+0x47606d3)
  6652. #5 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  6653. #6 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6654. #7 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6655. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6656. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6657. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6658. #11 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  6659. #12 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  6660. #13 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6661. #14 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6662. #15 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6663. #16 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  6664. #17 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  6665. #18 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  6666. #19 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  6667. #20 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  6668. #21 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  6669. #22 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6670. #23 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6671. #24 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6672. #25 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6673. #26 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6674. #27 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6675. #28 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6676. #29 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6677. #30 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6678. #31 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6679. #32 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6680. #33 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6681. #34 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6682. #35 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6683. #36 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6684. #37 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6685. #38 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6686. #39 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6687. #40 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6688. #41 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6689.  
  6690. Previous write of size 8 at 0x7b5400260720 by thread T11:
  6691. #0 std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > >::_M_erase_at_end(std::shared_ptr<gui2::canvas::shape>*) /usr/include/c++/7/bits/stl_vector.h:1514 (wesnoth-debug+0x4165b83)
  6692. #1 std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > >::clear() /usr/include/c++/7/bits/stl_vector.h:1248 (wesnoth-debug+0x4162aa9)
  6693. #2 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1519 (wesnoth-debug+0x4154377)
  6694. #3 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:175 (wesnoth-debug+0x3a0a2e1)
  6695. #4 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:395 (wesnoth-debug+0x4763f44)
  6696. #5 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  6697. #6 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  6698. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6699. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6700. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6701. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6702. #11 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6703. #12 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6704. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6705. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6706. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6707. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6708. #17 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6709. #18 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6710. #19 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6711. #20 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6712. #21 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6713. #22 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6714. #23 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6715. #24 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6716. #25 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6717. #26 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6718. #27 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6719. #28 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6720. #29 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6721. #30 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6722. #31 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6723. #32 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6724. #33 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6725. #34 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6726.  
  6727. Location is heap block of size 576 at 0x7b5400260700 allocated by thread T11:
  6728. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6729. #1 __gnu_cxx::new_allocator<gui2::canvas>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4772fe2)
  6730. #2 std::allocator_traits<std::allocator<gui2::canvas> >::allocate(std::allocator<gui2::canvas>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4772627)
  6731. #3 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x4771c06)
  6732. #4 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_create_storage(unsigned long) /usr/include/c++/7/bits/stl_vector.h:187 (wesnoth-debug+0x4770870)
  6733. #5 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_Vector_base(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:138 (wesnoth-debug+0x476f246)
  6734. #6 std::vector<gui2::canvas, std::allocator<gui2::canvas> >::vector(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:284 (wesnoth-debug+0x476def8)
  6735. #7 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:62 (wesnoth-debug+0x4757c42)
  6736. #8 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  6737. #9 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  6738. #10 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6739. #11 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6740. #12 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  6741. #13 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  6742. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  6743. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6744. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6745. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6746. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6747. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6748. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6749. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6750. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6751. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6752. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6753. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6754. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6755. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6756. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6757. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6758. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6759. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6760. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6761. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6762. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6763. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6764. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6765.  
  6766. Thread T11 (tid=17965, running) created by main thread at:
  6767. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  6768. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  6769. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  6770. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  6771. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  6772. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6773. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6774. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6775. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6776. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6777. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6778. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6779. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6780. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6781.  
  6782. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<std::shared_ptr<gui2::canvas::shape>*, std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > > >::__normal_iterator(std::shared_ptr<gui2::canvas::shape>* const&)
  6783. ==================
  6784. ==================
  6785. WARNING: ThreadSanitizer: data race (pid=17519)
  6786. Write of size 4 at 0x7b64000fa208 by main thread:
  6787. #0 gui2::widget::place(point const&, point const&) src/gui/widgets/widget.cpp:242 (wesnoth-debug+0x47c959f)
  6788. #1 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:283 (wesnoth-debug+0x4760b11)
  6789. #2 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  6790. #3 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6791. #4 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6792. #5 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6793. #6 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6794. #7 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6795. #8 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  6796. #9 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  6797. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6798. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6799. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6800. #13 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  6801. #14 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  6802. #15 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  6803. #16 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  6804. #17 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  6805. #18 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  6806. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6807. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6808. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6809. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6810. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6811. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6812. #25 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6813. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6814. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6815. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6816. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6817. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6818. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6819. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6820. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6821. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6822. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6823. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6824. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6825. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6826.  
  6827. Previous read of size 4 at 0x7b64000fa208 by thread T11:
  6828. #0 gui2::widget::get_width() const src/gui/widgets/widget.cpp:324 (wesnoth-debug+0x47cabd0)
  6829. #1 gui2::styled_widget::get_text_maximum_width() const src/gui/widgets/styled_widget.cpp:405 (wesnoth-debug+0x47645d1)
  6830. #2 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:370 (wesnoth-debug+0x4762b4e)
  6831. #3 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  6832. #4 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  6833. #5 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6834. #6 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6835. #7 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6836. #8 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6837. #9 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6838. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6839. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6840. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6841. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6842. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6843. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6844. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6845. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6846. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6847. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6848. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6849. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6850. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6851. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6852. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6853. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6854. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6855. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6856. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6857. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6858. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6859. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6860. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6861.  
  6862. Location is heap block of size 1040 at 0x7b64000fa000 allocated by thread T11:
  6863. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6864. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  6865. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6866. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6867. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  6868. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  6869. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  6870. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6871. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6872. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6873. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6874. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6875. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6876. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6877. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6878. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6879. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6880. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6881. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6882. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6883. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6884. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6885. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6886. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6887. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6888. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6889. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6890. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6891. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6892.  
  6893. Thread T11 (tid=17965, running) created by main thread at:
  6894. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  6895. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  6896. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  6897. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  6898. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  6899. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6900. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6901. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6902. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6903. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6904. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6905. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6906. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6907. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6908.  
  6909. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:242 in gui2::widget::place(point const&, point const&)
  6910. ==================
  6911. ==================
  6912. WARNING: ThreadSanitizer: data race (pid=17519)
  6913. Write of size 4 at 0x7b64000fa20c by main thread:
  6914. #0 gui2::widget::place(point const&, point const&) src/gui/widgets/widget.cpp:243 (wesnoth-debug+0x47c96df)
  6915. #1 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:283 (wesnoth-debug+0x4760b11)
  6916. #2 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  6917. #3 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6918. #4 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6919. #5 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6920. #6 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6921. #7 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6922. #8 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  6923. #9 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  6924. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  6925. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  6926. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  6927. #13 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  6928. #14 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  6929. #15 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  6930. #16 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  6931. #17 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  6932. #18 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  6933. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  6934. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  6935. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  6936. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  6937. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  6938. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  6939. #25 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  6940. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  6941. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  6942. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  6943. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  6944. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  6945. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  6946. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  6947. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  6948. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  6949. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  6950. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  6951. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  6952. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  6953.  
  6954. Previous read of size 4 at 0x7b64000fa20c by thread T11:
  6955. #0 gui2::widget::get_height() const src/gui/widgets/widget.cpp:329 (wesnoth-debug+0x47cacfc)
  6956. #1 gui2::styled_widget::get_text_maximum_height() const src/gui/widgets/styled_widget.cpp:412 (wesnoth-debug+0x47647d8)
  6957. #2 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:371 (wesnoth-debug+0x4762c5d)
  6958. #3 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  6959. #4 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  6960. #5 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6961. #6 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6962. #7 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6963. #8 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6964. #9 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  6965. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  6966. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6967. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6968. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  6969. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  6970. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  6971. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  6972. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  6973. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  6974. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  6975. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  6976. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  6977. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  6978. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  6979. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  6980. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  6981. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  6982. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  6983. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  6984. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  6985. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  6986. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  6987. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  6988.  
  6989. Location is heap block of size 1040 at 0x7b64000fa000 allocated by thread T11:
  6990. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  6991. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  6992. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  6993. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  6994. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  6995. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  6996. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  6997. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  6998. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  6999. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7000. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7001. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7002. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7003. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7004. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7005. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7006. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7007. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7008. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7009. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7010. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7011. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7012. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7013. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7014. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7015. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7016. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7017. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7018. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7019.  
  7020. Thread T11 (tid=17965, running) created by main thread at:
  7021. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  7022. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  7023. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  7024. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  7025. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  7026. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7027. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7028. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7029. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7030. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7031. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7032. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7033. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7034. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7035.  
  7036. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:243 in gui2::widget::place(point const&, point const&)
  7037. ==================
  7038. ==================
  7039. WARNING: ThreadSanitizer: data race (pid=17519)
  7040. Write of size 1 at 0x7b64000fa238 by main thread:
  7041. #0 gui2::widget::set_is_dirty(bool) src/gui/widgets/widget.cpp:465 (wesnoth-debug+0x47cdcec)
  7042. #1 gui2::widget::place(point const&, point const&) src/gui/widgets/widget.cpp:257 (wesnoth-debug+0x47c97e2)
  7043. #2 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:283 (wesnoth-debug+0x4760b11)
  7044. #3 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  7045. #4 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7046. #5 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7047. #6 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7048. #7 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7049. #8 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7050. #9 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  7051. #10 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  7052. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7053. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7054. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7055. #14 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  7056. #15 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  7057. #16 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  7058. #17 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  7059. #18 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  7060. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  7061. #20 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  7062. #21 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  7063. #22 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  7064. #23 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  7065. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  7066. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  7067. #26 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  7068. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  7069. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  7070. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  7071. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  7072. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7073. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7074. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7075. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7076. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7077. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7078. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7079. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7080. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7081.  
  7082. Previous write of size 1 at 0x7b64000fa238 by thread T11:
  7083. #0 gui2::widget::set_is_dirty(bool) src/gui/widgets/widget.cpp:465 (wesnoth-debug+0x47cdcec)
  7084. #1 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:332 (wesnoth-debug+0x4761bc2)
  7085. #2 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7086. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7087. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7088. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7089. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7090. #7 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7091. #8 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7092. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7093. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7094. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7095. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7096. #13 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7097. #14 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7098. #15 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7099. #16 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7100. #17 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7101. #18 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7102. #19 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7103. #20 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7104. #21 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7105. #22 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7106. #23 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7107. #24 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7108. #25 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7109. #26 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7110. #27 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7111. #28 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7112. #29 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7113. #30 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7114.  
  7115. Location is heap block of size 1040 at 0x7b64000fa000 allocated by thread T11:
  7116. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7117. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  7118. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  7119. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  7120. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  7121. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  7122. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  7123. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7124. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7125. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7126. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7127. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7128. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7129. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7130. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7131. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7132. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7133. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7134. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7135. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7136. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7137. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7138. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7139. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7140. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7141. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7142. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7143. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7144. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7145.  
  7146. Thread T11 (tid=17965, running) created by main thread at:
  7147. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  7148. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  7149. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  7150. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  7151. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  7152. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7153. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7154. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7155. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7156. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7157. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7158. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7159. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7160. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7161.  
  7162. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:465 in gui2::widget::set_is_dirty(bool)
  7163. ==================
  7164. ==================
  7165. WARNING: ThreadSanitizer: data race (pid=17519)
  7166. Write of size 8 at 0x7b140015a8f0 by main thread:
  7167. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  7168. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7169. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7170. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7171. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7172. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7173. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  7174. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  7175. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7176. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7177. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7178. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7179. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7180. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  7181. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  7182. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7183. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7184. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7185. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  7186. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  7187. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  7188. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  7189. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  7190. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  7191. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  7192. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  7193. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  7194. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  7195. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  7196. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  7197. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  7198. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  7199. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  7200. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  7201. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  7202. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7203. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7204. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7205. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7206. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7207. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7208. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7209. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7210. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7211.  
  7212. Previous write of size 8 at 0x7b140015a8f0 by thread T11:
  7213. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  7214. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7215. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7216. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7217. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7218. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7219. #6 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7220. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7221. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7222. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7223. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7224. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7225. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7226. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7227. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7228. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7229. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7230. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7231. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7232. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7233. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7234. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7235. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7236. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7237. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7238. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7239. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7240. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7241. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7242. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7243. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7244. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7245. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7246. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7247. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7248. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7249.  
  7250. Location is heap block of size 80 at 0x7b140015a8b0 allocated by thread T11:
  7251. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7252. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  7253. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  7254. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  7255. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  7256. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  7257. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  7258. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  7259. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7260. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7261. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  7262. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  7263. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  7264. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  7265. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  7266. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  7267. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  7268. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  7269. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7270. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7271. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7272. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7273. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7274. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7275. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7276. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7277. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7278. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7279. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7280. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7281. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7282. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7283. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7284. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7285. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7286. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7287. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7288. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7289. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7290. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7291.  
  7292. Thread T11 (tid=17965, running) created by main thread at:
  7293. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  7294. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  7295. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  7296. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  7297. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  7298. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7299. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7300. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7301. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7302. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7303. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7304. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7305. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7306. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7307.  
  7308. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  7309. ==================
  7310. ==================
  7311. WARNING: ThreadSanitizer: data race (pid=17519)
  7312. Read of size 8 at 0x7b140015a8f8 by main thread:
  7313. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  7314. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  7315. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7316. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7317. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7318. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7319. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7320. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  7321. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  7322. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7323. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7324. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7325. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7326. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7327. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  7328. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  7329. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7330. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7331. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7332. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  7333. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  7334. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  7335. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  7336. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  7337. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  7338. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  7339. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  7340. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  7341. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  7342. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  7343. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  7344. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  7345. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  7346. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  7347. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  7348. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  7349. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7350. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7351. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7352. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7353. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7354. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7355. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7356. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7357. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7358.  
  7359. Previous write of size 8 at 0x7b140015a8f8 by thread T11:
  7360. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  7361. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  7362. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7363. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7364. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7365. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7366. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7367. #7 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7368. #8 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7369. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7370. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7371. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7372. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7373. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7374. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7375. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7376. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7377. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7378. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7379. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7380. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7381. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7382. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7383. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7384. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7385. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7386. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7387. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7388. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7389. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7390. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7391. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7392. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7393. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7394. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7395. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7396. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7397.  
  7398. Location is heap block of size 80 at 0x7b140015a8b0 allocated by thread T11:
  7399. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7400. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  7401. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  7402. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  7403. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  7404. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  7405. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  7406. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  7407. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7408. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7409. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  7410. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  7411. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  7412. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  7413. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  7414. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  7415. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  7416. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  7417. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7418. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7419. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7420. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7421. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7422. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7423. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7424. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7425. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7426. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7427. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7428. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7429. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7430. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7431. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7432. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7433. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7434. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7435. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7436. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7437. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7438. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7439.  
  7440. Thread T11 (tid=17965, running) created by main thread at:
  7441. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  7442. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  7443. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  7444. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  7445. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  7446. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7447. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7448. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7449. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7450. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7451. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7452. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7453. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7454. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7455.  
  7456. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  7457. ==================
  7458. ==================
  7459. WARNING: ThreadSanitizer: data race (pid=17519)
  7460. Read of size 8 at 0x7b1000069c80 by main thread:
  7461. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  7462. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  7463. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7464. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7465. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7466. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7467. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7468. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  7469. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  7470. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7471. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7472. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7473. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7474. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7475. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  7476. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  7477. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7478. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7479. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7480. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  7481. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  7482. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  7483. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  7484. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  7485. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  7486. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  7487. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  7488. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  7489. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  7490. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  7491. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  7492. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  7493. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  7494. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  7495. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  7496. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  7497. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7498. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7499. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7500. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7501. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7502. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7503. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7504. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7505. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7506.  
  7507. Previous write of size 8 at 0x7b1000069c80 by thread T11:
  7508. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7509. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  7510. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  7511. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  7512. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  7513. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  7514. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  7515. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  7516. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  7517. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  7518. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  7519. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7520. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7521. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7522. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7523. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7524. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7525. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7526. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7527. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7528. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7529. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7530. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7531. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7532. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7533. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7534. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7535. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7536. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7537. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7538. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7539. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7540. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7541. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7542. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7543. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7544. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7545. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7546. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7547. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7548. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7549.  
  7550. Location is heap block of size 56 at 0x7b1000069c80 allocated by thread T11:
  7551. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7552. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  7553. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  7554. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  7555. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  7556. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  7557. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  7558. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  7559. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  7560. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  7561. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  7562. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7563. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7564. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7565. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7566. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7567. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7568. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7569. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7570. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7571. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7572. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7573. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7574. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7575. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7576. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7577. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7578. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7579. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7580. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7581. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7582. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7583. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7584. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7585. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7586. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7587. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7588. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7589. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7590. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7591. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7592.  
  7593. Thread T11 (tid=17965, running) created by main thread at:
  7594. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  7595. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  7596. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  7597. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  7598. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  7599. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7600. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7601. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7602. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7603. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7604. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7605. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7606. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7607. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7608.  
  7609. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  7610. ==================
  7611. ==================
  7612. WARNING: ThreadSanitizer: data race (pid=17519)
  7613. Atomic write of size 4 at 0x7b1000069c88 by main thread:
  7614. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  7615. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  7616. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  7617. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  7618. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  7619. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  7620. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7621. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7622. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7623. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7624. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  7625. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  7626. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  7627. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7628. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7629. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7630. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7631. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7632. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  7633. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  7634. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7635. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7636. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7637. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  7638. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  7639. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  7640. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  7641. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  7642. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  7643. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  7644. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  7645. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  7646. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  7647. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  7648. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  7649. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  7650. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  7651. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  7652. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  7653. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  7654. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7655. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7656. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7657. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7658. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7659. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7660. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7661. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7662. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7663.  
  7664. Previous write of size 8 at 0x7b1000069c88 by thread T11:
  7665. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7666. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  7667. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  7668. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  7669. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  7670. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  7671. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  7672. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  7673. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  7674. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  7675. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  7676. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7677. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7678. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7679. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7680. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7681. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7682. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7683. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7684. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7685. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7686. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7687. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7688. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7689. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7690. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7691. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7692. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7693. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7694. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7695. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7696. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7697. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7698. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7699. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7700. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7701. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7702. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7703. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7704. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7705. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7706.  
  7707. Location is heap block of size 56 at 0x7b1000069c80 allocated by thread T11:
  7708. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7709. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  7710. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  7711. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  7712. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  7713. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  7714. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  7715. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  7716. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  7717. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  7718. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  7719. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7720. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7721. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7722. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7723. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7724. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7725. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7726. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7727. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7728. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7729. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7730. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7731. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7732. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7733. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7734. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7735. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7736. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7737. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7738. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7739. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7740. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7741. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7742. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7743. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7744. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7745. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7746. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7747. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7748. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7749.  
  7750. Thread T11 (tid=17965, running) created by main thread at:
  7751. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  7752. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  7753. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  7754. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  7755. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  7756. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7757. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7758. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7759. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7760. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7761. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7762. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7763. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7764. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7765.  
  7766. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  7767. ==================
  7768. ==================
  7769. WARNING: ThreadSanitizer: data race (pid=17519)
  7770. Write of size 8 at 0x7b14005c8db0 by main thread:
  7771. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  7772. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7773. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7774. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7775. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7776. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  7777. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  7778. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  7779. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7780. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7781. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7782. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7783. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7784. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  7785. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  7786. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7787. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7788. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7789. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  7790. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  7791. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  7792. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  7793. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  7794. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  7795. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  7796. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  7797. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  7798. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  7799. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  7800. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  7801. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  7802. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  7803. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  7804. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  7805. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  7806. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7807. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7808. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7809. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7810. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7811. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7812. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7813. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7814. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7815.  
  7816. Previous write of size 8 at 0x7b14005c8db0 by thread T11:
  7817. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  7818. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7819. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7820. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7821. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7822. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  7823. #6 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7824. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7825. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7826. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7827. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7828. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7829. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7830. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7831. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7832. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7833. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7834. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7835. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7836. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7837. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7838. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7839. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7840. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7841. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7842. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7843. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7844. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7845. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7846. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7847. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7848. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7849. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7850. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7851. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7852. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7853.  
  7854. Location is heap block of size 80 at 0x7b14005c8d70 allocated by thread T11:
  7855. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  7856. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  7857. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  7858. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  7859. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  7860. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  7861. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  7862. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  7863. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7864. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  7865. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  7866. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  7867. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  7868. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  7869. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  7870. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  7871. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  7872. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  7873. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7874. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7875. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7876. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7877. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7878. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7879. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7880. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7881. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7882. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7883. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7884. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7885. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7886. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7887. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7888. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7889. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7890. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7891. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7892. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7893. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  7894. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  7895.  
  7896. Thread T11 (tid=17965, running) created by main thread at:
  7897. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  7898. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  7899. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  7900. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  7901. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  7902. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7903. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7904. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7905. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7906. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7907. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7908. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7909. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7910. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7911.  
  7912. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  7913. ==================
  7914. ==================
  7915. WARNING: ThreadSanitizer: data race (pid=17519)
  7916. Read of size 8 at 0x7b14005c8db8 by main thread:
  7917. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  7918. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  7919. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7920. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7921. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7922. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7923. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  7924. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  7925. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  7926. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7927. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7928. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7929. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7930. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7931. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  7932. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  7933. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  7934. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  7935. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  7936. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  7937. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  7938. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  7939. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  7940. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  7941. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  7942. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  7943. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  7944. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  7945. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  7946. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  7947. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  7948. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  7949. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  7950. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  7951. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  7952. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  7953. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  7954. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  7955. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  7956. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  7957. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  7958. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  7959. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  7960. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  7961. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  7962.  
  7963. Previous write of size 8 at 0x7b14005c8db8 by thread T11:
  7964. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  7965. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  7966. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  7967. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  7968. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  7969. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  7970. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  7971. #7 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  7972. #8 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  7973. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7974. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7975. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7976. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7977. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  7978. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  7979. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  7980. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  7981. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  7982. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  7983. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  7984. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  7985. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  7986. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  7987. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  7988. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  7989. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  7990. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  7991. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  7992. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  7993. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  7994. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  7995. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  7996. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  7997. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  7998. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  7999. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8000. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8001.  
  8002. Location is heap block of size 80 at 0x7b14005c8d70 allocated by thread T11:
  8003. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8004. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  8005. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  8006. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  8007. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  8008. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  8009. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  8010. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  8011. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8012. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  8013. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  8014. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  8015. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  8016. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  8017. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  8018. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  8019. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  8020. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  8021. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8022. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8023. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8024. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8025. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8026. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8027. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8028. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8029. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8030. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8031. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8032. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8033. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8034. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8035. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8036. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8037. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8038. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8039. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8040. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8041. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8042. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8043.  
  8044. Thread T11 (tid=17965, running) created by main thread at:
  8045. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  8046. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  8047. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  8048. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  8049. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  8050. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8051. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8052. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8053. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8054. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8055. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8056. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8057. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8058. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8059.  
  8060. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  8061. ==================
  8062. ==================
  8063. WARNING: ThreadSanitizer: data race (pid=17519)
  8064. Read of size 8 at 0x7b080021a940 by main thread:
  8065. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  8066. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  8067. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8068. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8069. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8070. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8071. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  8072. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  8073. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  8074. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8075. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8076. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8077. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8078. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8079. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  8080. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  8081. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8082. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8083. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8084. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  8085. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  8086. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  8087. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  8088. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  8089. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  8090. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  8091. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  8092. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  8093. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  8094. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  8095. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  8096. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  8097. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  8098. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  8099. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  8100. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  8101. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8102. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8103. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8104. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8105. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8106. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8107. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8108. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8109. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8110.  
  8111. Previous write of size 8 at 0x7b080021a940 by thread T11:
  8112. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8113. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8114. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8115. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8116. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8117. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8118. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8119. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8120. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8121. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8122. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  8123. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8124. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8125. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8126. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8127. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8128. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8129. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8130. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8131. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8132. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8133. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8134. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8135. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8136. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8137. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8138. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8139. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8140. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8141. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8142. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8143. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8144. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8145. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8146. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8147. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8148. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8149. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8150. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8151. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8152. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8153.  
  8154. Location is heap block of size 32 at 0x7b080021a940 allocated by thread T11:
  8155. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8156. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8157. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8158. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8159. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8160. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8161. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8162. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8163. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8164. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8165. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  8166. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8167. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8168. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8169. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8170. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8171. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8172. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8173. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8174. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8175. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8176. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8177. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8178. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8179. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8180. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8181. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8182. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8183. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8184. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8185. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8186. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8187. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8188. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8189. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8190. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8191. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8192. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8193. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8194. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8195. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8196.  
  8197. Thread T11 (tid=17965, running) created by main thread at:
  8198. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  8199. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  8200. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  8201. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  8202. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  8203. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8204. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8205. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8206. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8207. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8208. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8209. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8210. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8211. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8212.  
  8213. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  8214. ==================
  8215. ==================
  8216. WARNING: ThreadSanitizer: data race (pid=17519)
  8217. Atomic write of size 4 at 0x7b080021a948 by main thread:
  8218. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  8219. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  8220. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  8221. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  8222. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  8223. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  8224. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8225. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8226. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8227. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8228. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  8229. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  8230. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  8231. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8232. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8233. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8234. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8235. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8236. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  8237. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  8238. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8239. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8240. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8241. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  8242. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  8243. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  8244. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  8245. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  8246. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  8247. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  8248. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  8249. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  8250. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  8251. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  8252. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  8253. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  8254. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  8255. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  8256. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  8257. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  8258. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8259. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8260. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8261. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8262. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8263. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8264. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8265. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8266. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8267.  
  8268. Previous write of size 8 at 0x7b080021a948 by thread T11:
  8269. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8270. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8271. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8272. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8273. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8274. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8275. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8276. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8277. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8278. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8279. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  8280. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8281. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8282. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8283. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8284. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8285. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8286. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8287. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8288. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8289. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8290. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8291. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8292. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8293. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8294. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8295. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8296. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8297. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8298. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8299. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8300. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8301. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8302. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8303. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8304. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8305. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8306. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8307. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8308. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8309. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8310.  
  8311. Location is heap block of size 32 at 0x7b080021a940 allocated by thread T11:
  8312. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8313. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8314. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8315. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8316. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8317. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8318. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8319. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8320. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8321. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8322. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  8323. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8324. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8325. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8326. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8327. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8328. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8329. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8330. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8331. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8332. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8333. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8334. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8335. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8336. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8337. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8338. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8339. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8340. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8341. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8342. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8343. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8344. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8345. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8346. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8347. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8348. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8349. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8350. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8351. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8352. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8353.  
  8354. Thread T11 (tid=17965, running) created by main thread at:
  8355. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  8356. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  8357. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  8358. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  8359. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  8360. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8361. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8362. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8363. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8364. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8365. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8366. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8367. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8368. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8369.  
  8370. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  8371. ==================
  8372. ==================
  8373. WARNING: ThreadSanitizer: data race (pid=17519)
  8374. Write of size 8 at 0x7b140038f2b0 by main thread:
  8375. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  8376. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8377. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8378. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8379. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8380. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8381. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  8382. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  8383. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8384. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8385. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8386. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8387. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8388. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  8389. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  8390. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8391. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8392. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8393. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  8394. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  8395. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  8396. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  8397. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  8398. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  8399. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  8400. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  8401. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  8402. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  8403. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  8404. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  8405. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  8406. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  8407. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  8408. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  8409. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  8410. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8411. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8412. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8413. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8414. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8415. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8416. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8417. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8418. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8419.  
  8420. Previous write of size 8 at 0x7b140038f2b0 by thread T11:
  8421. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  8422. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8423. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8424. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8425. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8426. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8427. #6 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8428. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8429. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8430. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8431. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8432. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8433. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8434. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8435. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8436. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8437. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8438. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8439. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8440. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8441. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8442. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8443. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8444. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8445. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8446. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8447. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8448. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8449. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8450. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8451. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8452. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8453. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8454. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8455. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8456. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8457.  
  8458. Location is heap block of size 80 at 0x7b140038f270 allocated by thread T11:
  8459. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8460. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  8461. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  8462. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  8463. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  8464. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  8465. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  8466. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  8467. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8468. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8469. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  8470. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  8471. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  8472. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  8473. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  8474. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  8475. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  8476. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  8477. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8478. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8479. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8480. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8481. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8482. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8483. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8484. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8485. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8486. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8487. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8488. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8489. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8490. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8491. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8492. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8493. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8494. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8495. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8496. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8497. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8498. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8499.  
  8500. Thread T11 (tid=17965, running) created by main thread at:
  8501. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  8502. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  8503. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  8504. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  8505. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  8506. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8507. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8508. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8509. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8510. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8511. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8512. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8513. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8514. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8515.  
  8516. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  8517. ==================
  8518. ==================
  8519. WARNING: ThreadSanitizer: data race (pid=17519)
  8520. Read of size 8 at 0x7b140038f2b8 by main thread:
  8521. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  8522. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  8523. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8524. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8525. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8526. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8527. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8528. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  8529. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  8530. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8531. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8532. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8533. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8534. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8535. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  8536. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  8537. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8538. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8539. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8540. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  8541. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  8542. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  8543. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  8544. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  8545. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  8546. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  8547. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  8548. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  8549. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  8550. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  8551. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  8552. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  8553. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  8554. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  8555. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  8556. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  8557. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8558. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8559. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8560. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8561. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8562. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8563. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8564. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8565. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8566.  
  8567. Previous write of size 8 at 0x7b140038f2b8 by thread T11:
  8568. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  8569. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  8570. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8571. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8572. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8573. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8574. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8575. #7 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8576. #8 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8577. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8578. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8579. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8580. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8581. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8582. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8583. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8584. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8585. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8586. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8587. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8588. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8589. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8590. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8591. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8592. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8593. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8594. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8595. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8596. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8597. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8598. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8599. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8600. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8601. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8602. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8603. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8604. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8605.  
  8606. Location is heap block of size 80 at 0x7b140038f270 allocated by thread T11:
  8607. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8608. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  8609. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  8610. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  8611. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  8612. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  8613. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  8614. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  8615. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8616. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8617. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  8618. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  8619. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  8620. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  8621. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  8622. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  8623. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  8624. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  8625. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8626. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8627. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8628. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8629. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8630. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8631. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8632. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8633. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8634. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8635. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8636. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8637. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8638. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8639. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8640. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8641. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8642. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8643. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8644. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8645. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8646. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8647.  
  8648. Thread T11 (tid=17965, running) created by main thread at:
  8649. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  8650. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  8651. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  8652. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  8653. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  8654. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8655. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8656. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8657. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8658. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8659. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8660. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8661. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8662. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8663.  
  8664. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  8665. ==================
  8666. ==================
  8667. WARNING: ThreadSanitizer: data race (pid=17519)
  8668. Read of size 8 at 0x7b08005479a0 by main thread:
  8669. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  8670. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  8671. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8672. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8673. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8674. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8675. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8676. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  8677. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  8678. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8679. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8680. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8681. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8682. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8683. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  8684. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  8685. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8686. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8687. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8688. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  8689. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  8690. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  8691. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  8692. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  8693. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  8694. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  8695. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  8696. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  8697. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  8698. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  8699. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  8700. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  8701. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  8702. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  8703. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  8704. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  8705. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8706. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8707. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8708. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8709. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8710. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8711. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8712. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8713. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8714.  
  8715. Previous write of size 8 at 0x7b08005479a0 by thread T11:
  8716. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8717. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8718. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8719. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8720. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8721. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8722. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8723. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8724. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8725. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8726. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  8727. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8728. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8729. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8730. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8731. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8732. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8733. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8734. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8735. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8736. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8737. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8738. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8739. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8740. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8741. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8742. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8743. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8744. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8745. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8746. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8747. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8748. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8749. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8750. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8751. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8752. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8753. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8754. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8755. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8756. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8757.  
  8758. Location is heap block of size 32 at 0x7b08005479a0 allocated by thread T11:
  8759. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8760. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8761. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8762. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8763. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8764. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8765. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8766. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8767. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8768. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8769. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  8770. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8771. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8772. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8773. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8774. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8775. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8776. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8777. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8778. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8779. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8780. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8781. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8782. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8783. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8784. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8785. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8786. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8787. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8788. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8789. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8790. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8791. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8792. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8793. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8794. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8795. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8796. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8797. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8798. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8799. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8800.  
  8801. Thread T11 (tid=17965, running) created by main thread at:
  8802. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  8803. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  8804. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  8805. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  8806. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  8807. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8808. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8809. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8810. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8811. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8812. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8813. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8814. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8815. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8816.  
  8817. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  8818. ==================
  8819. ==================
  8820. WARNING: ThreadSanitizer: data race (pid=17519)
  8821. Atomic write of size 4 at 0x7b08005479a8 by main thread:
  8822. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  8823. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  8824. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  8825. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  8826. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  8827. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  8828. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8829. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8830. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8831. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8832. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  8833. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  8834. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  8835. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8836. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8837. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8838. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8839. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8840. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  8841. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  8842. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8843. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8844. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8845. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  8846. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  8847. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  8848. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  8849. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  8850. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  8851. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  8852. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  8853. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  8854. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  8855. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  8856. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  8857. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  8858. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  8859. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  8860. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  8861. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  8862. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8863. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8864. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8865. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8866. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8867. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8868. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8869. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8870. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8871.  
  8872. Previous write of size 8 at 0x7b08005479a8 by thread T11:
  8873. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8874. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8875. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8876. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8877. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8878. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8879. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8880. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8881. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8882. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8883. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  8884. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8885. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8886. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8887. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8888. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8889. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8890. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8891. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8892. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8893. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8894. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8895. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8896. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8897. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8898. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8899. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8900. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8901. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8902. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8903. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8904. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8905. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8906. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8907. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8908. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8909. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8910. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8911. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8912. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8913. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8914.  
  8915. Location is heap block of size 32 at 0x7b08005479a0 allocated by thread T11:
  8916. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  8917. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  8918. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  8919. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  8920. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  8921. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  8922. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  8923. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  8924. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  8925. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  8926. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  8927. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  8928. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  8929. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8930. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8931. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8932. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8933. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  8934. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  8935. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  8936. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  8937. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  8938. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  8939. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  8940. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  8941. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  8942. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  8943. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  8944. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  8945. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  8946. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  8947. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  8948. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  8949. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  8950. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  8951. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  8952. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  8953. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  8954. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  8955. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  8956. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  8957.  
  8958. Thread T11 (tid=17965, running) created by main thread at:
  8959. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  8960. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  8961. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  8962. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  8963. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  8964. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  8965. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  8966. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  8967. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  8968. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  8969. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  8970. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  8971. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  8972. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  8973.  
  8974. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  8975. ==================
  8976. ==================
  8977. WARNING: ThreadSanitizer: data race (pid=17519)
  8978. Write of size 8 at 0x7b140039ee90 by main thread:
  8979. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  8980. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  8981. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  8982. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  8983. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  8984. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  8985. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  8986. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  8987. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8988. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8989. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8990. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8991. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8992. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  8993. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  8994. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  8995. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  8996. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  8997. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  8998. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  8999. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  9000. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  9001. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  9002. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  9003. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  9004. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  9005. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  9006. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  9007. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  9008. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  9009. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  9010. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  9011. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  9012. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  9013. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  9014. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9015. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9016. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9017. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9018. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9019. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9020. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9021. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9022. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9023.  
  9024. Previous write of size 8 at 0x7b140039ee90 by thread T11:
  9025. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  9026. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  9027. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  9028. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  9029. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  9030. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  9031. #6 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  9032. #7 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  9033. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9034. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9035. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9036. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9037. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9038. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9039. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9040. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9041. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9042. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9043. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9044. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9045. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9046. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9047. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9048. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9049. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9050. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9051. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9052. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9053. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9054. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9055. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9056. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9057. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9058. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9059. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9060. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9061.  
  9062. Location is heap block of size 80 at 0x7b140039ee50 allocated by thread T11:
  9063. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9064. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  9065. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  9066. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  9067. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  9068. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  9069. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  9070. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  9071. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  9072. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  9073. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  9074. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  9075. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  9076. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  9077. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  9078. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  9079. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  9080. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  9081. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9082. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9083. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9084. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9085. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9086. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9087. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9088. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9089. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9090. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9091. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9092. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9093. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9094. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9095. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9096. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9097. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9098. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9099. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9100. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9101. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9102. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9103.  
  9104. Thread T11 (tid=17965, running) created by main thread at:
  9105. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  9106. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  9107. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  9108. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  9109. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  9110. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9111. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9112. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9113. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9114. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9115. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9116. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9117. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9118. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9119.  
  9120. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  9121. ==================
  9122. ==================
  9123. WARNING: ThreadSanitizer: data race (pid=17519)
  9124. Read of size 8 at 0x7b140039ee98 by main thread:
  9125. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  9126. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  9127. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  9128. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  9129. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  9130. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  9131. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  9132. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  9133. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  9134. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9135. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9136. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9137. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9138. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9139. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  9140. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  9141. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9142. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9143. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9144. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  9145. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  9146. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  9147. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  9148. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  9149. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  9150. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  9151. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  9152. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  9153. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  9154. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  9155. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  9156. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  9157. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  9158. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  9159. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  9160. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  9161. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9162. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9163. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9164. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9165. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9166. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9167. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9168. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9169. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9170.  
  9171. Previous write of size 8 at 0x7b140039ee98 by thread T11:
  9172. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  9173. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  9174. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  9175. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  9176. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  9177. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  9178. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  9179. #7 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  9180. #8 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  9181. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9182. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9183. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9184. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9185. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9186. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9187. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9188. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9189. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9190. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9191. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9192. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9193. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9194. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9195. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9196. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9197. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9198. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9199. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9200. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9201. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9202. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9203. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9204. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9205. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9206. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9207. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9208. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9209.  
  9210. Location is heap block of size 80 at 0x7b140039ee50 allocated by thread T11:
  9211. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9212. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  9213. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  9214. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  9215. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  9216. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  9217. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  9218. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  9219. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  9220. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  9221. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  9222. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  9223. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  9224. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  9225. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  9226. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  9227. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  9228. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  9229. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9230. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9231. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9232. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9233. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9234. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9235. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9236. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9237. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9238. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9239. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9240. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9241. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9242. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9243. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9244. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9245. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9246. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9247. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9248. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9249. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9250. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9251.  
  9252. Thread T11 (tid=17965, running) created by main thread at:
  9253. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  9254. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  9255. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  9256. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  9257. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  9258. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9259. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9260. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9261. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9262. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9263. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9264. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9265. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9266. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9267.  
  9268. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  9269. ==================
  9270. ==================
  9271. WARNING: ThreadSanitizer: data race (pid=17519)
  9272. Read of size 8 at 0x7b0c000e9010 by main thread:
  9273. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  9274. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  9275. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  9276. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  9277. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  9278. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  9279. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  9280. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  9281. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  9282. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9283. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9284. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9285. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9286. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9287. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  9288. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  9289. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9290. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9291. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9292. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  9293. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  9294. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  9295. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  9296. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  9297. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  9298. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  9299. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  9300. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  9301. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  9302. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  9303. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  9304. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  9305. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  9306. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  9307. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  9308. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  9309. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9310. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9311. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9312. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9313. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9314. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9315. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9316. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9317. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9318.  
  9319. Previous write of size 8 at 0x7b0c000e9010 by thread T11:
  9320. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9321. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  9322. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  9323. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  9324. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  9325. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  9326. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  9327. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  9328. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  9329. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  9330. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  9331. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  9332. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  9333. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9334. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9335. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9336. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9337. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9338. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9339. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9340. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9341. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9342. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9343. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9344. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9345. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9346. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9347. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9348. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9349. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9350. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9351. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9352. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9353. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9354. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9355. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9356. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9357. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9358. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9359. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9360. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9361.  
  9362. Location is heap block of size 48 at 0x7b0c000e9010 allocated by thread T11:
  9363. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9364. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  9365. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  9366. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  9367. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  9368. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  9369. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  9370. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  9371. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  9372. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  9373. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  9374. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  9375. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  9376. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9377. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9378. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9379. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9380. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9381. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9382. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9383. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9384. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9385. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9386. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9387. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9388. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9389. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9390. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9391. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9392. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9393. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9394. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9395. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9396. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9397. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9398. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9399. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9400. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9401. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9402. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9403. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9404.  
  9405. Thread T11 (tid=17965, running) created by main thread at:
  9406. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  9407. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  9408. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  9409. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  9410. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  9411. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9412. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9413. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9414. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9415. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9416. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9417. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9418. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9419. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9420.  
  9421. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  9422. ==================
  9423. ==================
  9424. WARNING: ThreadSanitizer: data race (pid=17519)
  9425. Atomic write of size 4 at 0x7b0c000e9018 by main thread:
  9426. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  9427. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  9428. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  9429. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  9430. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  9431. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  9432. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  9433. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  9434. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  9435. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  9436. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  9437. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  9438. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:890 (wesnoth-debug+0x46bf9e2)
  9439. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9440. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9441. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9442. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9443. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9444. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  9445. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  9446. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9447. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9448. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9449. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  9450. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  9451. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  9452. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  9453. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  9454. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  9455. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  9456. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  9457. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  9458. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  9459. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  9460. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  9461. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  9462. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  9463. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  9464. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  9465. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  9466. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9467. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9468. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9469. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9470. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9471. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9472. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9473. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9474. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9475.  
  9476. Previous write of size 8 at 0x7b0c000e9018 by thread T11:
  9477. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9478. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  9479. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  9480. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  9481. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  9482. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  9483. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  9484. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  9485. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  9486. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  9487. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  9488. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  9489. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  9490. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9491. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9492. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9493. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9494. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9495. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9496. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9497. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9498. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9499. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9500. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9501. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9502. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9503. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9504. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9505. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9506. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9507. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9508. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9509. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9510. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9511. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9512. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9513. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9514. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9515. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9516. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9517. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9518.  
  9519. Location is heap block of size 48 at 0x7b0c000e9010 allocated by thread T11:
  9520. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9521. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  9522. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  9523. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  9524. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  9525. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  9526. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  9527. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  9528. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  9529. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  9530. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  9531. #11 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x4761ad8)
  9532. #12 lua_gui2::intf_set_dialog_value(lua_State*) src/scripting/lua_gui2.cpp:582 (wesnoth-debug+0x4a94dec)
  9533. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9534. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9535. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9536. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9537. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9538. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9539. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9540. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9541. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9542. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9543. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9544. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9545. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9546. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9547. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9548. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9549. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9550. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9551. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9552. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9553. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9554. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9555. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9556. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9557. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9558. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9559. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9560. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9561.  
  9562. Thread T11 (tid=17965, running) created by main thread at:
  9563. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  9564. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  9565. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  9566. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  9567. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  9568. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9569. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9570. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9571. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9572. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9573. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9574. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9575. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9576. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9577.  
  9578. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  9579. ==================
  9580. ==================
  9581. WARNING: ThreadSanitizer: data race (pid=17519)
  9582. Write of size 1 at 0x7b54001d6b18 by main thread:
  9583. #0 gui2::canvas::set_is_dirty(bool) src/gui/core/canvas.hpp:180 (wesnoth-debug+0x3a0a357)
  9584. #1 gui2::canvas::set_width(unsigned int) src/gui/core/canvas.hpp:145 (wesnoth-debug+0x476d23e)
  9585. #2 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:270 (wesnoth-debug+0x47606d3)
  9586. #3 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9587. #4 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9588. #5 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9589. #6 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9590. #7 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9591. #8 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9592. #9 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  9593. #10 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  9594. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9595. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9596. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9597. #14 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  9598. #15 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  9599. #16 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  9600. #17 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  9601. #18 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  9602. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  9603. #20 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  9604. #21 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  9605. #22 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  9606. #23 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  9607. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  9608. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  9609. #26 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  9610. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  9611. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  9612. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  9613. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  9614. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9615. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9616. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9617. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9618. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9619. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9620. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9621. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9622. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9623.  
  9624. Previous write of size 1 at 0x7b54001d6b18 by thread T11:
  9625. #0 gui2::canvas::set_is_dirty(bool) src/gui/core/canvas.hpp:180 (wesnoth-debug+0x3a0a357)
  9626. #1 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:174 (wesnoth-debug+0x3a0a2b0)
  9627. #2 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:395 (wesnoth-debug+0x4763f44)
  9628. #3 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  9629. #4 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  9630. #5 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9631. #6 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9632. #7 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9633. #8 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9634. #9 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9635. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9636. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9637. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9638. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9639. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9640. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9641. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9642. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9643. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9644. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9645. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9646. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9647. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9648. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9649. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9650. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9651. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9652. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9653. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9654. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9655. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9656. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9657. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9658.  
  9659. Location is heap block of size 576 at 0x7b54001d6a00 allocated by thread T11:
  9660. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9661. #1 __gnu_cxx::new_allocator<gui2::canvas>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4772fe2)
  9662. #2 std::allocator_traits<std::allocator<gui2::canvas> >::allocate(std::allocator<gui2::canvas>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4772627)
  9663. #3 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x4771c06)
  9664. #4 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_create_storage(unsigned long) /usr/include/c++/7/bits/stl_vector.h:187 (wesnoth-debug+0x4770870)
  9665. #5 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_Vector_base(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:138 (wesnoth-debug+0x476f246)
  9666. #6 std::vector<gui2::canvas, std::allocator<gui2::canvas> >::vector(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:284 (wesnoth-debug+0x476def8)
  9667. #7 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:62 (wesnoth-debug+0x4757c42)
  9668. #8 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  9669. #9 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  9670. #10 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  9671. #11 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  9672. #12 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  9673. #13 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  9674. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  9675. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9676. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9677. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9678. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9679. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9680. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9681. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9682. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9683. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9684. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9685. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9686. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9687. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9688. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9689. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9690. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9691. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9692. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9693. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9694. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9695. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9696. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9697.  
  9698. Thread T11 (tid=17965, running) created by main thread at:
  9699. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  9700. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  9701. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  9702. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  9703. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  9704. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9705. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9706. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9707. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9708. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9709. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9710. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9711. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9712. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9713.  
  9714. SUMMARY: ThreadSanitizer: data race src/gui/core/canvas.hpp:180 in gui2::canvas::set_is_dirty(bool)
  9715. ==================
  9716. ==================
  9717. WARNING: ThreadSanitizer: data race (pid=17519)
  9718. Read of size 8 at 0x7b54001d6a40 by main thread:
  9719. #0 surface::free_surface() src/sdl/surface.cpp:22 (wesnoth-debug+0x6a5e316)
  9720. #1 surface::assign_surface_internal(SDL_Surface*) src/sdl/surface.hpp:92 (wesnoth-debug+0x407985b)
  9721. #2 surface::assign(SDL_Surface*) src/sdl/surface.hpp:48 (wesnoth-debug+0x407973a)
  9722. #3 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1513 (wesnoth-debug+0x41541d3)
  9723. #4 gui2::canvas::set_width(unsigned int) src/gui/core/canvas.hpp:146 (wesnoth-debug+0x476d26f)
  9724. #5 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:270 (wesnoth-debug+0x47606d3)
  9725. #6 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9726. #7 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9727. #8 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9728. #9 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9729. #10 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9730. #11 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9731. #12 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  9732. #13 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  9733. #14 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9734. #15 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9735. #16 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9736. #17 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  9737. #18 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  9738. #19 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  9739. #20 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  9740. #21 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  9741. #22 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  9742. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  9743. #24 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  9744. #25 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  9745. #26 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  9746. #27 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  9747. #28 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  9748. #29 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  9749. #30 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  9750. #31 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  9751. #32 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  9752. #33 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  9753. #34 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9754. #35 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9755. #36 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9756. #37 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9757. #38 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9758. #39 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9759. #40 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9760. #41 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9761. #42 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9762.  
  9763. Previous write of size 8 at 0x7b54001d6a40 by thread T11:
  9764. #0 surface::assign_surface_internal(SDL_Surface*) src/sdl/surface.hpp:93 (wesnoth-debug+0x407988c)
  9765. #1 surface::assign(SDL_Surface*) src/sdl/surface.hpp:48 (wesnoth-debug+0x407973a)
  9766. #2 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1513 (wesnoth-debug+0x41541d3)
  9767. #3 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:175 (wesnoth-debug+0x3a0a2e1)
  9768. #4 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:395 (wesnoth-debug+0x4763f44)
  9769. #5 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  9770. #6 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  9771. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9772. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9773. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9774. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9775. #11 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9776. #12 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9777. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9778. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9779. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9780. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9781. #17 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9782. #18 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9783. #19 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9784. #20 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9785. #21 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9786. #22 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9787. #23 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9788. #24 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9789. #25 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9790. #26 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9791. #27 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9792. #28 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9793. #29 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9794. #30 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9795. #31 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9796. #32 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9797. #33 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9798. #34 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9799.  
  9800. Location is heap block of size 576 at 0x7b54001d6a00 allocated by thread T11:
  9801. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9802. #1 __gnu_cxx::new_allocator<gui2::canvas>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4772fe2)
  9803. #2 std::allocator_traits<std::allocator<gui2::canvas> >::allocate(std::allocator<gui2::canvas>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4772627)
  9804. #3 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x4771c06)
  9805. #4 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_create_storage(unsigned long) /usr/include/c++/7/bits/stl_vector.h:187 (wesnoth-debug+0x4770870)
  9806. #5 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_Vector_base(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:138 (wesnoth-debug+0x476f246)
  9807. #6 std::vector<gui2::canvas, std::allocator<gui2::canvas> >::vector(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:284 (wesnoth-debug+0x476def8)
  9808. #7 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:62 (wesnoth-debug+0x4757c42)
  9809. #8 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  9810. #9 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  9811. #10 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  9812. #11 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  9813. #12 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  9814. #13 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  9815. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  9816. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9817. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9818. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9819. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9820. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9821. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9822. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9823. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9824. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9825. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9826. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9827. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9828. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9829. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9830. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9831. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9832. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9833. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9834. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9835. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9836. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9837. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9838.  
  9839. Thread T11 (tid=17965, running) created by main thread at:
  9840. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  9841. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  9842. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  9843. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  9844. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  9845. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9846. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9847. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9848. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9849. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9850. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9851. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9852. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9853. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9854.  
  9855. SUMMARY: ThreadSanitizer: data race src/sdl/surface.cpp:22 in surface::free_surface()
  9856. ==================
  9857. ==================
  9858. WARNING: ThreadSanitizer: data race (pid=17519)
  9859. Read of size 8 at 0x7b54001d6a20 by main thread:
  9860. #0 __gnu_cxx::__normal_iterator<std::shared_ptr<gui2::canvas::shape>*, std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > > >::__normal_iterator(std::shared_ptr<gui2::canvas::shape>* const&) /usr/include/c++/7/bits/stl_iterator.h:780 (wesnoth-debug+0x416584e)
  9861. #1 std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > >::end() /usr/include/c++/7/bits/stl_vector.h:582 (wesnoth-debug+0x416267d)
  9862. #2 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1518 (wesnoth-debug+0x41542ff)
  9863. #3 gui2::canvas::set_width(unsigned int) src/gui/core/canvas.hpp:146 (wesnoth-debug+0x476d26f)
  9864. #4 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:270 (wesnoth-debug+0x47606d3)
  9865. #5 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9866. #6 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9867. #7 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9868. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9869. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9870. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9871. #11 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  9872. #12 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  9873. #13 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  9874. #14 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  9875. #15 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  9876. #16 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  9877. #17 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  9878. #18 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  9879. #19 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  9880. #20 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  9881. #21 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  9882. #22 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  9883. #23 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  9884. #24 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  9885. #25 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  9886. #26 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  9887. #27 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  9888. #28 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  9889. #29 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  9890. #30 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  9891. #31 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  9892. #32 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  9893. #33 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9894. #34 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9895. #35 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9896. #36 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9897. #37 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9898. #38 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9899. #39 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9900. #40 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9901. #41 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9902.  
  9903. Previous write of size 8 at 0x7b54001d6a20 by thread T11:
  9904. #0 std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > >::_M_erase_at_end(std::shared_ptr<gui2::canvas::shape>*) /usr/include/c++/7/bits/stl_vector.h:1514 (wesnoth-debug+0x4165b83)
  9905. #1 std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > >::clear() /usr/include/c++/7/bits/stl_vector.h:1248 (wesnoth-debug+0x4162aa9)
  9906. #2 gui2::canvas::invalidate_cache() src/gui/core/canvas.cpp:1519 (wesnoth-debug+0x4154377)
  9907. #3 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:175 (wesnoth-debug+0x3a0a2e1)
  9908. #4 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:395 (wesnoth-debug+0x4763f44)
  9909. #5 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  9910. #6 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  9911. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9912. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9913. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9914. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9915. #11 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  9916. #12 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  9917. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9918. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9919. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9920. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9921. #17 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9922. #18 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9923. #19 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9924. #20 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9925. #21 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9926. #22 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9927. #23 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9928. #24 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9929. #25 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9930. #26 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9931. #27 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9932. #28 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9933. #29 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9934. #30 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9935. #31 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9936. #32 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9937. #33 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9938. #34 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9939.  
  9940. Location is heap block of size 576 at 0x7b54001d6a00 allocated by thread T11:
  9941. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  9942. #1 __gnu_cxx::new_allocator<gui2::canvas>::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4772fe2)
  9943. #2 std::allocator_traits<std::allocator<gui2::canvas> >::allocate(std::allocator<gui2::canvas>&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4772627)
  9944. #3 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x4771c06)
  9945. #4 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_M_create_storage(unsigned long) /usr/include/c++/7/bits/stl_vector.h:187 (wesnoth-debug+0x4770870)
  9946. #5 std::_Vector_base<gui2::canvas, std::allocator<gui2::canvas> >::_Vector_base(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:138 (wesnoth-debug+0x476f246)
  9947. #6 std::vector<gui2::canvas, std::allocator<gui2::canvas> >::vector(unsigned long, std::allocator<gui2::canvas> const&) /usr/include/c++/7/bits/stl_vector.h:284 (wesnoth-debug+0x476def8)
  9948. #7 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:62 (wesnoth-debug+0x4757c42)
  9949. #8 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  9950. #9 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  9951. #10 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  9952. #11 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  9953. #12 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  9954. #13 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  9955. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  9956. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  9957. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  9958. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  9959. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  9960. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  9961. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  9962. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  9963. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  9964. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  9965. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  9966. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  9967. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  9968. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  9969. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  9970. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  9971. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  9972. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  9973. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  9974. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  9975. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  9976. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  9977. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  9978.  
  9979. Thread T11 (tid=17965, running) created by main thread at:
  9980. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  9981. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  9982. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  9983. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  9984. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  9985. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  9986. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  9987. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  9988. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  9989. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  9990. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  9991. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  9992. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  9993. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  9994.  
  9995. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_iterator.h:780 in __gnu_cxx::__normal_iterator<std::shared_ptr<gui2::canvas::shape>*, std::vector<std::shared_ptr<gui2::canvas::shape>, std::allocator<std::shared_ptr<gui2::canvas::shape> > > >::__normal_iterator(std::shared_ptr<gui2::canvas::shape>* const&)
  9996. ==================
  9997. ==================
  9998. WARNING: ThreadSanitizer: data race (pid=17519)
  9999. Write of size 4 at 0x7b64000d8608 by main thread:
  10000. #0 gui2::widget::place(point const&, point const&) src/gui/widgets/widget.cpp:242 (wesnoth-debug+0x47c959f)
  10001. #1 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:283 (wesnoth-debug+0x4760b11)
  10002. #2 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10003. #3 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10004. #4 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10005. #5 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10006. #6 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10007. #7 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10008. #8 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10009. #9 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10010. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10011. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10012. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10013. #13 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  10014. #14 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  10015. #15 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  10016. #16 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  10017. #17 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  10018. #18 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  10019. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  10020. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  10021. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  10022. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  10023. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  10024. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  10025. #25 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  10026. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  10027. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  10028. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  10029. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  10030. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10031. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10032. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10033. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10034. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10035. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10036. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10037. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10038. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10039.  
  10040. Previous read of size 4 at 0x7b64000d8608 by thread T11:
  10041. #0 gui2::widget::get_width() const src/gui/widgets/widget.cpp:324 (wesnoth-debug+0x47cabd0)
  10042. #1 gui2::styled_widget::get_text_maximum_width() const src/gui/widgets/styled_widget.cpp:405 (wesnoth-debug+0x47645d1)
  10043. #2 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:370 (wesnoth-debug+0x4762b4e)
  10044. #3 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10045. #4 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10046. #5 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10047. #6 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10048. #7 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10049. #8 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10050. #9 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10051. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10052. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10053. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10054. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10055. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10056. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10057. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10058. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10059. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10060. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10061. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10062. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10063. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10064. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10065. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10066. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10067. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10068. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10069. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10070. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10071. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10072. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10073. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10074.  
  10075. Location is heap block of size 1040 at 0x7b64000d8400 allocated by thread T11:
  10076. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10077. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  10078. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  10079. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  10080. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  10081. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  10082. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  10083. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10084. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10085. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10086. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10087. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10088. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10089. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10090. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10091. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10092. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10093. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10094. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10095. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10096. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10097. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10098. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10099. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10100. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10101. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10102. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10103. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10104. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10105.  
  10106. Thread T11 (tid=17965, running) created by main thread at:
  10107. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  10108. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  10109. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  10110. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  10111. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  10112. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10113. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10114. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10115. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10116. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10117. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10118. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10119. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10120. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10121.  
  10122. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:242 in gui2::widget::place(point const&, point const&)
  10123. ==================
  10124. ==================
  10125. WARNING: ThreadSanitizer: data race (pid=17519)
  10126. Write of size 4 at 0x7b64000d860c by main thread:
  10127. #0 gui2::widget::place(point const&, point const&) src/gui/widgets/widget.cpp:243 (wesnoth-debug+0x47c96df)
  10128. #1 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:283 (wesnoth-debug+0x4760b11)
  10129. #2 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10130. #3 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10131. #4 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10132. #5 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10133. #6 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10134. #7 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10135. #8 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10136. #9 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10137. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10138. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10139. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10140. #13 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  10141. #14 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  10142. #15 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  10143. #16 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  10144. #17 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  10145. #18 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  10146. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  10147. #20 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  10148. #21 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  10149. #22 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  10150. #23 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  10151. #24 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  10152. #25 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  10153. #26 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  10154. #27 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  10155. #28 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  10156. #29 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  10157. #30 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10158. #31 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10159. #32 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10160. #33 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10161. #34 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10162. #35 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10163. #36 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10164. #37 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10165. #38 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10166.  
  10167. Previous read of size 4 at 0x7b64000d860c by thread T11:
  10168. #0 gui2::widget::get_height() const src/gui/widgets/widget.cpp:329 (wesnoth-debug+0x47cacfc)
  10169. #1 gui2::styled_widget::get_text_maximum_height() const src/gui/widgets/styled_widget.cpp:412 (wesnoth-debug+0x47647d8)
  10170. #2 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:371 (wesnoth-debug+0x4762c5d)
  10171. #3 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10172. #4 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10173. #5 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10174. #6 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10175. #7 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10176. #8 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10177. #9 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10178. #10 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10179. #11 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10180. #12 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10181. #13 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10182. #14 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10183. #15 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10184. #16 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10185. #17 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10186. #18 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10187. #19 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10188. #20 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10189. #21 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10190. #22 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10191. #23 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10192. #24 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10193. #25 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10194. #26 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10195. #27 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10196. #28 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10197. #29 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10198. #30 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10199. #31 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10200. #32 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10201.  
  10202. Location is heap block of size 1040 at 0x7b64000d8400 allocated by thread T11:
  10203. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10204. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  10205. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  10206. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  10207. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  10208. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  10209. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  10210. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10211. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10212. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10213. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10214. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10215. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10216. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10217. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10218. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10219. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10220. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10221. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10222. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10223. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10224. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10225. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10226. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10227. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10228. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10229. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10230. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10231. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10232.  
  10233. Thread T11 (tid=17965, running) created by main thread at:
  10234. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  10235. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  10236. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  10237. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  10238. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  10239. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10240. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10241. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10242. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10243. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10244. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10245. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10246. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10247. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10248.  
  10249. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:243 in gui2::widget::place(point const&, point const&)
  10250. ==================
  10251. ==================
  10252. WARNING: ThreadSanitizer: data race (pid=17519)
  10253. Write of size 1 at 0x7b64000d8638 by main thread:
  10254. #0 gui2::widget::set_is_dirty(bool) src/gui/widgets/widget.cpp:465 (wesnoth-debug+0x47cdcec)
  10255. #1 gui2::widget::place(point const&, point const&) src/gui/widgets/widget.cpp:257 (wesnoth-debug+0x47c97e2)
  10256. #2 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:283 (wesnoth-debug+0x4760b11)
  10257. #3 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10258. #4 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10259. #5 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10260. #6 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10261. #7 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10262. #8 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10263. #9 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10264. #10 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10265. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10266. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10267. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10268. #14 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  10269. #15 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  10270. #16 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  10271. #17 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  10272. #18 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  10273. #19 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  10274. #20 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  10275. #21 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  10276. #22 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  10277. #23 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  10278. #24 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  10279. #25 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  10280. #26 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  10281. #27 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  10282. #28 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  10283. #29 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  10284. #30 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  10285. #31 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10286. #32 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10287. #33 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10288. #34 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10289. #35 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10290. #36 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10291. #37 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10292. #38 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10293. #39 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10294.  
  10295. Previous write of size 1 at 0x7b64000d8638 by thread T11:
  10296. #0 gui2::widget::set_is_dirty(bool) src/gui/widgets/widget.cpp:465 (wesnoth-debug+0x47cdcec)
  10297. #1 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:343 (wesnoth-debug+0x4762083)
  10298. #2 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10299. #3 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10300. #4 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10301. #5 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10302. #6 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10303. #7 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10304. #8 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10305. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10306. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10307. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10308. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10309. #13 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10310. #14 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10311. #15 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10312. #16 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10313. #17 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10314. #18 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10315. #19 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10316. #20 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10317. #21 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10318. #22 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10319. #23 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10320. #24 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10321. #25 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10322. #26 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10323. #27 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10324. #28 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10325. #29 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10326. #30 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10327.  
  10328. Location is heap block of size 1040 at 0x7b64000d8400 allocated by thread T11:
  10329. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10330. #1 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07af2)
  10331. #2 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  10332. #3 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  10333. #4 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  10334. #5 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  10335. #6 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  10336. #7 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10337. #8 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10338. #9 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10339. #10 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10340. #11 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10341. #12 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10342. #13 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10343. #14 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10344. #15 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10345. #16 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10346. #17 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10347. #18 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10348. #19 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10349. #20 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10350. #21 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10351. #22 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10352. #23 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10353. #24 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10354. #25 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10355. #26 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10356. #27 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10357. #28 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10358.  
  10359. Thread T11 (tid=17965, running) created by main thread at:
  10360. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  10361. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  10362. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  10363. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  10364. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  10365. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10366. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10367. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10368. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10369. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10370. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10371. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10372. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10373. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10374.  
  10375. SUMMARY: ThreadSanitizer: data race src/gui/widgets/widget.cpp:465 in gui2::widget::set_is_dirty(bool)
  10376. ==================
  10377. ==================
  10378. WARNING: ThreadSanitizer: data race (pid=17519)
  10379. Write of size 8 at 0x7b1400381340 by main thread:
  10380. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  10381. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  10382. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  10383. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  10384. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10385. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10386. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  10387. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10388. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10389. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10390. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10391. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10392. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10393. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10394. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10395. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10396. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10397. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10398. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  10399. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  10400. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  10401. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  10402. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  10403. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  10404. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  10405. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  10406. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  10407. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  10408. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  10409. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  10410. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  10411. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  10412. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  10413. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  10414. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  10415. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10416. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10417. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10418. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10419. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10420. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10421. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10422. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10423. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10424.  
  10425. Previous write of size 8 at 0x7b1400381340 by thread T11:
  10426. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  10427. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  10428. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  10429. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  10430. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10431. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10432. #6 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10433. #7 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10434. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10435. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10436. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10437. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10438. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10439. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10440. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10441. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10442. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10443. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10444. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10445. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10446. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10447. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10448. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10449. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10450. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10451. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10452. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10453. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10454. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10455. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10456. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10457. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10458. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10459. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10460. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10461. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10462.  
  10463. Location is heap block of size 80 at 0x7b1400381300 allocated by thread T11:
  10464. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10465. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  10466. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  10467. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  10468. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  10469. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  10470. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  10471. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  10472. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10473. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10474. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  10475. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  10476. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  10477. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  10478. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  10479. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  10480. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  10481. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  10482. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10483. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10484. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10485. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10486. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10487. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10488. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10489. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10490. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10491. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10492. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10493. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10494. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10495. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10496. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10497. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10498. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10499. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10500. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10501. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10502. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10503. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10504.  
  10505. Thread T11 (tid=17965, running) created by main thread at:
  10506. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  10507. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  10508. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  10509. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  10510. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  10511. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10512. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10513. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10514. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10515. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10516. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10517. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10518. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10519. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10520.  
  10521. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  10522. ==================
  10523. ==================
  10524. WARNING: ThreadSanitizer: data race (pid=17519)
  10525. Read of size 8 at 0x7b1400381348 by main thread:
  10526. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  10527. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  10528. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  10529. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  10530. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  10531. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10532. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10533. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  10534. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10535. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10536. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10537. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10538. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10539. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10540. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10541. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10542. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10543. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10544. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10545. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  10546. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  10547. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  10548. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  10549. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  10550. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  10551. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  10552. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  10553. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  10554. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  10555. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  10556. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  10557. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  10558. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  10559. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  10560. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  10561. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  10562. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10563. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10564. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10565. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10566. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10567. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10568. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10569. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10570. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10571.  
  10572. Previous write of size 8 at 0x7b1400381348 by thread T11:
  10573. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  10574. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  10575. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  10576. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  10577. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  10578. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10579. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10580. #7 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10581. #8 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10582. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10583. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10584. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10585. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10586. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10587. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10588. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10589. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10590. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10591. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10592. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10593. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10594. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10595. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10596. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10597. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10598. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10599. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10600. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10601. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10602. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10603. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10604. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10605. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10606. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10607. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10608. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10609. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10610.  
  10611. Location is heap block of size 80 at 0x7b1400381300 allocated by thread T11:
  10612. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10613. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  10614. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  10615. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  10616. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  10617. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  10618. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  10619. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  10620. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10621. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10622. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  10623. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  10624. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  10625. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  10626. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  10627. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  10628. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  10629. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  10630. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10631. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10632. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10633. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10634. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10635. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10636. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10637. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10638. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10639. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10640. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10641. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10642. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10643. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10644. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10645. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10646. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10647. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10648. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10649. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10650. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10651. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10652.  
  10653. Thread T11 (tid=17965, running) created by main thread at:
  10654. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  10655. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  10656. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  10657. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  10658. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  10659. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10660. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10661. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10662. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10663. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10664. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10665. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10666. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10667. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10668.  
  10669. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  10670. ==================
  10671. ==================
  10672. WARNING: ThreadSanitizer: data race (pid=17519)
  10673. Read of size 8 at 0x7b100031cf00 by main thread:
  10674. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  10675. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  10676. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  10677. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  10678. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  10679. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10680. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10681. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  10682. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10683. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10684. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10685. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10686. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10687. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10688. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10689. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10690. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10691. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10692. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10693. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  10694. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  10695. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  10696. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  10697. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  10698. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  10699. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  10700. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  10701. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  10702. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  10703. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  10704. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  10705. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  10706. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  10707. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  10708. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  10709. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  10710. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10711. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10712. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10713. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10714. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10715. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10716. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10717. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10718. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10719.  
  10720. Previous write of size 8 at 0x7b100031cf00 by thread T11:
  10721. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10722. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  10723. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  10724. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  10725. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  10726. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  10727. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  10728. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  10729. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  10730. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  10731. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  10732. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10733. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10734. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10735. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10736. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10737. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10738. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10739. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10740. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10741. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10742. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10743. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10744. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10745. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10746. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10747. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10748. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10749. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10750. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10751. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10752. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10753. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10754. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10755. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10756. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10757. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10758. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10759. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10760. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10761. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10762.  
  10763. Location is heap block of size 56 at 0x7b100031cf00 allocated by thread T11:
  10764. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10765. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  10766. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  10767. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  10768. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  10769. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  10770. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  10771. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  10772. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  10773. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  10774. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  10775. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10776. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10777. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10778. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10779. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10780. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10781. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10782. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10783. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10784. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10785. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10786. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10787. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10788. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10789. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10790. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10791. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10792. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10793. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10794. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10795. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10796. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10797. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10798. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10799. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10800. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10801. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10802. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10803. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10804. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10805.  
  10806. Thread T11 (tid=17965, running) created by main thread at:
  10807. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  10808. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  10809. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  10810. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  10811. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  10812. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10813. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10814. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10815. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10816. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10817. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10818. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10819. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10820. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10821.  
  10822. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  10823. ==================
  10824. ==================
  10825. WARNING: ThreadSanitizer: data race (pid=17519)
  10826. Atomic write of size 4 at 0x7b100031cf08 by main thread:
  10827. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  10828. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  10829. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  10830. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  10831. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  10832. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  10833. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  10834. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  10835. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  10836. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10837. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762e59)
  10838. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  10839. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10840. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10841. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10842. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10843. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10844. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10845. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10846. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10847. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10848. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10849. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10850. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  10851. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  10852. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  10853. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  10854. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  10855. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  10856. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  10857. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  10858. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  10859. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  10860. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  10861. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  10862. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  10863. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  10864. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  10865. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  10866. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  10867. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10868. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10869. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10870. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10871. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10872. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10873. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10874. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10875. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10876.  
  10877. Previous write of size 8 at 0x7b100031cf08 by thread T11:
  10878. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10879. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  10880. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  10881. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  10882. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  10883. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  10884. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  10885. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  10886. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  10887. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  10888. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  10889. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10890. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10891. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10892. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10893. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10894. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10895. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10896. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10897. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10898. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10899. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10900. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10901. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10902. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10903. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10904. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10905. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10906. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10907. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10908. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10909. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10910. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10911. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10912. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10913. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10914. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10915. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10916. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10917. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10918. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10919.  
  10920. Location is heap block of size 56 at 0x7b100031cf00 allocated by thread T11:
  10921. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  10922. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x4028974)
  10923. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027671)
  10924. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_string, std::allocator<wfl::variant_string>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x40256db)
  10925. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, wfl::variant_string*, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021fc3)
  10926. #5 std::__shared_ptr<wfl::variant_string, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401f09a)
  10927. #6 std::shared_ptr<wfl::variant_string>::shared_ptr<std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b634)
  10928. #7 std::shared_ptr<wfl::variant_string> std::allocate_shared<wfl::variant_string, std::allocator<wfl::variant_string>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::allocator<wfl::variant_string> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x401880e)
  10929. #8 std::shared_ptr<wfl::variant_string> std::make_shared<wfl::variant_string, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (wesnoth-debug+0x4015a43)
  10930. #9 wfl::variant::variant(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/formula/variant.cpp:172 (wesnoth-debug+0x400943f)
  10931. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4762dc9)
  10932. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  10933. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  10934. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10935. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10936. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10937. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10938. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  10939. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  10940. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  10941. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  10942. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  10943. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  10944. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  10945. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  10946. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  10947. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  10948. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  10949. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  10950. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  10951. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  10952. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  10953. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  10954. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  10955. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  10956. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  10957. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  10958. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  10959. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  10960. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  10961. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  10962.  
  10963. Thread T11 (tid=17965, running) created by main thread at:
  10964. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  10965. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  10966. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  10967. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  10968. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  10969. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  10970. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  10971. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  10972. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  10973. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  10974. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  10975. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  10976. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  10977. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  10978.  
  10979. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  10980. ==================
  10981. ==================
  10982. WARNING: ThreadSanitizer: data race (pid=17519)
  10983. Write of size 8 at 0x7b140014fe00 by main thread:
  10984. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  10985. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  10986. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  10987. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  10988. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  10989. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  10990. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  10991. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10992. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10993. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10994. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  10995. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  10996. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  10997. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  10998. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  10999. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11000. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11001. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11002. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  11003. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  11004. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  11005. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  11006. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  11007. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  11008. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  11009. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  11010. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  11011. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  11012. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  11013. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  11014. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  11015. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  11016. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  11017. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  11018. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  11019. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11020. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11021. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11022. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11023. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11024. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11025. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11026. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11027. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11028.  
  11029. Previous write of size 8 at 0x7b140014fe00 by thread T11:
  11030. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  11031. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11032. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11033. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11034. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11035. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  11036. #6 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11037. #7 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11038. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11039. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11040. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11041. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11042. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11043. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11044. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11045. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11046. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11047. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11048. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11049. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11050. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11051. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11052. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11053. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11054. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11055. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11056. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11057. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11058. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11059. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11060. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11061. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11062. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11063. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11064. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11065. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11066.  
  11067. Location is heap block of size 80 at 0x7b140014fdc0 allocated by thread T11:
  11068. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11069. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  11070. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  11071. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  11072. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  11073. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  11074. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  11075. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  11076. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11077. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  11078. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  11079. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  11080. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  11081. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  11082. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  11083. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  11084. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  11085. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  11086. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11087. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11088. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11089. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11090. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11091. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11092. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11093. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11094. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11095. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11096. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11097. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11098. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11099. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11100. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11101. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11102. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11103. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11104. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11105. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11106. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11107. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11108.  
  11109. Thread T11 (tid=17965, running) created by main thread at:
  11110. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  11111. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  11112. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  11113. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  11114. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  11115. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11116. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11117. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11118. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11119. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11120. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11121. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11122. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11123. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11124.  
  11125. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  11126. ==================
  11127. ==================
  11128. WARNING: ThreadSanitizer: data race (pid=17519)
  11129. Read of size 8 at 0x7b140014fe08 by main thread:
  11130. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  11131. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  11132. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11133. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11134. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11135. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11136. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  11137. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  11138. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11139. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11140. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11141. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11142. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11143. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11144. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  11145. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  11146. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11147. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11148. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11149. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  11150. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  11151. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  11152. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  11153. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  11154. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  11155. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  11156. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  11157. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  11158. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  11159. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  11160. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  11161. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  11162. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  11163. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  11164. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  11165. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  11166. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11167. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11168. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11169. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11170. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11171. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11172. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11173. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11174. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11175.  
  11176. Previous write of size 8 at 0x7b140014fe08 by thread T11:
  11177. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  11178. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  11179. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11180. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11181. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11182. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11183. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  11184. #7 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11185. #8 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11186. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11187. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11188. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11189. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11190. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11191. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11192. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11193. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11194. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11195. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11196. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11197. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11198. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11199. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11200. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11201. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11202. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11203. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11204. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11205. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11206. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11207. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11208. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11209. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11210. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11211. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11212. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11213. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11214.  
  11215. Location is heap block of size 80 at 0x7b140014fdc0 allocated by thread T11:
  11216. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11217. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  11218. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  11219. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  11220. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  11221. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  11222. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  11223. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  11224. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11225. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  11226. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  11227. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  11228. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  11229. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  11230. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  11231. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  11232. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  11233. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  11234. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11235. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11236. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11237. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11238. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11239. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11240. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11241. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11242. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11243. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11244. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11245. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11246. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11247. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11248. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11249. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11250. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11251. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11252. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11253. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11254. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11255. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11256.  
  11257. Thread T11 (tid=17965, running) created by main thread at:
  11258. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  11259. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  11260. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  11261. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  11262. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  11263. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11264. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11265. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11266. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11267. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11268. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11269. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11270. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11271. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11272.  
  11273. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  11274. ==================
  11275. ==================
  11276. WARNING: ThreadSanitizer: data race (pid=17519)
  11277. Read of size 8 at 0x7b08001fe520 by main thread:
  11278. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  11279. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  11280. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11281. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11282. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11283. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11284. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  11285. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  11286. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11287. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11288. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11289. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11290. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11291. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11292. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  11293. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  11294. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11295. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11296. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11297. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  11298. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  11299. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  11300. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  11301. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  11302. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  11303. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  11304. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  11305. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  11306. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  11307. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  11308. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  11309. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  11310. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  11311. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  11312. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  11313. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  11314. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11315. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11316. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11317. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11318. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11319. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11320. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11321. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11322. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11323.  
  11324. Previous write of size 8 at 0x7b08001fe520 by thread T11:
  11325. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11326. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  11327. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  11328. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  11329. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  11330. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  11331. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  11332. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  11333. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  11334. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  11335. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  11336. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11337. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11338. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11339. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11340. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11341. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11342. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11343. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11344. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11345. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11346. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11347. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11348. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11349. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11350. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11351. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11352. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11353. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11354. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11355. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11356. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11357. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11358. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11359. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11360. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11361. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11362. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11363. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11364. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11365. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11366.  
  11367. Location is heap block of size 32 at 0x7b08001fe520 allocated by thread T11:
  11368. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11369. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  11370. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  11371. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  11372. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  11373. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  11374. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  11375. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  11376. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  11377. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  11378. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  11379. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11380. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11381. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11382. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11383. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11384. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11385. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11386. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11387. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11388. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11389. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11390. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11391. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11392. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11393. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11394. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11395. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11396. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11397. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11398. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11399. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11400. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11401. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11402. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11403. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11404. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11405. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11406. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11407. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11408. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11409.  
  11410. Thread T11 (tid=17965, running) created by main thread at:
  11411. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  11412. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  11413. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  11414. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  11415. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  11416. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11417. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11418. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11419. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11420. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11421. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11422. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11423. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11424. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11425.  
  11426. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  11427. ==================
  11428. ==================
  11429. WARNING: ThreadSanitizer: data race (pid=17519)
  11430. Atomic write of size 4 at 0x7b08001fe528 by main thread:
  11431. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  11432. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  11433. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  11434. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  11435. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  11436. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  11437. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11438. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11439. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11440. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11441. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4763081)
  11442. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  11443. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11444. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11445. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11446. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11447. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11448. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11449. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  11450. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  11451. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11452. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11453. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11454. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  11455. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  11456. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  11457. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  11458. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  11459. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  11460. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  11461. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  11462. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  11463. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  11464. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  11465. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  11466. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  11467. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  11468. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  11469. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  11470. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  11471. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11472. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11473. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11474. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11475. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11476. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11477. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11478. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11479. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11480.  
  11481. Previous write of size 8 at 0x7b08001fe528 by thread T11:
  11482. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11483. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  11484. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  11485. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  11486. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  11487. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  11488. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  11489. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  11490. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  11491. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  11492. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  11493. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11494. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11495. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11496. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11497. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11498. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11499. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11500. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11501. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11502. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11503. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11504. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11505. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11506. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11507. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11508. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11509. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11510. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11511. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11512. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11513. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11514. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11515. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11516. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11517. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11518. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11519. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11520. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11521. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11522. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11523.  
  11524. Location is heap block of size 32 at 0x7b08001fe520 allocated by thread T11:
  11525. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11526. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  11527. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  11528. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  11529. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  11530. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  11531. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  11532. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  11533. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  11534. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  11535. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:377 (wesnoth-debug+0x4762ff1)
  11536. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11537. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11538. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11539. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11540. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11541. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11542. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11543. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11544. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11545. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11546. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11547. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11548. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11549. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11550. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11551. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11552. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11553. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11554. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11555. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11556. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11557. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11558. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11559. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11560. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11561. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11562. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11563. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11564. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11565. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11566.  
  11567. Thread T11 (tid=17965, running) created by main thread at:
  11568. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  11569. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  11570. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  11571. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  11572. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  11573. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11574. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11575. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11576. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11577. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11578. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11579. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11580. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11581. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11582.  
  11583. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  11584. ==================
  11585. ==================
  11586. WARNING: ThreadSanitizer: data race (pid=17519)
  11587. Write of size 8 at 0x7b140014ff90 by main thread:
  11588. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  11589. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11590. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11591. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11592. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11593. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  11594. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  11595. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11596. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11597. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11598. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11599. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11600. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11601. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  11602. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  11603. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11604. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11605. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11606. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  11607. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  11608. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  11609. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  11610. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  11611. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  11612. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  11613. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  11614. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  11615. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  11616. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  11617. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  11618. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  11619. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  11620. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  11621. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  11622. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  11623. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11624. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11625. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11626. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11627. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11628. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11629. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11630. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11631. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11632.  
  11633. Previous write of size 8 at 0x7b140014ff90 by thread T11:
  11634. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  11635. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11636. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11637. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11638. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11639. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  11640. #6 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11641. #7 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11642. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11643. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11644. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11645. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11646. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11647. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11648. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11649. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11650. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11651. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11652. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11653. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11654. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11655. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11656. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11657. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11658. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11659. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11660. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11661. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11662. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11663. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11664. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11665. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11666. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11667. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11668. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11669. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11670.  
  11671. Location is heap block of size 80 at 0x7b140014ff50 allocated by thread T11:
  11672. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11673. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  11674. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  11675. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  11676. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  11677. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  11678. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  11679. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  11680. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11681. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  11682. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  11683. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  11684. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  11685. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  11686. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  11687. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  11688. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  11689. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  11690. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11691. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11692. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11693. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11694. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11695. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11696. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11697. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11698. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11699. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11700. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11701. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11702. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11703. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11704. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11705. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11706. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11707. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11708. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11709. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11710. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11711. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11712.  
  11713. Thread T11 (tid=17965, running) created by main thread at:
  11714. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  11715. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  11716. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  11717. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  11718. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  11719. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11720. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11721. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11722. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11723. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11724. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11725. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11726. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11727. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11728.  
  11729. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  11730. ==================
  11731. ==================
  11732. WARNING: ThreadSanitizer: data race (pid=17519)
  11733. Read of size 8 at 0x7b140014ff98 by main thread:
  11734. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  11735. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  11736. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11737. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11738. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11739. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11740. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  11741. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  11742. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11743. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11744. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11745. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11746. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11747. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11748. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  11749. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  11750. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11751. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11752. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11753. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  11754. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  11755. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  11756. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  11757. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  11758. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  11759. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  11760. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  11761. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  11762. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  11763. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  11764. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  11765. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  11766. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  11767. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  11768. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  11769. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  11770. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11771. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11772. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11773. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11774. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11775. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11776. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11777. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11778. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11779.  
  11780. Previous write of size 8 at 0x7b140014ff98 by thread T11:
  11781. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  11782. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  11783. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11784. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11785. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11786. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11787. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  11788. #7 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11789. #8 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11790. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11791. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11792. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11793. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11794. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11795. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11796. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11797. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11798. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11799. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11800. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11801. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11802. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11803. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11804. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11805. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11806. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11807. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11808. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11809. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11810. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11811. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11812. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11813. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11814. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11815. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11816. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11817. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11818.  
  11819. Location is heap block of size 80 at 0x7b140014ff50 allocated by thread T11:
  11820. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11821. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  11822. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  11823. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  11824. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  11825. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  11826. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  11827. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  11828. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11829. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  11830. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  11831. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  11832. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  11833. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  11834. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  11835. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  11836. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  11837. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  11838. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11839. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11840. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11841. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11842. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11843. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11844. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11845. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11846. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11847. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11848. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11849. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11850. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11851. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11852. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11853. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11854. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11855. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11856. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11857. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11858. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11859. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11860.  
  11861. Thread T11 (tid=17965, running) created by main thread at:
  11862. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  11863. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  11864. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  11865. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  11866. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  11867. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11868. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11869. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11870. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11871. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11872. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11873. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11874. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11875. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11876.  
  11877. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  11878. ==================
  11879. ==================
  11880. WARNING: ThreadSanitizer: data race (pid=17519)
  11881. Read of size 8 at 0x7b080054b520 by main thread:
  11882. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  11883. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  11884. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  11885. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  11886. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  11887. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  11888. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  11889. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  11890. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11891. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11892. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11893. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11894. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11895. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11896. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  11897. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  11898. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  11899. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  11900. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  11901. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  11902. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  11903. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  11904. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  11905. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  11906. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  11907. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  11908. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  11909. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  11910. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  11911. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  11912. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  11913. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  11914. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  11915. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  11916. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  11917. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  11918. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  11919. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  11920. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  11921. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  11922. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  11923. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  11924. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  11925. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  11926. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  11927.  
  11928. Previous write of size 8 at 0x7b080054b520 by thread T11:
  11929. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11930. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  11931. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  11932. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  11933. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  11934. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  11935. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  11936. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  11937. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  11938. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  11939. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  11940. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11941. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11942. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11943. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11944. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11945. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11946. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11947. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11948. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11949. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11950. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11951. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11952. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11953. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11954. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11955. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11956. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  11957. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  11958. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  11959. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  11960. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  11961. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  11962. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  11963. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  11964. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  11965. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  11966. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  11967. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  11968. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  11969. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  11970.  
  11971. Location is heap block of size 32 at 0x7b080054b520 allocated by thread T11:
  11972. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  11973. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  11974. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  11975. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  11976. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  11977. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  11978. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  11979. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  11980. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  11981. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  11982. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  11983. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  11984. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  11985. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11986. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11987. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11988. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11989. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  11990. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  11991. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  11992. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  11993. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  11994. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  11995. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  11996. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  11997. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  11998. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  11999. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12000. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12001. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12002. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12003. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12004. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12005. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12006. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12007. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12008. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12009. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12010. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12011. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12012. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12013.  
  12014. Thread T11 (tid=17965, running) created by main thread at:
  12015. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  12016. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  12017. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  12018. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  12019. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  12020. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12021. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12022. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12023. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12024. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12025. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12026. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12027. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12028. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12029.  
  12030. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  12031. ==================
  12032. ==================
  12033. WARNING: ThreadSanitizer: data race (pid=17519)
  12034. Atomic write of size 4 at 0x7b080054b528 by main thread:
  12035. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  12036. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  12037. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  12038. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  12039. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  12040. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  12041. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  12042. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  12043. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  12044. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12045. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x47632f8)
  12046. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  12047. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12048. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12049. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12050. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12051. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12052. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12053. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  12054. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  12055. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12056. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12057. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12058. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  12059. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  12060. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  12061. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  12062. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  12063. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  12064. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  12065. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  12066. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  12067. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  12068. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  12069. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  12070. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  12071. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  12072. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  12073. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  12074. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  12075. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12076. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12077. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12078. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12079. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12080. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12081. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12082. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12083. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12084.  
  12085. Previous write of size 8 at 0x7b080054b528 by thread T11:
  12086. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12087. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  12088. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  12089. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  12090. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  12091. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  12092. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  12093. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  12094. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  12095. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  12096. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  12097. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12098. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12099. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12100. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12101. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12102. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12103. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12104. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12105. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12106. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12107. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12108. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12109. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12110. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12111. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12112. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12113. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12114. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12115. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12116. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12117. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12118. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12119. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12120. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12121. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12122. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12123. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12124. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12125. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12126. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12127.  
  12128. Location is heap block of size 32 at 0x7b080054b520 allocated by thread T11:
  12129. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12130. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x402816a)
  12131. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4026c33)
  12132. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_int, std::allocator<wfl::variant_int>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4023a95)
  12133. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, wfl::variant_int*, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021597)
  12134. #5 std::__shared_ptr<wfl::variant_int, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401e86a)
  12135. #6 std::shared_ptr<wfl::variant_int>::shared_ptr<std::allocator<wfl::variant_int>, int&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b274)
  12136. #7 std::shared_ptr<wfl::variant_int> std::allocate_shared<wfl::variant_int, std::allocator<wfl::variant_int>, int&>(std::allocator<wfl::variant_int> const&, int&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4017fd4)
  12137. #8 std::shared_ptr<wfl::variant_int> std::make_shared<wfl::variant_int, int&>(int&) /usr/include/c++/7/bits/shared_ptr.h:707 (wesnoth-debug+0x40152cb)
  12138. #9 wfl::variant::variant(int) src/formula/variant.cpp:148 (wesnoth-debug+0x4008f55)
  12139. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:378 (wesnoth-debug+0x4763268)
  12140. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12141. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12142. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12143. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12144. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12145. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12146. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12147. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12148. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12149. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12150. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12151. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12152. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12153. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12154. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12155. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12156. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12157. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12158. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12159. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12160. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12161. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12162. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12163. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12164. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12165. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12166. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12167. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12168. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12169. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12170.  
  12171. Thread T11 (tid=17965, running) created by main thread at:
  12172. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  12173. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  12174. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  12175. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  12176. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  12177. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12178. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12179. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12180. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12181. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12182. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12183. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12184. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12185. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12186.  
  12187. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  12188. ==================
  12189. ==================
  12190. WARNING: ThreadSanitizer: data race (pid=17519)
  12191. Write of size 8 at 0x7b140014fc70 by main thread:
  12192. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  12193. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  12194. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  12195. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  12196. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12197. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12198. #6 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  12199. #7 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12200. #8 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12201. #9 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12202. #10 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12203. #11 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12204. #12 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12205. #13 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  12206. #14 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  12207. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12208. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12209. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12210. #18 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  12211. #19 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  12212. #20 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  12213. #21 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  12214. #22 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  12215. #23 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  12216. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  12217. #25 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  12218. #26 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  12219. #27 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  12220. #28 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  12221. #29 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  12222. #30 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  12223. #31 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  12224. #32 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  12225. #33 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  12226. #34 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  12227. #35 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12228. #36 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12229. #37 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12230. #38 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12231. #39 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12232. #40 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12233. #41 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12234. #42 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12235. #43 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12236.  
  12237. Previous write of size 8 at 0x7b140014fc70 by thread T11:
  12238. #0 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x4014789)
  12239. #1 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  12240. #2 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  12241. #3 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  12242. #4 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12243. #5 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12244. #6 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12245. #7 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12246. #8 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12247. #9 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12248. #10 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12249. #11 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12250. #12 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12251. #13 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12252. #14 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12253. #15 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12254. #16 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12255. #17 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12256. #18 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12257. #19 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12258. #20 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12259. #21 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12260. #22 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12261. #23 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12262. #24 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12263. #25 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12264. #26 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12265. #27 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12266. #28 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12267. #29 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12268. #30 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12269. #31 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12270. #32 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12271. #33 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12272. #34 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12273. #35 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12274.  
  12275. Location is heap block of size 80 at 0x7b140014fc30 allocated by thread T11:
  12276. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12277. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  12278. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  12279. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  12280. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  12281. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  12282. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  12283. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  12284. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12285. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12286. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  12287. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  12288. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  12289. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  12290. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  12291. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  12292. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  12293. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  12294. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12295. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12296. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12297. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12298. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12299. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12300. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12301. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12302. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12303. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12304. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12305. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12306. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12307. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12308. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12309. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12310. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12311. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12312. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12313. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12314. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12315. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12316.  
  12317. Thread T11 (tid=17965, running) created by main thread at:
  12318. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  12319. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  12320. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  12321. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  12322. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  12323. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12324. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12325. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12326. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12327. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12328. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12329. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12330. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12331. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12332.  
  12333. SUMMARY: ThreadSanitizer: data race (/home/shadowm/src/wesnoth-1.14/wesnoth-debug+0x4014789) in std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&)
  12334. ==================
  12335. ==================
  12336. WARNING: ThreadSanitizer: data race (pid=17519)
  12337. Read of size 8 at 0x7b140014fc78 by main thread:
  12338. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:698 (wesnoth-debug+0x3ab6281)
  12339. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  12340. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  12341. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  12342. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  12343. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12344. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12345. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  12346. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12347. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12348. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12349. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12350. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12351. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12352. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  12353. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  12354. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12355. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12356. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12357. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  12358. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  12359. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  12360. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  12361. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  12362. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  12363. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  12364. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  12365. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  12366. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  12367. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  12368. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  12369. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  12370. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  12371. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  12372. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  12373. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  12374. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12375. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12376. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12377. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12378. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12379. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12380. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12381. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12382. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12383.  
  12384. Previous write of size 8 at 0x7b140014fc78 by thread T11:
  12385. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:704 (wesnoth-debug+0x3ab650d)
  12386. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  12387. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  12388. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  12389. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  12390. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12391. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12392. #7 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12393. #8 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12394. #9 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12395. #10 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12396. #11 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12397. #12 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12398. #13 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12399. #14 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12400. #15 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12401. #16 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12402. #17 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12403. #18 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12404. #19 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12405. #20 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12406. #21 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12407. #22 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12408. #23 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12409. #24 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12410. #25 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12411. #26 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12412. #27 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12413. #28 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12414. #29 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12415. #30 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12416. #31 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12417. #32 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12418. #33 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12419. #34 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12420. #35 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12421. #36 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12422.  
  12423. Location is heap block of size 80 at 0x7b140014fc30 allocated by thread T11:
  12424. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12425. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39e16a2)
  12426. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39e0178)
  12427. #3 std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x39ddd03)
  12428. #4 std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x39db0d1)
  12429. #5 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/7/bits/stl_tree.h:2398 (wesnoth-debug+0x39d92e1)
  12430. #6 std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wfl::variant, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, wfl::variant> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_map.h:493 (wesnoth-debug+0x39d6906)
  12431. #7 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a0e4)
  12432. #8 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12433. #9 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12434. #10 gui2::styled_widget::styled_widget(gui2::implementation::builder_styled_widget const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/gui/widgets/styled_widget.cpp:75 (wesnoth-debug+0x4758443)
  12435. #11 gui2::label::label(gui2::implementation::builder_label const&) src/gui/widgets/label.cpp:51 (wesnoth-debug+0x3a02b19)
  12436. #12 gui2::implementation::builder_label::build() const src/gui/widgets/label.cpp:319 (wesnoth-debug+0x3a07b4b)
  12437. #13 gui2::builder_grid::build(gui2::grid*) const src/gui/core/window_builder.cpp:475 (wesnoth-debug+0x4237e9b)
  12438. #14 gui2::builder_grid::build() const src/gui/core/window_builder.cpp:443 (wesnoth-debug+0x42367ae)
  12439. #15 gui2::window::finalize(std::shared_ptr<gui2::builder_grid> const&) src/gui/widgets/window.cpp:1191 (wesnoth-debug+0x3c53886)
  12440. #16 gui2::build(gui2::builder_window::window_resolution const*) src/gui/core/window_builder.cpp:73 (wesnoth-debug+0x422f89b)
  12441. #17 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:248 (wesnoth-debug+0x4a8f770)
  12442. #18 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12443. #19 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12444. #20 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12445. #21 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12446. #22 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12447. #23 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12448. #24 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12449. #25 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12450. #26 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12451. #27 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12452. #28 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12453. #29 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12454. #30 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12455. #31 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12456. #32 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12457. #33 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12458. #34 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12459. #35 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12460. #36 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12461. #37 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12462. #38 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12463. #39 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12464.  
  12465. Thread T11 (tid=17965, running) created by main thread at:
  12466. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  12467. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  12468. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  12469. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  12470. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  12471. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12472. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12473. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12474. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12475. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12476. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12477. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12478. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12479. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12480.  
  12481. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:698 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  12482. ==================
  12483. ==================
  12484. WARNING: ThreadSanitizer: data race (pid=17519)
  12485. Read of size 8 at 0x7b0c0010b1e0 by main thread:
  12486. #0 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab644a)
  12487. #1 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  12488. #2 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  12489. #3 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  12490. #4 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  12491. #5 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12492. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12493. #7 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  12494. #8 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12495. #9 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12496. #10 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12497. #11 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12498. #12 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12499. #13 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12500. #14 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  12501. #15 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  12502. #16 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12503. #17 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12504. #18 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12505. #19 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  12506. #20 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  12507. #21 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  12508. #22 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  12509. #23 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  12510. #24 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  12511. #25 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  12512. #26 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  12513. #27 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  12514. #28 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  12515. #29 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  12516. #30 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  12517. #31 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  12518. #32 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  12519. #33 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  12520. #34 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  12521. #35 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  12522. #36 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12523. #37 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12524. #38 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12525. #39 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12526. #40 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12527. #41 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12528. #42 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12529. #43 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12530. #44 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12531.  
  12532. Previous write of size 8 at 0x7b0c0010b1e0 by thread T11:
  12533. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12534. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  12535. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  12536. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  12537. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  12538. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  12539. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  12540. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  12541. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  12542. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  12543. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  12544. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12545. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12546. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12547. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12548. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12549. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12550. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12551. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12552. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12553. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12554. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12555. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12556. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12557. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12558. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12559. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12560. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12561. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12562. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12563. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12564. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12565. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12566. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12567. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12568. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12569. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12570. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12571. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12572. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12573. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12574.  
  12575. Location is heap block of size 48 at 0x7b0c0010b1e0 allocated by thread T11:
  12576. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12577. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  12578. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  12579. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  12580. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  12581. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  12582. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  12583. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  12584. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  12585. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  12586. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  12587. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12588. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12589. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12590. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12591. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12592. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12593. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12594. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12595. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12596. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12597. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12598. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12599. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12600. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12601. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12602. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12603. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12604. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12605. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12606. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12607. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12608. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12609. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12610. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12611. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12612. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12613. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12614. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12615. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12616. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12617.  
  12618. Thread T11 (tid=17965, running) created by main thread at:
  12619. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  12620. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  12621. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  12622. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  12623. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  12624. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12625. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12626. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12627. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12628. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12629. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12630. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12631. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12632. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12633.  
  12634. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:703 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&)
  12635. ==================
  12636. ==================
  12637. WARNING: ThreadSanitizer: data race (pid=17519)
  12638. Atomic write of size 4 at 0x7b0c0010b1e8 by main thread:
  12639. #0 __tsan_atomic32_fetch_add <null> (libtsan.so.0+0x631e5)
  12640. #1 __exchange_and_add /usr/include/c++/7/ext/atomicity.h:49 (wesnoth-debug+0x3929efa)
  12641. #2 __exchange_and_add_dispatch /usr/include/c++/7/ext/atomicity.h:82 (wesnoth-debug+0x392a12a)
  12642. #3 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:151 (wesnoth-debug+0x394977f)
  12643. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_count<(__gnu_cxx::_Lock_policy)2> const&) /usr/include/c++/7/bits/shared_ptr_base.h:703 (wesnoth-debug+0x3ab64dc)
  12644. #5 std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2>::operator=(std::__shared_ptr<wfl::variant_value_base, (__gnu_cxx::_Lock_policy)2> const&) <null> (wesnoth-debug+0x40147ef)
  12645. #6 std::shared_ptr<wfl::variant_value_base>::operator=(std::shared_ptr<wfl::variant_value_base> const&) <null> (wesnoth-debug+0x40148a1)
  12646. #7 wfl::variant::operator=(wfl::variant const&) src/formula/variant.cpp:185 (wesnoth-debug+0x400969b)
  12647. #8 wfl::map_formula_callable::add(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/formula/callable.hpp:254 (wesnoth-debug+0x3a0a118)
  12648. #9 gui2::canvas::set_variable(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, wfl::variant const&) src/gui/core/canvas.hpp:173 (wesnoth-debug+0x3a0a27a)
  12649. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763692)
  12650. #11 gui2::styled_widget::place(point const&, point const&) src/gui/widgets/styled_widget.cpp:286 (wesnoth-debug+0x4760c6e)
  12651. #12 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12652. #13 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12653. #14 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12654. #15 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12655. #16 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12656. #17 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12657. #18 gui2::scrollbar_container::set_content_size(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:819 (wesnoth-debug+0x47236c7)
  12658. #19 gui2::scrollbar_container::place(point const&, point const&) src/gui/widgets/scrollbar_container.cpp:406 (wesnoth-debug+0x4712105)
  12659. #20 gui2::grid::child::place(point, point) src/gui/widgets/grid.cpp:798 (wesnoth-debug+0x46bb55c)
  12660. #21 gui2::grid::layout(point const&) src/gui/widgets/grid.cpp:983 (wesnoth-debug+0x46c1ebf)
  12661. #22 gui2::grid::place(point const&, point const&) src/gui/widgets/grid.cpp:505 (wesnoth-debug+0x46b20aa)
  12662. #23 gui2::container_base::place(point const&, point const&) src/gui/widgets/container_base.cpp:140 (wesnoth-debug+0x438fc1a)
  12663. #24 gui2::window::layout() src/gui/widgets/window.cpp:1071 (wesnoth-debug+0x3c50631)
  12664. #25 gui2::window::draw() src/gui/widgets/window.cpp:630 (wesnoth-debug+0x3c47c75)
  12665. #26 void std::__invoke_impl<void, void (gui2::window::*&)(), gui2::window*&>(std::__invoke_memfun_deref, void (gui2::window::*&)(), gui2::window*&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x3c9188b)
  12666. #27 std::__invoke_result<void (gui2::window::*&)(), gui2::window*&>::type std::__invoke<void (gui2::window::*&)(), gui2::window*&>(void (gui2::window::*&)(), gui2::window*&) <null> (wesnoth-debug+0x3c8b9bc)
  12667. #28 void std::_Bind<void (gui2::window::*(gui2::window*))()>::__call<void, gui2::widget&, gui2::event::ui_event&&, bool&, bool&, 0ul>(std::tuple<gui2::widget&, gui2::event::ui_event&&, bool&, bool&>&&, std::_Index_tuple<0ul>) <null> (wesnoth-debug+0x3c862b9)
  12668. #29 void std::_Bind<void (gui2::window::*(gui2::window*))()>::operator()<gui2::widget&, gui2::event::ui_event, bool&, bool&, void>(gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x3c7b169)
  12669. #30 std::_Function_handler<void (gui2::widget&, gui2::event::ui_event, bool&, bool&), std::_Bind<void (gui2::window::*(gui2::window*))()> >::_M_invoke(std::_Any_data const&, gui2::widget&, gui2::event::ui_event&&, bool&, bool&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3c6fa42)
  12670. #31 std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>::operator()(gui2::widget&, gui2::event::ui_event, bool&, bool&) const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x419b92f)
  12671. #32 bool gui2::event::implementation::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, std::vector<std::pair<gui2::widget*, gui2::event::ui_event>, std::allocator<std::pair<gui2::widget*, gui2::event::ui_event> > >&, gui2::widget*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:433 (wesnoth-debug+0x418d093)
  12672. #33 bool gui2::event::fire_event<std::function<void (gui2::widget&, gui2::event::ui_event, bool&, bool&)>>(gui2::event::ui_event, gui2::event::dispatcher*, gui2::widget*) src/gui/core/event/dispatcher_private.hpp:505 (wesnoth-debug+0x4188975)
  12673. #34 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&) src/gui/core/event/dispatcher.cpp:137 (wesnoth-debug+0x418260d)
  12674. #35 gui2::event::sdl_event_handler::draw() src/gui/core/event/handler.cpp:537 (wesnoth-debug+0x420fc86)
  12675. #36 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:385 (wesnoth-debug+0x420d40f)
  12676. #37 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b7ec5)
  12677. #38 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c45f56)
  12678. #39 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a2669)
  12679. #40 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12680. #41 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12681. #42 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12682. #43 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12683. #44 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12684. #45 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12685. #46 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12686. #47 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12687. #48 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12688.  
  12689. Previous write of size 8 at 0x7b0c0010b1e8 by thread T11:
  12690. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12691. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  12692. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  12693. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  12694. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  12695. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  12696. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  12697. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  12698. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  12699. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  12700. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  12701. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12702. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12703. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12704. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12705. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12706. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12707. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12708. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12709. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12710. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12711. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12712. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12713. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12714. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12715. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12716. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12717. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12718. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12719. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12720. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12721. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12722. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12723. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12724. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12725. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12726. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12727. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12728. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12729. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12730. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12731.  
  12732. Location is heap block of size 48 at 0x7b0c0010b1e0 allocated by thread T11:
  12733. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  12734. #1 __gnu_cxx::new_allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x40286fb)
  12735. #2 std::allocator_traits<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >::allocate(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x4027323)
  12736. #3 std::__allocated_ptr<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > > std::__allocate_guarded<std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> > >(std::allocator<std::_Sp_counted_ptr_inplace<wfl::variant_list, std::allocator<wfl::variant_list>, (__gnu_cxx::_Lock_policy)2> >&) /usr/include/c++/7/bits/allocated_ptr.h:104 (wesnoth-debug+0x4024eb3)
  12737. #4 std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, wfl::variant_list*, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:635 (wesnoth-debug+0x4021d23)
  12738. #5 std::__shared_ptr<wfl::variant_list, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr_base.h:1295 (wesnoth-debug+0x401ee8e)
  12739. #6 std::shared_ptr<wfl::variant_list>::shared_ptr<std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::_Sp_make_shared_tag, std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:344 (wesnoth-debug+0x401b53e)
  12740. #7 std::shared_ptr<wfl::variant_list> std::allocate_shared<wfl::variant_list, std::allocator<wfl::variant_list>, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::allocator<wfl::variant_list> const&, std::vector<wfl::variant, std::allocator<wfl::variant> > const&) /usr/include/c++/7/bits/shared_ptr.h:691 (wesnoth-debug+0x4018582)
  12741. #8 std::shared_ptr<wfl::variant_list> std::make_shared<wfl::variant_list, std::vector<wfl::variant, std::allocator<wfl::variant> > const&>(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) <null> (wesnoth-debug+0x4015842)
  12742. #9 wfl::variant::variant(std::vector<wfl::variant, std::allocator<wfl::variant> > const&) src/formula/variant.cpp:166 (wesnoth-debug+0x40092ea)
  12743. #10 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:389 (wesnoth-debug+0x4763602)
  12744. #11 gui2::styled_widget::set_use_markup(bool) src/gui/widgets/styled_widget.cpp:342 (wesnoth-debug+0x4761f99)
  12745. #12 lua_gui2::intf_set_dialog_markup(lua_State*) src/scripting/lua_gui2.cpp:823 (wesnoth-debug+0x4a98090)
  12746. #13 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12747. #14 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12748. #15 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12749. #16 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12750. #17 lua_callk(lua_State*, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:924 (wesnoth-debug+0x619e482)
  12751. #18 lua_gui2::show_dialog(lua_State*) src/scripting/lua_gui2.cpp:252 (wesnoth-debug+0x4a8f7e1)
  12752. #19 luaD_precall(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:434 (wesnoth-debug+0x61b485e)
  12753. #20 luaV_execute(lua_State*) src/lua/lvm.cpp:1134 (wesnoth-debug+0x62035cd)
  12754. #21 luaD_call(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:499 (wesnoth-debug+0x61b55e5)
  12755. #22 luaD_callnoyield(lua_State*, lua_TValue*, int) src/lua/ldo.cpp:509 (wesnoth-debug+0x61b574a)
  12756. #23 f_call src/lua/lapi.cpp:942 (wesnoth-debug+0x619e6ba)
  12757. #24 luaD_rawrunprotected(lua_State*, void (*)(lua_State*, void*), void*) src/lua/ldo.cpp:142 (wesnoth-debug+0x61b149e)
  12758. #25 luaD_pcall(lua_State*, void (*)(lua_State*, void*), void*, long, long) src/lua/ldo.cpp:729 (wesnoth-debug+0x61b745f)
  12759. #26 lua_pcallk(lua_State*, int, int, int, long, int (*)(lua_State*, int, long)) src/lua/lapi.cpp:968 (wesnoth-debug+0x619e8e9)
  12760. #27 luaW_pcall_internal(lua_State*, int, int) src/scripting/lua_common.cpp:956 (wesnoth-debug+0x4a812d6)
  12761. #28 lua_kernel_base::protected_call(lua_State*, int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:643 (wesnoth-debug+0x4ab1304)
  12762. #29 lua_kernel_base::protected_call(int, int, std::function<void (char const*, char const*)>) src/scripting/lua_kernel_base.cpp:638 (wesnoth-debug+0x4ab128b)
  12763. #30 lua_kernel_base::throwing_run(char const*, int) src/scripting/lua_kernel_base.cpp:721 (wesnoth-debug+0x4ab23fd)
  12764. #31 lua_kernel_base::run(char const*, int) src/scripting/lua_kernel_base.cpp:728 (wesnoth-debug+0x4ab259b)
  12765. #32 lua_kernel_base::run_lua_tag(config const&) src/scripting/lua_kernel_base.cpp:711 (wesnoth-debug+0x4ab1e1d)
  12766. #33 game_lua_kernel::initialize(config const&) src/scripting/game_lua_kernel.cpp:4327 (wesnoth-debug+0x4a2a9f1)
  12767. #34 game_state::init(config const&, play_controller&) src/game_state.cpp:210 (wesnoth-debug+0x410fa9a)
  12768. #35 operator() src/play_controller.cpp:219 (wesnoth-debug+0x48fcb3b)
  12769. #36 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x49285be)
  12770. #37 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a376b)
  12771. #38 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x42739cf)
  12772. #39 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279089)
  12773. #40 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  12774.  
  12775. Thread T11 (tid=17965, running) created by main thread at:
  12776. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  12777. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  12778. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x42771d7)
  12779. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x4273cf3)
  12780. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a22fc)
  12781. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42765fa)
  12782. #6 play_controller::init(config const&) src/play_controller.cpp:204 (wesnoth-debug+0x490198b)
  12783. #7 play_controller::play_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/play_controller.cpp:181 (wesnoth-debug+0x48fa12c)
  12784. #8 playsingle_controller::playsingle_controller(config const&, saved_game&, config const&, std::shared_ptr<terrain_type_data> const&, bool) src/playsingle_controller.cpp:79 (wesnoth-debug+0x5a5acfa)
  12785. #9 campaign_controller::playsingle_scenario(end_level_data&) src/game_initialization/playcampaign.cpp:189 (wesnoth-debug+0x56757e8)
  12786. #10 campaign_controller::play_game() src/game_initialization/playcampaign.cpp:281 (wesnoth-debug+0x56773de)
  12787. #11 game_launcher::launch_game(game_launcher::RELOAD_GAME_DATA) src/game_launcher.cpp:983 (wesnoth-debug+0x40f5765)
  12788. #12 do_gameloop src/wesnoth.cpp:897 (wesnoth-debug+0x3ca4201)
  12789. #13 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca4f65)
  12790.  
  12791. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x631e5) in __tsan_atomic32_fetch_add
  12792. ==================
Advertisement
Add Comment
Please, Sign In to add comment