Advertisement
shadowm

Untitled

May 26th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 70.50 KB | None | 0 0
  1. 00:50:09 shadowm@hanacore ~/src/wesnoth-1.14 git:1.14 % ./wesnoth-debug --log-info=wml
  2. Battle for Wesnoth v1.14.2+dev (78ba4582a1-Modified)
  3. Started on Sun May 27 00:50:09 2018
  4.  
  5. Automatically found a possible data directory at /home/USER/src/wesnoth-1.14
  6.  
  7. Data directory: /home/USER/src/wesnoth-1.14
  8. User configuration directory: /home/USER/.wesnoth-1.14
  9. User data directory: /home/USER/.wesnoth-1.14
  10. Cache directory: /home/USER/.wesnoth-1.14/cache
  11.  
  12. ==================
  13. WARNING: ThreadSanitizer: data race (pid=29308)
  14. Write of size 8 at 0x7b2800000978 by main thread:
  15. #0 recvmsg <null> (libtsan.so.0+0x39058)
  16. #1 pa_iochannel_read_with_ancil_data <null> (libpulsecommon-11.1.so+0x32aad)
  17. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  18. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  19. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  20.  
  21. Previous write of size 8 at 0x7b2800000978 by thread T2:
  22. #0 memcpy <null> (libtsan.so.0+0x31065)
  23. #1 pa_srbchannel_read <null> (libpulsecommon-11.1.so+0x46e5e)
  24.  
  25. Location is heap block of size 152 at 0x7b2800000960 allocated by main thread:
  26. #0 malloc <null> (libtsan.so.0+0x2aa63)
  27. #1 pa_xmalloc <null> (libpulse.so.0+0x39536)
  28. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  29. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  30. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  31.  
  32. Thread T2 'PulseHotplug' (tid=29350, running) created by main thread at:
  33. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  34. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  35. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  36. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  37. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  38.  
  39. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x39058) in __interceptor_recvmsg
  40. ==================
  41. ==================
  42. WARNING: ThreadSanitizer: data race (pid=29308)
  43. Write of size 1 at 0x7b2800000986 by main thread:
  44. #0 recvmsg <null> (libtsan.so.0+0x39058)
  45. #1 pa_iochannel_read_with_ancil_data <null> (libpulsecommon-11.1.so+0x32aad)
  46. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  47. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  48. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  49.  
  50. Previous read of size 1 at 0x7b2800000986 by thread T2:
  51. #0 memcpy <null> (libtsan.so.0+0x31065)
  52. #1 <null> <null> (libpulsecommon-11.1.so+0x454c8)
  53.  
  54. Location is heap block of size 152 at 0x7b2800000960 allocated by main thread:
  55. #0 malloc <null> (libtsan.so.0+0x2aa63)
  56. #1 pa_xmalloc <null> (libpulse.so.0+0x39536)
  57. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  58. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  59. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  60.  
  61. Thread T2 'PulseHotplug' (tid=29350, running) created by main thread at:
  62. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  63. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  64. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  65. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  66. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  67.  
  68. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x39058) in __interceptor_recvmsg
  69. ==================
  70. Setting mode to 1920x1051
  71. src/gui/widgets/window.cpp:275:108: runtime error: member call on address 0x7b740000f000 which does not point to an object of type 'window'
  72. 0x7b740000f000: note: object has invalid vptr
  73. 00 00 00 00 00 00 00 00 00 00 00 00 65 6d 61 70 5f 77 69 64 00 00 00 00 00 00 00 00 20 2b 20 28
  74. ^~~~~~~~~~~~~~~~~~~~~~~
  75. invalid vptr
  76. src/gui/widgets/spacer.cpp:32:44: runtime error: member call on address 0x7b6400024900 which does not point to an object of type 'spacer'
  77. 0x7b6400024900: note: object has invalid vptr
  78. 00 00 00 00 00 00 00 00 00 00 00 00 6d 61 67 65 5f 6f 72 69 00 00 00 00 00 00 00 00 64 74 68 20
  79. ^~~~~~~~~~~~~~~~~~~~~~~
  80. invalid vptr
  81. src/gui/widgets/image.cpp:40:44: runtime error: member call on address 0x7b6000006400 which does not point to an object of type 'image'
  82. 0x7b6000006400: note: object has invalid vptr
  83. 00 00 00 00 00 00 00 00 00 00 00 00 32 35 30 2c 20 6d 69 6e 00 00 00 00 00 00 00 00 73 74 5f 73
  84. ^~~~~~~~~~~~~~~~~~~~~~~
  85. invalid vptr
  86. src/gui/widgets/label.cpp:44:44: runtime error: member call on address 0x7b6400024400 which does not point to an object of type 'label'
  87. 0x7b6400024400: note: object has invalid vptr
  88. 00 00 00 00 00 00 00 00 00 00 00 00 6d 61 67 65 5f 6f 72 69 00 00 00 00 00 00 00 00 64 74 68 20
  89. ^~~~~~~~~~~~~~~~~~~~~~~
  90. invalid vptr
  91. ==================
  92. WARNING: ThreadSanitizer: data race (pid=29308)
  93. Read of size 8 at 0x556f740627a8 by thread T4:
  94. #0 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, config_attribute_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, config_attribute_value> >, 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, config_attribute_value> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, config_attribute_value> >*) /usr/include/c++/7/bits/stl_tree.h:2306 (wesnoth-debug+0x6241e7f)
  95. #1 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, config_attribute_value> > 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, config_attribute_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, config_attribute_value> >, 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, config_attribute_value> > >::_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, config_attribute_value> >, 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:2405 (wesnoth-debug+0x6239ee7)
  96. #2 std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, config_attribute_value> > std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, config_attribute_value, 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, config_attribute_value> > >::emplace_hint<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, config_attribute_value> >, 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_map.h:601 (wesnoth-debug+0x6237fa7)
  97. #3 config::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/config.cpp:708 (wesnoth-debug+0x6223ce4)
  98. #4 preferences::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/preferences/general.cpp:229 (wesnoth-debug+0x681b335)
  99. #5 preferences::core_id[abi:cxx11]() src/preferences/general.cpp:314 (wesnoth-debug+0x681c26f)
  100. #6 game_config_manager::load_game_config(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:231 (wesnoth-debug+0x404b66e)
  101. #7 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
  102. #8 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
  103. #9 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  104. #10 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
  105. #11 game_config_manager::load_game_config_with_loadscreen(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:138 (wesnoth-debug+0x40495bc)
  106. #12 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
  107. #13 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
  108. #14 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
  109. #15 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  110. #16 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
  111. #17 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
  112. #18 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  113.  
  114. Previous write of size 8 at 0x556f740627a8 by main thread:
  115. [failed to restore the stack]
  116.  
  117. Location is global '(anonymous namespace)::prefs' of size 120 at 0x556f74062780 (wesnoth-debug+0x00000c31b7a8)
  118.  
  119. Thread T4 (tid=29354, running) created by main thread at:
  120. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  121. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  122. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
  123. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
  124. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  125. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  126. #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  127. #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  128.  
  129. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_tree.h:2306 in 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, config_attribute_value>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, config_attribute_value> >, 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, config_attribute_value> > >::_M_insert_node(std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, config_attribute_value> >*)
  130. ==================
  131. ==================
  132. WARNING: ThreadSanitizer: data race (pid=29308)
  133. Read of size 8 at 0x7b14000a7050 by thread T1:
  134. #0 std::less<unsigned long>::operator()(unsigned long const&, unsigned long const&) const /usr/include/c++/7/bits/stl_function.h:386 (wesnoth-debug+0x422a4ff)
  135. #1 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_lower_bound(std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >*, std::_Rb_tree_node_base*, unsigned long const&) /usr/include/c++/7/bits/stl_tree.h:1872 (wesnoth-debug+0x422a390)
  136. #2 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> > >::find(unsigned long const&) <null> (wesnoth-debug+0x4229807)
  137. #3 std::map<unsigned long, gui2::timer, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::find(unsigned long const&) <null> (wesnoth-debug+0x422905e)
  138. #4 timer_callback src/gui/core/timer.cpp:92 (wesnoth-debug+0x4227917)
  139. #5 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
  140.  
  141. Previous write of size 8 at 0x7b14000a7050 by main thread:
  142. [failed to restore the stack]
  143.  
  144. Location is heap block of size 80 at 0x7b14000a7030 allocated by main thread:
  145. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  146. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x422c09a)
  147. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x422bdc5)
  148. #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_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x422b893)
  149. #4 std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >* 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_create_node<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x422a895)
  150. #5 std::pair<std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >, bool> 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_emplace_unique<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) <null> (wesnoth-debug+0x4229e9a)
  151. #6 std::pair<std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >, bool> std::map<unsigned long, gui2::timer, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::emplace<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) <null> (wesnoth-debug+0x422952d)
  152. #7 gui2::add_timer(unsigned int, std::function<void (unsigned long)> const&, bool) src/gui/core/timer.cpp:137 (wesnoth-debug+0x4227edd)
  153. #8 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:126 (wesnoth-debug+0x4274af3)
  154. #9 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  155. #10 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  156. #11 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  157. #12 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  158.  
  159. Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
  160. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  161. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  162. #2 __libc_start_main <null> (libc.so.6+0x21a86)
  163.  
  164. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_function.h:386 in std::less<unsigned long>::operator()(unsigned long const&, unsigned long const&) const
  165. ==================
  166. ==================
  167. WARNING: ThreadSanitizer: data race (pid=29308)
  168. Write of size 8 at 0x7b10000159f0 by thread T4:
  169. #0 operator delete(void*) <null> (libtsan.so.0+0x6f3d1)
  170. #1 __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::deallocate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, unsigned long) /usr/include/c++/7/ext/new_allocator.h:125 (wesnoth-debug+0x39bf035)
  171. #2 std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::deallocate(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:462 (wesnoth-debug+0x39ba140)
  172. #3 std::_Vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_deallocate(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, unsigned long) /usr/include/c++/7/bits/stl_vector.h:180 (wesnoth-debug+0x39b0a5c)
  173. #4 void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<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&) /usr/include/c++/7/bits/vector.tcc:448 (wesnoth-debug+0x39abe0b)
  174. #5 std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_vector.h:948 (wesnoth-debug+0x39a49c1)
  175. #6 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:273 (wesnoth-debug+0x65d2d4c)
  176. #7 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
  177. #8 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
  178. #9 void read_compressed<boost::iostreams::basic_gzip_decompressor<std::allocator<char> > >(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:664 (wesnoth-debug+0x6532432)
  179. #10 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
  180. #11 game_config::config_cache::read_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:111 (wesnoth-debug+0x542b3d5)
  181. #12 game_config::config_cache::read_cache(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:194 (wesnoth-debug+0x542c4cb)
  182. #13 game_config::config_cache::load_configs(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:274 (wesnoth-debug+0x542e614)
  183. #14 game_config::config_cache::get_config(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:80 (wesnoth-debug+0x542af0e)
  184. #15 game_config_manager::load_game_config(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:262 (wesnoth-debug+0x404ba77)
  185. #16 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
  186. #17 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
  187. #18 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  188. #19 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
  189. #20 game_config_manager::load_game_config_with_loadscreen(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:138 (wesnoth-debug+0x40495bc)
  190. #21 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
  191. #22 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
  192. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
  193. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  194. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
  195. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
  196. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  197.  
  198. Previous read of size 1 at 0x7b10000159f5 by main thread:
  199. [failed to restore the stack]
  200.  
  201. Thread T4 (tid=29354, running) created by main thread at:
  202. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  203. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  204. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
  205. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
  206. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  207. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  208. #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  209. #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  210.  
  211. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x6f3d1) in operator delete(void*)
  212. ==================
  213. ==================
  214. WARNING: ThreadSanitizer: data race (pid=29308)
  215. Read of size 8 at 0x7b14000a7040 by thread T1:
  216. #0 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> > >::_S_left(std::_Rb_tree_node_base*) /usr/include/c++/7/bits/stl_tree.h:764 (wesnoth-debug+0x422a26b)
  217. #1 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_lower_bound(std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >*, std::_Rb_tree_node_base*, unsigned long const&) /usr/include/c++/7/bits/stl_tree.h:1873 (wesnoth-debug+0x422a3ab)
  218. #2 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> > >::find(unsigned long const&) <null> (wesnoth-debug+0x4229807)
  219. #3 std::map<unsigned long, gui2::timer, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::find(unsigned long const&) <null> (wesnoth-debug+0x422905e)
  220. #4 timer_callback src/gui/core/timer.cpp:92 (wesnoth-debug+0x4227917)
  221. #5 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
  222.  
  223. Previous write of size 8 at 0x7b14000a7040 by main thread:
  224. [failed to restore the stack]
  225.  
  226. Location is heap block of size 80 at 0x7b14000a7030 allocated by main thread:
  227. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  228. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x422c09a)
  229. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x422bdc5)
  230. #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_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x422b893)
  231. #4 std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >* 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_create_node<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x422a895)
  232. #5 std::pair<std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >, bool> 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_emplace_unique<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) <null> (wesnoth-debug+0x4229e9a)
  233. #6 std::pair<std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >, bool> std::map<unsigned long, gui2::timer, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::emplace<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) <null> (wesnoth-debug+0x422952d)
  234. #7 gui2::add_timer(unsigned int, std::function<void (unsigned long)> const&, bool) src/gui/core/timer.cpp:137 (wesnoth-debug+0x4227edd)
  235. #8 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:126 (wesnoth-debug+0x4274af3)
  236. #9 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  237. #10 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  238. #11 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  239. #12 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  240.  
  241. Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
  242. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  243. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  244. #2 __libc_start_main <null> (libc.so.6+0x21a86)
  245.  
  246. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/stl_tree.h:764 in 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> > >::_S_left(std::_Rb_tree_node_base*)
  247. ==================
  248. ==================
  249. WARNING: ThreadSanitizer: data race (pid=29308)
  250. Write of size 8 at 0x556f7405a240 by thread T4:
  251. #0 void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<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&) /usr/include/c++/7/bits/vector.tcc:451 (wesnoth-debug+0x39abe3c)
  252. #1 std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_vector.h:948 (wesnoth-debug+0x39a49c1)
  253. #2 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:273 (wesnoth-debug+0x65d2d4c)
  254. #3 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
  255. #4 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
  256. #5 void read_compressed<boost::iostreams::basic_gzip_decompressor<std::allocator<char> > >(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:664 (wesnoth-debug+0x6532432)
  257. #6 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
  258. #7 game_config::config_cache::read_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:111 (wesnoth-debug+0x542b3d5)
  259. #8 game_config::config_cache::read_cache(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:194 (wesnoth-debug+0x542c4cb)
  260. #9 game_config::config_cache::load_configs(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:274 (wesnoth-debug+0x542e614)
  261. #10 game_config::config_cache::get_config(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:80 (wesnoth-debug+0x542af0e)
  262. #11 game_config_manager::load_game_config(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:262 (wesnoth-debug+0x404ba77)
  263. #12 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
  264. #13 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
  265. #14 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  266. #15 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
  267. #16 game_config_manager::load_game_config_with_loadscreen(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:138 (wesnoth-debug+0x40495bc)
  268. #17 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
  269. #18 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
  270. #19 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
  271. #20 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  272. #21 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
  273. #22 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
  274. #23 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  275.  
  276. Previous read of size 8 at 0x556f7405a240 by main thread:
  277. [failed to restore the stack]
  278.  
  279. Location is global '(anonymous namespace)::id_to_textdomain' of size 24 at 0x556f7405a240 (wesnoth-debug+0x00000c313240)
  280.  
  281. Thread T4 (tid=29354, running) created by main thread at:
  282. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  283. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  284. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
  285. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
  286. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  287. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  288. #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  289. #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  290.  
  291. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/vector.tcc:451 in void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<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&)
  292. ==================
  293. ==================
  294. WARNING: ThreadSanitizer: data race (pid=29308)
  295. Write of size 8 at 0x556f7405a248 by thread T4:
  296. #0 void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<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&) /usr/include/c++/7/bits/vector.tcc:452 (wesnoth-debug+0x39abe7c)
  297. #1 std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_vector.h:948 (wesnoth-debug+0x39a49c1)
  298. #2 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:273 (wesnoth-debug+0x65d2d4c)
  299. #3 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
  300. #4 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
  301. #5 void read_compressed<boost::iostreams::basic_gzip_decompressor<std::allocator<char> > >(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:664 (wesnoth-debug+0x6532432)
  302. #6 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
  303. #7 game_config::config_cache::read_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:111 (wesnoth-debug+0x542b3d5)
  304. #8 game_config::config_cache::read_cache(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:194 (wesnoth-debug+0x542c4cb)
  305. #9 game_config::config_cache::load_configs(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:274 (wesnoth-debug+0x542e614)
  306. #10 game_config::config_cache::get_config(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:80 (wesnoth-debug+0x542af0e)
  307. #11 game_config_manager::load_game_config(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:262 (wesnoth-debug+0x404ba77)
  308. #12 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
  309. #13 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
  310. #14 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  311. #15 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
  312. #16 game_config_manager::load_game_config_with_loadscreen(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:138 (wesnoth-debug+0x40495bc)
  313. #17 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
  314. #18 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
  315. #19 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
  316. #20 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  317. #21 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
  318. #22 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
  319. #23 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  320.  
  321. Previous read of size 8 at 0x556f7405a248 by main thread:
  322. [failed to restore the stack]
  323.  
  324. Location is global '(anonymous namespace)::id_to_textdomain' of size 24 at 0x556f7405a240 (wesnoth-debug+0x00000c313248)
  325.  
  326. Thread T4 (tid=29354, running) created by main thread at:
  327. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  328. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  329. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
  330. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
  331. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  332. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  333. #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  334. #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  335.  
  336. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/vector.tcc:452 in void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<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&)
  337. ==================
  338. ==================
  339. WARNING: ThreadSanitizer: data race (pid=29308)
  340. Read of size 8 at 0x7b200002a910 by main thread:
  341. #0 memcpy <null> (libtsan.so.0+0x31065)
  342. #1 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) <null> (libstdc++.so.6+0x11dd91)
  343. #2 t_string_base::walker::walker(t_string_base const&) src/tstring.cpp:69 (wesnoth-debug+0x65cf32b)
  344. #3 t_string_base::str[abi:cxx11]() const src/tstring.cpp:573 (wesnoth-debug+0x65d5dd3)
  345. #4 t_string_base::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&() const src/tstring.hpp:101 (wesnoth-debug+0x393e20d)
  346. #5 t_string::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&() const src/tstring.hpp:185 (wesnoth-debug+0x393e334)
  347. #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4763982)
  348. #7 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x47626a6)
  349. #8 gui2::dialogs::loading_screen::timer_callback(gui2::window&) src/gui/dialogs/loading_screen.cpp:180 (wesnoth-debug+0x4276225)
  350. #9 void std::__invoke_impl<void, void (gui2::dialogs::loading_screen::*&)(gui2::window&), gui2::dialogs::loading_screen*&, gui2::window&>(std::__invoke_memfun_deref, void (gui2::dialogs::loading_screen::*&)(gui2::window&), gui2::dialogs::loading_screen*&, gui2::window&) /usr/include/c++/7/bits/invoke.h:73 (wesnoth-debug+0x42978a8)
  351. #10 std::__invoke_result<void (gui2::dialogs::loading_screen::*&)(gui2::window&), gui2::dialogs::loading_screen*&, gui2::window&>::type std::__invoke<void (gui2::dialogs::loading_screen::*&)(gui2::window&), gui2::dialogs::loading_screen*&, gui2::window&>(void (gui2::dialogs::loading_screen::*&)(gui2::window&), gui2::dialogs::loading_screen*&, gui2::window&) <null> (wesnoth-debug+0x429676d)
  352. #11 void std::_Bind<void (gui2::dialogs::loading_screen::*(gui2::dialogs::loading_screen*, std::reference_wrapper<gui2::window>))(gui2::window&)>::__call<void, unsigned long&&, 0ul, 1ul>(std::tuple<unsigned long&&>&&, std::_Index_tuple<0ul, 1ul>) /usr/include/c++/7/functional:467 (wesnoth-debug+0x4294646)
  353. #12 void std::_Bind<void (gui2::dialogs::loading_screen::*(gui2::dialogs::loading_screen*, std::reference_wrapper<gui2::window>))(gui2::window&)>::operator()<unsigned long, void>(unsigned long&&) /usr/include/c++/7/functional:551 (wesnoth-debug+0x4290add)
  354. #13 std::_Function_handler<void (unsigned long), std::_Bind<void (gui2::dialogs::loading_screen::*(gui2::dialogs::loading_screen*, std::reference_wrapper<gui2::window>))(gui2::window&)> >::_M_invoke(std::_Any_data const&, unsigned long&&) /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x428c451)
  355. #14 std::function<void (unsigned long)>::operator()(unsigned long) const <null> (wesnoth-debug+0x42296b1)
  356. #15 gui2::execute_timer(unsigned long) src/gui/core/timer.cpp:186 (wesnoth-debug+0x42289d0)
  357. #16 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:393 (wesnoth-debug+0x420e144)
  358. #17 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b97ed)
  359. #18 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c46b24)
  360. #19 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
  361. #20 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  362. #21 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  363. #22 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  364.  
  365. Previous write of size 8 at 0x7b200002a910 by thread T4:
  366. [failed to restore the stack]
  367.  
  368. As if synchronized via sleep:
  369. #0 nanosleep <null> (libtsan.so.0+0x49490)
  370. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  371. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
  372. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  373. #4 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  374. #5 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  375.  
  376. Location is heap block of size 128 at 0x7b200002a900 allocated by thread T4:
  377. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  378. #1 __gnu_cxx::new_allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x39c13dc)
  379. #2 std::allocator_traits<std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::allocate(std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x39bba4e)
  380. #3 std::_Vector_base<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_allocate(unsigned long) /usr/include/c++/7/bits/stl_vector.h:172 (wesnoth-debug+0x39b4d2e)
  381. #4 void std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::_M_realloc_insert<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(__gnu_cxx::__normal_iterator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<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&) /usr/include/c++/7/bits/vector.tcc:406 (wesnoth-debug+0x39aba0a)
  382. #5 std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::push_back(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/7/bits/stl_vector.h:948 (wesnoth-debug+0x39a49c1)
  383. #6 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:273 (wesnoth-debug+0x65d2d4c)
  384. #7 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
  385. #8 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
  386. #9 void read_compressed<boost::iostreams::basic_gzip_decompressor<std::allocator<char> > >(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:664 (wesnoth-debug+0x6532432)
  387. #10 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
  388. #11 game_config::config_cache::read_file(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:111 (wesnoth-debug+0x542b3d5)
  389. #12 game_config::config_cache::read_cache(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:194 (wesnoth-debug+0x542c4cb)
  390. #13 game_config::config_cache::load_configs(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:274 (wesnoth-debug+0x542e614)
  391. #14 game_config::config_cache::get_config(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, config&) src/config_cache.cpp:80 (wesnoth-debug+0x542af0e)
  392. #15 game_config_manager::load_game_config(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:262 (wesnoth-debug+0x404ba77)
  393. #16 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
  394. #17 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
  395. #18 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  396. #19 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
  397. #20 game_config_manager::load_game_config_with_loadscreen(game_config_manager::FORCE_RELOAD_CONFIG, game_classification const*) src/game_config_manager.cpp:138 (wesnoth-debug+0x40495bc)
  398. #21 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
  399. #22 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
  400. #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
  401. #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  402. #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
  403. #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
  404. #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  405.  
  406. Thread T4 (tid=29354, running) created by main thread at:
  407. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  408. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  409. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
  410. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
  411. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  412. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  413. #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  414. #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  415.  
  416. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x31065) in memcpy
  417. ==================
  418. 20180527 00:50:53 warning general: no location found for 'data/add-ons/Naia/translations', skipping textdomain
  419. 20180527 00:50:53 warning general: no location found for 'data/add-ons/Naia/translations', skipping textdomain
  420. ==================
  421. WARNING: ThreadSanitizer: data race (pid=29308)
  422. Write of size 8 at 0x556f7405af90 by thread T4:
  423. #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+0x65d7641)
  424. #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+0x65d7759)
  425. #2 t_string::operator=(t_string const&) src/tstring.cpp:635 (wesnoth-debug+0x65d6953)
  426. #3 font::load_font_config() src/font/font_config.cpp:163 (wesnoth-debug+0x66de89c)
  427. #4 operator() src/wesnoth.cpp:716 (wesnoth-debug+0x3ca2bd8)
  428. #5 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
  429. #6 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  430. #7 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
  431. #8 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
  432. #9 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  433.  
  434. Previous read of size 8 at 0x556f7405af90 by main thread:
  435. [failed to restore the stack]
  436.  
  437. Location is global 'font::(anonymous namespace)::family_order_sans' of size 16 at 0x556f7405af90 (wesnoth-debug+0x00000c313f90)
  438.  
  439. Thread T4 (tid=29354, running) created by main thread at:
  440. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  441. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  442. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
  443. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
  444. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  445. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  446. #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  447. #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  448.  
  449. SUMMARY: ThreadSanitizer: data race /usr/include/c++/7/bits/shared_ptr_base.h:1034 in 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&)
  450. ==================
  451. ==================
  452. WARNING: ThreadSanitizer: data race (pid=29308)
  453. Write of size 8 at 0x7b1400016880 by thread T4:
  454. #0 operator delete(void*) <null> (libtsan.so.0+0x6f3d1)
  455. #1 std::_Sp_counted_ptr<t_string_base*, (__gnu_cxx::_Lock_policy)2>::_M_dispose() /usr/include/c++/7/bits/shared_ptr_base.h:376 (wesnoth-debug+0x4a871cf)
  456. #2 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release() /usr/include/c++/7/bits/shared_ptr_base.h:154 (wesnoth-debug+0x394a3e9)
  457. #3 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+0x3ab70aa)
  458. #4 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+0x65d76a7)
  459. #5 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+0x65d7759)
  460. #6 t_string::operator=(t_string const&) src/tstring.cpp:635 (wesnoth-debug+0x65d6953)
  461. #7 font::load_font_config() src/font/font_config.cpp:163 (wesnoth-debug+0x66de89c)
  462. #8 operator() src/wesnoth.cpp:716 (wesnoth-debug+0x3ca2bd8)
  463. #9 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
  464. #10 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
  465. #11 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
  466. #12 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
  467. #13 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
  468.  
  469. Previous read of size 1 at 0x7b1400016881 by main thread:
  470. [failed to restore the stack]
  471.  
  472. Thread T4 (tid=29354, running) created by main thread at:
  473. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  474. #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
  475. #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
  476. #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
  477. #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
  478. #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  479. #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  480. #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  481.  
  482. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x6f3d1) in operator delete(void*)
  483. ==================
  484. ==================
  485. WARNING: ThreadSanitizer: data race (pid=29308)
  486. Write of size 8 at 0x7b14000a7058 by main thread:
  487. #0 operator delete(void*) <null> (libtsan.so.0+0x6f3d1)
  488. #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+0x422bfc7)
  489. #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+0x422bd0b)
  490. #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+0x422b736)
  491. #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+0x422a30f)
  492. #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+0x422b57b)
  493. #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+0x422a199)
  494. #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+0x42295b1)
  495. #8 gui2::remove_timer(unsigned long) src/gui/core/timer.cpp:170 (wesnoth-debug+0x42285f6)
  496. #9 gui2::dialogs::loading_screen::clear_timer() src/gui/dialogs/loading_screen.cpp:233 (wesnoth-debug+0x4277855)
  497. #10 gui2::dialogs::loading_screen::post_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:138 (wesnoth-debug+0x427531e)
  498. #11 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:108 (wesnoth-debug+0x42a38bb)
  499. #12 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  500. #13 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  501. #14 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  502.  
  503. Previous read of size 4 at 0x7b14000a705c by thread T1:
  504. #0 timer_callback src/gui/core/timer.cpp:106 (wesnoth-debug+0x4227a37)
  505. #1 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
  506.  
  507. As if synchronized via sleep:
  508. #0 nanosleep <null> (libtsan.so.0+0x49490)
  509. #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
  510. #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
  511. #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
  512. #4 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
  513. #5 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  514.  
  515. Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
  516. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  517. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  518. #2 __libc_start_main <null> (libc.so.6+0x21a86)
  519.  
  520. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x6f3d1) in operator delete(void*)
  521. ==================
  522. Checking lua scripts... ok
  523. src/gui/widgets/stacked_widget.cpp:60:45: runtime error: member call on address 0x7b6c0000e000 which does not point to an object of type 'stacked_widget'
  524. 0x7b6c0000e000: note: object has invalid vptr
  525. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  526. ^~~~~~~~~~~~~~~~~~~~~~~
  527. invalid vptr
  528. src/gui/widgets/panel.cpp:39:68: runtime error: member call on address 0x7b6c0000e700 which does not point to an object of type 'panel'
  529. 0x7b6c0000e700: note: object has invalid vptr
  530. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  531. ^~~~~~~~~~~~~~~~~~~~~~~
  532. invalid vptr
  533. src/gui/widgets/multi_page.cpp:37:45: runtime error: member call on address 0x7b7000016800 which does not point to an object of type 'multi_page'
  534. 0x7b7000016800: note: object has invalid vptr
  535. e2 ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  536. ^~~~~~~~~~~~~~~~~~~~~~~
  537. invalid vptr
  538. src/gui/widgets/button.cpp:44:44: runtime error: member call on address 0x7b6400029900 which does not point to an object of type 'button'
  539. 0x7b6400029900: note: object has invalid vptr
  540. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  541. ^~~~~~~~~~~~~~~~~~~~~~~
  542. invalid vptr
  543. ==================
  544. WARNING: ThreadSanitizer: data race (pid=29308)
  545. Write of size 8 at 0x7b2800000a18 by thread T2:
  546. #0 memcpy <null> (libtsan.so.0+0x31065)
  547. #1 pa_srbchannel_read <null> (libpulsecommon-11.1.so+0x46e5e)
  548.  
  549. Previous write of size 8 at 0x7b2800000a18 by thread T3:
  550. #0 memcpy <null> (libtsan.so.0+0x31065)
  551. #1 pa_srbchannel_read <null> (libpulsecommon-11.1.so+0x46e5e)
  552.  
  553. Location is heap block of size 152 at 0x7b2800000a00 allocated by main thread:
  554. #0 malloc <null> (libtsan.so.0+0x2aa63)
  555. #1 pa_xmalloc <null> (libpulse.so.0+0x39536)
  556. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  557. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  558. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  559.  
  560. Thread T2 'PulseHotplug' (tid=29350, running) created by main thread at:
  561. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  562. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  563. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  564. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  565. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  566.  
  567. Thread T3 'SDLAudioP2' (tid=29351, running) created by main thread at:
  568. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  569. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  570. #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
  571. #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
  572. #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  573.  
  574. SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x31065) in memcpy
  575. ==================
  576. ==================
  577. WARNING: ThreadSanitizer: data race (pid=29308)
  578. Read of size 4 at 0x7b140016d1bc by thread T1:
  579. #0 timer_callback src/gui/core/timer.cpp:106 (wesnoth-debug+0x4227a37)
  580. #1 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
  581.  
  582. Previous write of size 8 at 0x7b140016d1b8 by main thread:
  583. [failed to restore the stack]
  584.  
  585. Location is heap block of size 80 at 0x7b140016d190 allocated by main thread:
  586. #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
  587. #1 __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >::allocate(unsigned long, void const*) /usr/include/c++/7/ext/new_allocator.h:111 (wesnoth-debug+0x422c09a)
  588. #2 std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > > >::allocate(std::allocator<std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> > >&, unsigned long) /usr/include/c++/7/bits/alloc_traits.h:436 (wesnoth-debug+0x422bdc5)
  589. #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_get_node() /usr/include/c++/7/bits/stl_tree.h:588 (wesnoth-debug+0x422b893)
  590. #4 std::_Rb_tree_node<std::pair<unsigned long const, gui2::timer> >* 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_create_node<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) /usr/include/c++/7/bits/stl_tree.h:642 (wesnoth-debug+0x422a895)
  591. #5 std::pair<std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >, bool> 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_emplace_unique<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) <null> (wesnoth-debug+0x4229e9a)
  592. #6 std::pair<std::_Rb_tree_iterator<std::pair<unsigned long const, gui2::timer> >, bool> std::map<unsigned long, gui2::timer, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, gui2::timer> > >::emplace<unsigned long&, gui2::timer&>(unsigned long&, gui2::timer&) <null> (wesnoth-debug+0x422952d)
  593. #7 gui2::add_timer(unsigned int, std::function<void (unsigned long)> const&, bool) src/gui/core/timer.cpp:137 (wesnoth-debug+0x4227edd)
  594. #8 gui2::event::mouse_motion::start_hover_timer(gui2::widget*, point const&) src/gui/core/event/distributor.cpp:329 (wesnoth-debug+0x41cbc32)
  595. #9 gui2::event::mouse_motion::mouse_enter(gui2::widget*) src/gui/core/event/distributor.cpp:254 (wesnoth-debug+0x41c9d8c)
  596. #10 gui2::event::mouse_motion::signal_handler_sdl_mouse_motion(gui2::event::ui_event, bool&, point const&) src/gui/core/event/distributor.cpp:186 (wesnoth-debug+0x41c817f)
  597. #11 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+0x4208eb6)
  598. #12 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+0x4206b21)
  599. #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&)>::__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+0x4203940)
  600. #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&)>::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+0x41f94d2)
  601. #15 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+0x41e0fb1)
  602. #16 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+0x419d052)
  603. #17 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+0x418f1b7)
  604. #18 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+0x41896e1)
  605. #19 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x418326f)
  606. #20 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211efe)
  607. #21 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420d6e1)
  608. #22 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b97ed)
  609. #23 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c46b24)
  610. #24 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
  611. #25 do_gameloop src/wesnoth.cpp:860 (wesnoth-debug+0x3ca4971)
  612. #26 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
  613.  
  614. Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
  615. #0 pthread_create <null> (libtsan.so.0+0x2b6db)
  616. #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
  617. #2 __libc_start_main <null> (libc.so.6+0x21a86)
  618.  
  619. SUMMARY: ThreadSanitizer: data race src/gui/core/timer.cpp:106 in timer_callback
  620. ==================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement