Created
August 21, 2018 22:59
-
-
Save kodo-pp/9d3b5dcdc2bf2b0559abd18ff184f4ea to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee1c508 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdfe0) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee1c508 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd25b) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee1d918 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdfe0) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee1d918 by thread T3: | |
[failed to restore the stack] | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee1ecd0 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd6e1) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee1ecd0 by thread T4: | |
[failed to restore the stack] | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ed89770 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd6e1) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ed89770 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ed8ab78 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd700) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ed8ab78 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb75) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee09848 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdffd) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee09848 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdfe0) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ed897b0 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd25b) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ed897b0 by thread T2: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ed86fb8 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd26f) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ed86fb8 by thread T2: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ed897d0 by thread T2: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb75) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ed897d0 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee367b0 by thread T4: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xc8fb) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee367b0 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb75) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee37bb0 by thread T4: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xc8fb) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee37bb0 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd700) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee38fb0 by thread T4: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xc8fb) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee38fb0 by thread T3: | |
[failed to restore the stack] | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee33fe8 by thread T4: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xc919) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee33fe8 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee353d0 by thread T4: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xc919) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee353d0 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb75) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ed87028 by thread T4: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ed87028 by thread T2: | |
[failed to restore the stack] | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ee1ff88 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ee1ff88 by thread T2: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb58) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29ede7bf0 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xd6e1) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29ede7bf0 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xc8fb) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29edeb5d8 by thread T4: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdb75) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29edeb5d8 by thread T2: | |
[failed to restore the stack] | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ff29eec59e8 by thread T1: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xc8fb) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 8 at 0x7ff29eec59e8 by thread T3: | |
#0 void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) <null> (main+0x6ad6) | |
#1 void drawTriangle3d<void*>(screen&, coords const&, coords const&, coords const&, void*) <null> (main+0x7d71) | |
#2 void drawBlock<void*>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, void*) <null> (main+0xdfe0) | |
#3 worker(worker_shared*, int, bool) <null> (main+0xf9ed) | |
#4 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#5 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 2457600 at 0x7ff29ec7c000 allocated by main thread: | |
#0 operator new[](unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:48 (libtsan.so.0+0x75ddc) | |
#1 main <null> (main+0x30cd) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x6ad6) in void drawTriangle<void*>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, void*) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ffce71a3440 by main thread: | |
#0 render(std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, player_pos const&, screen&) <null> (main+0x12b2f) | |
#1 main <null> (main+0x512c) | |
Previous read of size 8 at 0x7ffce71a3440 by thread T1: | |
[failed to restore the stack] | |
Location is stack of main thread. | |
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001f440) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x12b2f) in render(std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, player_pos const&, screen&) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7ffce71a3448 by main thread: | |
#0 render(std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, player_pos const&, screen&) <null> (main+0x12b6c) | |
#1 main <null> (main+0x512c) | |
Previous read of size 8 at 0x7ffce71a3448 by thread T4: | |
[failed to restore the stack] | |
Location is stack of main thread. | |
Location is global '<null>' at 0x000000000000 ([stack]+0x00000001f448) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x12b6c) in render(std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, player_pos const&, screen&) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 8 at 0x7b0c00006458 by main thread: | |
#0 render(std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, player_pos const&, screen&) <null> (main+0x12cd0) | |
#1 main <null> (main+0x512c) | |
Previous read of size 8 at 0x7b0c00006458 by thread T4: | |
[failed to restore the stack] | |
Location is heap block of size 48 at 0x7b0c00006450 allocated by main thread: | |
#0 operator new(unsigned long) /build/gcc/src/gcc/libsanitizer/tsan/tsan_new_delete.cc:42 (libtsan.so.0+0x75d0c) | |
#1 render(std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, player_pos const&, screen&) <null> (main+0x141e9) | |
#2 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x12cd0) in render(std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, player_pos const&, screen&) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef9bc24 by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb279) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef9bc24 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb279) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef5395c by thread T4: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xc010) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef5395c by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xc010) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef51b5c by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef51b5c by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef51b60 by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xc010) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef51b60 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef9c658 by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef9c658 by thread T4: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef96cb8 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xc010) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef96cb8 by thread T1: | |
[failed to restore the stack] | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef81958 by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb279) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef81958 by thread T1: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xc010) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef82d54 by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb279) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef82d54 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef54d14 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xc010) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef54d14 by thread T1: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef55714 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xc010) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef55714 by thread T1: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef53030 by thread T1: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef53030 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef91d2c by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef91d2c by thread T4: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb279) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef5bb64 by thread T4: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef5bb64 by thread T1: | |
[failed to restore the stack] | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef59cb4 by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef59cb4 by thread T4: | |
[failed to restore the stack] | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef74ed8 by thread T2: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xa8ed) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef74ed8 by thread T4: | |
[failed to restore the stack] | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T2 (tid=13902, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef83560 by thread T1: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xa8ed) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef83560 by thread T4: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef83f60 by thread T1: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xa8ed) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef83f60 by thread T4: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xbbf3) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef9bb4c by thread T4: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xa8ed) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef9bb4c by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xb76b) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T4 (tid=13904, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
================== | |
WARNING: ThreadSanitizer: data race (pid=13839) | |
Write of size 4 at 0x7ff29ef7f9c0 by thread T3: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x9132) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xa8ed) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Previous write of size 4 at 0x7ff29ef7f9c0 by thread T1: | |
#0 void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) <null> (main+0x671b) | |
#1 void drawTriangle3d<int>(screen&, coords const&, coords const&, coords const&, int) <null> (main+0x7491) | |
#2 drawTexture(screen&, coords const&, coords const&, coords const&, coords const&, int) <null> (main+0x910d) | |
#3 void drawBlock<int>(screen&, std::vector<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > >, std::allocator<std::vector<std::vector<int, std::allocator<int> >, std::allocator<std::vector<int, std::allocator<int> > > > > > const&, int, int, int, player_pos const&, int) <null> (main+0xa8ed) | |
#4 worker(worker_shared*, int, bool) <null> (main+0xfb3b) | |
#5 std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(worker_shared*, int, bool), worker_shared*, int, bool> > >::_M_run() <null> (main+0x7e02) | |
#6 execute_native_thread_routine /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:80 (libstdc++.so.6+0xbc042) | |
Location is heap block of size 1228800 at 0x7ff29eed5000 allocated by main thread: | |
#0 malloc /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:606 (libtsan.so.0+0x2af84) | |
#1 main <null> (main+0x304d) | |
Thread T3 (tid=13903, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
Thread T1 (tid=13901, running) created by main thread at: | |
#0 pthread_create /build/gcc/src/gcc/libsanitizer/tsan/tsan_interceptors.cc:915 (libtsan.so.0+0x2bf03) | |
#1 __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:662 (libstdc++.so.6+0xbc339) | |
#2 std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135 (libstdc++.so.6+0xbc339) | |
#3 main <null> (main+0x512c) | |
SUMMARY: ThreadSanitizer: data race (/home/kodopp/Projects/SoftCraft/main+0x671b) in void drawTriangle<int>(screen&, std::pair<int, int> const&, std::pair<int, int> const&, std::pair<int, int> const&, int) | |
================== | |
^CThreadSanitizer: reported 46 warnings |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment