Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 00:50:09 shadowm@hanacore ~/src/wesnoth-1.14 git:1.14 % ./wesnoth-debug --log-info=wml
- Battle for Wesnoth v1.14.2+dev (78ba4582a1-Modified)
- Started on Sun May 27 00:50:09 2018
- Automatically found a possible data directory at /home/USER/src/wesnoth-1.14
- Data directory: /home/USER/src/wesnoth-1.14
- User configuration directory: /home/USER/.wesnoth-1.14
- User data directory: /home/USER/.wesnoth-1.14
- Cache directory: /home/USER/.wesnoth-1.14/cache
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x7b2800000978 by main thread:
- #0 recvmsg <null> (libtsan.so.0+0x39058)
- #1 pa_iochannel_read_with_ancil_data <null> (libpulsecommon-11.1.so+0x32aad)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Previous write of size 8 at 0x7b2800000978 by thread T2:
- #0 memcpy <null> (libtsan.so.0+0x31065)
- #1 pa_srbchannel_read <null> (libpulsecommon-11.1.so+0x46e5e)
- Location is heap block of size 152 at 0x7b2800000960 allocated by main thread:
- #0 malloc <null> (libtsan.so.0+0x2aa63)
- #1 pa_xmalloc <null> (libpulse.so.0+0x39536)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T2 'PulseHotplug' (tid=29350, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x39058) in __interceptor_recvmsg
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 1 at 0x7b2800000986 by main thread:
- #0 recvmsg <null> (libtsan.so.0+0x39058)
- #1 pa_iochannel_read_with_ancil_data <null> (libpulsecommon-11.1.so+0x32aad)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Previous read of size 1 at 0x7b2800000986 by thread T2:
- #0 memcpy <null> (libtsan.so.0+0x31065)
- #1 <null> <null> (libpulsecommon-11.1.so+0x454c8)
- Location is heap block of size 152 at 0x7b2800000960 allocated by main thread:
- #0 malloc <null> (libtsan.so.0+0x2aa63)
- #1 pa_xmalloc <null> (libpulse.so.0+0x39536)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T2 'PulseHotplug' (tid=29350, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x39058) in __interceptor_recvmsg
- ==================
- Setting mode to 1920x1051
- src/gui/widgets/window.cpp:275:108: runtime error: member call on address 0x7b740000f000 which does not point to an object of type 'window'
- 0x7b740000f000: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- src/gui/widgets/spacer.cpp:32:44: runtime error: member call on address 0x7b6400024900 which does not point to an object of type 'spacer'
- 0x7b6400024900: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- src/gui/widgets/image.cpp:40:44: runtime error: member call on address 0x7b6000006400 which does not point to an object of type 'image'
- 0x7b6000006400: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- src/gui/widgets/label.cpp:44:44: runtime error: member call on address 0x7b6400024400 which does not point to an object of type 'label'
- 0x7b6400024400: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Read of size 8 at 0x556f740627a8 by thread T4:
- #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)
- #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)
- #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)
- #3 config::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/config.cpp:708 (wesnoth-debug+0x6223ce4)
- #4 preferences::get(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) src/preferences/general.cpp:229 (wesnoth-debug+0x681b335)
- #5 preferences::core_id[abi:cxx11]() src/preferences/general.cpp:314 (wesnoth-debug+0x681c26f)
- #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)
- #7 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
- #8 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
- #9 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #10 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
- #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)
- #12 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
- #13 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
- #14 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
- #15 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #16 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
- #17 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
- #18 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
- Previous write of size 8 at 0x556f740627a8 by main thread:
- [failed to restore the stack]
- Location is global '(anonymous namespace)::prefs' of size 120 at 0x556f74062780 (wesnoth-debug+0x00000c31b7a8)
- Thread T4 (tid=29354, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
- #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
- #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
- #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- 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> >*)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Read of size 8 at 0x7b14000a7050 by thread T1:
- #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)
- #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)
- #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)
- #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)
- #4 timer_callback src/gui/core/timer.cpp:92 (wesnoth-debug+0x4227917)
- #5 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
- Previous write of size 8 at 0x7b14000a7050 by main thread:
- [failed to restore the stack]
- Location is heap block of size 80 at 0x7b14000a7030 allocated by main thread:
- #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #7 gui2::add_timer(unsigned int, std::function<void (unsigned long)> const&, bool) src/gui/core/timer.cpp:137 (wesnoth-debug+0x4227edd)
- #8 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:126 (wesnoth-debug+0x4274af3)
- #9 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #10 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #11 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #12 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 __libc_start_main <null> (libc.so.6+0x21a86)
- 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
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x7b10000159f0 by thread T4:
- #0 operator delete(void*) <null> (libtsan.so.0+0x6f3d1)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #7 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
- #8 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
- #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)
- #10 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
- #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)
- #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)
- #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)
- #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)
- #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)
- #16 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
- #17 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
- #18 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #19 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
- #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)
- #21 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
- #22 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
- #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
- #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
- #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
- #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
- Previous read of size 1 at 0x7b10000159f5 by main thread:
- [failed to restore the stack]
- Thread T4 (tid=29354, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
- #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
- #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
- #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x6f3d1) in operator delete(void*)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Read of size 8 at 0x7b14000a7040 by thread T1:
- #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)
- #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)
- #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)
- #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)
- #4 timer_callback src/gui/core/timer.cpp:92 (wesnoth-debug+0x4227917)
- #5 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
- Previous write of size 8 at 0x7b14000a7040 by main thread:
- [failed to restore the stack]
- Location is heap block of size 80 at 0x7b14000a7030 allocated by main thread:
- #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #7 gui2::add_timer(unsigned int, std::function<void (unsigned long)> const&, bool) src/gui/core/timer.cpp:137 (wesnoth-debug+0x4227edd)
- #8 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:126 (wesnoth-debug+0x4274af3)
- #9 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #10 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #11 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #12 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 __libc_start_main <null> (libc.so.6+0x21a86)
- 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*)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x556f7405a240 by thread T4:
- #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)
- #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)
- #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)
- #3 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
- #4 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
- #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)
- #6 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
- #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)
- #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)
- #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)
- #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)
- #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)
- #12 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
- #13 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
- #14 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #15 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
- #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)
- #17 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
- #18 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
- #19 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
- #20 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #21 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
- #22 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
- #23 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
- Previous read of size 8 at 0x556f7405a240 by main thread:
- [failed to restore the stack]
- Location is global '(anonymous namespace)::id_to_textdomain' of size 24 at 0x556f7405a240 (wesnoth-debug+0x00000c313240)
- Thread T4 (tid=29354, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
- #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
- #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
- #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- 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&)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x556f7405a248 by thread T4:
- #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)
- #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)
- #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)
- #3 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
- #4 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
- #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)
- #6 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
- #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)
- #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)
- #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)
- #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)
- #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)
- #12 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
- #13 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
- #14 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #15 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
- #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)
- #17 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
- #18 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
- #19 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
- #20 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #21 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
- #22 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
- #23 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
- Previous read of size 8 at 0x556f7405a248 by main thread:
- [failed to restore the stack]
- Location is global '(anonymous namespace)::id_to_textdomain' of size 24 at 0x556f7405a240 (wesnoth-debug+0x00000c313248)
- Thread T4 (tid=29354, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
- #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
- #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
- #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- 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&)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Read of size 8 at 0x7b200002a910 by main thread:
- #0 memcpy <null> (libtsan.so.0+0x31065)
- #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)
- #2 t_string_base::walker::walker(t_string_base const&) src/tstring.cpp:69 (wesnoth-debug+0x65cf32b)
- #3 t_string_base::str[abi:cxx11]() const src/tstring.cpp:573 (wesnoth-debug+0x65d5dd3)
- #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)
- #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)
- #6 gui2::styled_widget::update_canvas() src/gui/widgets/styled_widget.cpp:376 (wesnoth-debug+0x4763982)
- #7 gui2::styled_widget::set_label(t_string const&) src/gui/widgets/styled_widget.cpp:331 (wesnoth-debug+0x47626a6)
- #8 gui2::dialogs::loading_screen::timer_callback(gui2::window&) src/gui/dialogs/loading_screen.cpp:180 (wesnoth-debug+0x4276225)
- #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)
- #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)
- #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)
- #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)
- #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)
- #14 std::function<void (unsigned long)>::operator()(unsigned long) const <null> (wesnoth-debug+0x42296b1)
- #15 gui2::execute_timer(unsigned long) src/gui/core/timer.cpp:186 (wesnoth-debug+0x42289d0)
- #16 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:393 (wesnoth-debug+0x420e144)
- #17 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b97ed)
- #18 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c46b24)
- #19 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
- #20 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #21 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #22 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Previous write of size 8 at 0x7b200002a910 by thread T4:
- [failed to restore the stack]
- As if synchronized via sleep:
- #0 nanosleep <null> (libtsan.so.0+0x49490)
- #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
- #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
- #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #4 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #5 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Location is heap block of size 128 at 0x7b200002a900 allocated by thread T4:
- #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #7 parse_variable src/serialization/parser.cpp:356 (wesnoth-debug+0x6524c64)
- #8 operator() src/serialization/parser.cpp:140 (wesnoth-debug+0x651fc42)
- #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)
- #10 read_gz(config&, std::istream&, abstract_validator*) src/serialization/parser.cpp:670 (wesnoth-debug+0x652781c)
- #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)
- #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)
- #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)
- #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)
- #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)
- #16 operator() src/game_config_manager.cpp:139 (wesnoth-debug+0x4049200)
- #17 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x4052dbe)
- #18 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #19 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:221 (wesnoth-debug+0x427709a)
- #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)
- #21 game_config_manager::init_game_config(game_config_manager::FORCE_RELOAD_CONFIG) src/game_config_manager.cpp:89 (wesnoth-debug+0x4048ab5)
- #22 operator() src/wesnoth.cpp:707 (wesnoth-debug+0x3ca2ad4)
- #23 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
- #24 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #25 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
- #26 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
- #27 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
- Thread T4 (tid=29354, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
- #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
- #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
- #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x31065) in memcpy
- ==================
- 20180527 00:50:53 warning general: no location found for 'data/add-ons/Naia/translations', skipping textdomain
- 20180527 00:50:53 warning general: no location found for 'data/add-ons/Naia/translations', skipping textdomain
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x556f7405af90 by thread T4:
- #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)
- #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)
- #2 t_string::operator=(t_string const&) src/tstring.cpp:635 (wesnoth-debug+0x65d6953)
- #3 font::load_font_config() src/font/font_config.cpp:163 (wesnoth-debug+0x66de89c)
- #4 operator() src/wesnoth.cpp:716 (wesnoth-debug+0x3ca2bd8)
- #5 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
- #6 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #7 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
- #8 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
- #9 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
- Previous read of size 8 at 0x556f7405af90 by main thread:
- [failed to restore the stack]
- Location is global 'font::(anonymous namespace)::family_order_sans' of size 16 at 0x556f7405af90 (wesnoth-debug+0x00000c313f90)
- Thread T4 (tid=29354, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
- #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
- #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
- #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- 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&)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x7b1400016880 by thread T4:
- #0 operator delete(void*) <null> (libtsan.so.0+0x6f3d1)
- #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)
- #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)
- #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)
- #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)
- #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)
- #6 t_string::operator=(t_string const&) src/tstring.cpp:635 (wesnoth-debug+0x65d6953)
- #7 font::load_font_config() src/font/font_config.cpp:163 (wesnoth-debug+0x66de89c)
- #8 operator() src/wesnoth.cpp:716 (wesnoth-debug+0x3ca2bd8)
- #9 _M_invoke /usr/include/c++/7/bits/std_function.h:316 (wesnoth-debug+0x3caac6c)
- #10 std::function<void ()>::operator()() const /usr/include/c++/7/bits/std_function.h:706 (wesnoth-debug+0x39a426d)
- #11 operator() src/gui/dialogs/loading_screen.cpp:116 (wesnoth-debug+0x427459d)
- #12 run /usr/include/boost/thread/detail/thread.hpp:116 (wesnoth-debug+0x4279c57)
- #13 <null> <null> (libboost_thread.so.1.62.0+0x11f95)
- Previous read of size 1 at 0x7b1400016881 by main thread:
- [failed to restore the stack]
- Thread T4 (tid=29354, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 boost::thread::start_thread_noexcept() <null> (libboost_thread.so.1.62.0+0x112f8)
- #2 thread<gui2::dialogs::loading_screen::pre_show(gui2::window&)::<lambda()> > /usr/include/boost/thread/detail/thread.hpp:265 (wesnoth-debug+0x4277da5)
- #3 gui2::dialogs::loading_screen::pre_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:123 (wesnoth-debug+0x42748c1)
- #4 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:85 (wesnoth-debug+0x42a2eca)
- #5 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #6 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #7 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x6f3d1) in operator delete(void*)
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x7b14000a7058 by main thread:
- #0 operator delete(void*) <null> (libtsan.so.0+0x6f3d1)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #8 gui2::remove_timer(unsigned long) src/gui/core/timer.cpp:170 (wesnoth-debug+0x42285f6)
- #9 gui2::dialogs::loading_screen::clear_timer() src/gui/dialogs/loading_screen.cpp:233 (wesnoth-debug+0x4277855)
- #10 gui2::dialogs::loading_screen::post_show(gui2::window&) src/gui/dialogs/loading_screen.cpp:138 (wesnoth-debug+0x427531e)
- #11 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:108 (wesnoth-debug+0x42a38bb)
- #12 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #13 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #14 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Previous read of size 4 at 0x7b14000a705c by thread T1:
- #0 timer_callback src/gui/core/timer.cpp:106 (wesnoth-debug+0x4227a37)
- #1 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
- As if synchronized via sleep:
- #0 nanosleep <null> (libtsan.so.0+0x49490)
- #1 <null> <null> (libSDL2-2.0.so.0+0xdd914)
- #2 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
- #3 gui2::dialogs::loading_screen::display(std::function<void ()>) src/gui/dialogs/loading_screen.cpp:223 (wesnoth-debug+0x42771c8)
- #4 do_gameloop src/wesnoth.cpp:705 (wesnoth-debug+0x3ca33cb)
- #5 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 __libc_start_main <null> (libc.so.6+0x21a86)
- SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x6f3d1) in operator delete(void*)
- ==================
- Checking lua scripts... ok
- 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'
- 0x7b6c0000e000: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- src/gui/widgets/panel.cpp:39:68: runtime error: member call on address 0x7b6c0000e700 which does not point to an object of type 'panel'
- 0x7b6c0000e700: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- 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'
- 0x7b7000016800: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- src/gui/widgets/button.cpp:44:44: runtime error: member call on address 0x7b6400029900 which does not point to an object of type 'button'
- 0x7b6400029900: note: object has invalid vptr
- 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
- ^~~~~~~~~~~~~~~~~~~~~~~
- invalid vptr
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Write of size 8 at 0x7b2800000a18 by thread T2:
- #0 memcpy <null> (libtsan.so.0+0x31065)
- #1 pa_srbchannel_read <null> (libpulsecommon-11.1.so+0x46e5e)
- Previous write of size 8 at 0x7b2800000a18 by thread T3:
- #0 memcpy <null> (libtsan.so.0+0x31065)
- #1 pa_srbchannel_read <null> (libpulsecommon-11.1.so+0x46e5e)
- Location is heap block of size 152 at 0x7b2800000a00 allocated by main thread:
- #0 malloc <null> (libtsan.so.0+0x2aa63)
- #1 pa_xmalloc <null> (libpulse.so.0+0x39536)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T2 'PulseHotplug' (tid=29350, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T3 'SDLAudioP2' (tid=29351, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 game_launcher::game_launcher(commandline_options const&, char const*) src/game_launcher.cpp:279 (wesnoth-debug+0x40ea0e1)
- #3 do_gameloop src/wesnoth.cpp:649 (wesnoth-debug+0x3ca2ffb)
- #4 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- SUMMARY: ThreadSanitizer: data race (/usr/lib/x86_64-linux-gnu/libtsan.so.0+0x31065) in memcpy
- ==================
- ==================
- WARNING: ThreadSanitizer: data race (pid=29308)
- Read of size 4 at 0x7b140016d1bc by thread T1:
- #0 timer_callback src/gui/core/timer.cpp:106 (wesnoth-debug+0x4227a37)
- #1 <null> <null> (libSDL2-2.0.so.0+0x67fc8)
- Previous write of size 8 at 0x7b140016d1b8 by main thread:
- [failed to restore the stack]
- Location is heap block of size 80 at 0x7b140016d190 allocated by main thread:
- #0 operator new(unsigned long) <null> (libtsan.so.0+0x6f14a)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #7 gui2::add_timer(unsigned int, std::function<void (unsigned long)> const&, bool) src/gui/core/timer.cpp:137 (wesnoth-debug+0x4227edd)
- #8 gui2::event::mouse_motion::start_hover_timer(gui2::widget*, point const&) src/gui/core/event/distributor.cpp:329 (wesnoth-debug+0x41cbc32)
- #9 gui2::event::mouse_motion::mouse_enter(gui2::widget*) src/gui/core/event/distributor.cpp:254 (wesnoth-debug+0x41c9d8c)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #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)
- #19 gui2::event::dispatcher::fire(gui2::event::ui_event, gui2::widget&, point const&) src/gui/core/event/dispatcher.cpp:144 (wesnoth-debug+0x418326f)
- #20 gui2::event::sdl_event_handler::mouse(gui2::event::ui_event, point const&) src/gui/core/event/handler.cpp:586 (wesnoth-debug+0x4211efe)
- #21 gui2::event::sdl_event_handler::handle_event(SDL_Event const&) src/gui/core/event/handler.cpp:361 (wesnoth-debug+0x420d6e1)
- #22 events::pump() src/events.cpp:616 (wesnoth-debug+0x66b97ed)
- #23 gui2::window::show(bool, unsigned int) src/gui/widgets/window.cpp:550 (wesnoth-debug+0x3c46b24)
- #24 gui2::dialogs::modal_dialog::show(unsigned int) src/gui/dialogs/modal_dialog.cpp:89 (wesnoth-debug+0x42a3237)
- #25 do_gameloop src/wesnoth.cpp:860 (wesnoth-debug+0x3ca4971)
- #26 main src/wesnoth.cpp:1143 (wesnoth-debug+0x3ca5b33)
- Thread T1 'SDLTimer' (tid=29310, running) created by main thread at:
- #0 pthread_create <null> (libtsan.so.0+0x2b6db)
- #1 <null> <null> (libSDL2-2.0.so.0+0xd8e36)
- #2 __libc_start_main <null> (libc.so.6+0x21a86)
- SUMMARY: ThreadSanitizer: data race src/gui/core/timer.cpp:106 in timer_callback
- ==================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement