==8771== Helgrind, a thread error detector ==8771== Copyright (C) 2007-2013, and GNU GPL'd, by OpenWorks LLP et al. ==8771== Using Valgrind-3.9.0 and LibVEX; rerun with -h for copyright info ==8771== Command: ./sample-2 ==8771== --8771-- Valgrind options: --8771-- --tool=helgrind --8771-- -v --8771-- Contents of /proc/version: --8771-- Linux version 3.13.0-8-generic (buildd@lamiak) (gcc version 4.8.2 (Ubuntu 4.8.2-15ubuntu1) ) #28-Ubuntu SMP Tue Feb 11 17:55:27 UTC 2014 --8771-- Arch and hwcaps: AMD64, amd64-cx16-lzcnt-rdtscp-sse3 --8771-- Page sizes: currently 4096, max supported 4096 --8771-- Valgrind library directory: /usr/lib/valgrind --8771-- Reading syms from /home/maxis11/build-dirsengine-Qt_5_2_2_qt5-Debug/sample-2/sample-2 --8771-- Reading syms from /lib/x86_64-linux-gnu/ld-2.18.so --8771-- Considering /lib/x86_64-linux-gnu/ld-2.18.so .. --8771-- .. CRC mismatch (computed c426c24a wanted c5ff7909) --8771-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/ld-2.18.so .. --8771-- .. CRC is valid --8771-- Reading syms from /usr/lib/valgrind/helgrind-amd64-linux --8771-- Considering /usr/lib/valgrind/helgrind-amd64-linux .. --8771-- .. CRC mismatch (computed 00afa78f wanted 678a301b) --8771-- object doesn't have a symbol table --8771-- object doesn't have a dynamic symbol table --8771-- Scheduler: using generic scheduler lock implementation. --8771-- Reading suppressions file: /usr/lib/valgrind/default.supp ==8771== embedded gdbserver: reading from /tmp/vgdb-pipe-from-vgdb-to-8771-by-maxis11-on-??? ==8771== embedded gdbserver: writing to /tmp/vgdb-pipe-to-vgdb-from-8771-by-maxis11-on-??? ==8771== embedded gdbserver: shared mem /tmp/vgdb-pipe-shared-mem-vgdb-8771-by-maxis11-on-??? ==8771== ==8771== TO CONTROL THIS PROCESS USING vgdb (which you probably ==8771== don't want to do, unless you know exactly what you're doing, ==8771== or are doing some strange experiment): ==8771== /usr/lib/valgrind/../../bin/vgdb --pid=8771 ...command... ==8771== ==8771== TO DEBUG THIS PROCESS USING GDB: start GDB like this ==8771== /path/to/gdb ./sample-2 ==8771== and then give GDB the following command ==8771== target remote | /usr/lib/valgrind/../../bin/vgdb --pid=8771 ==8771== --pid is optional if only one valgrind process is running ==8771== --8771-- Reading syms from /usr/lib/valgrind/vgpreload_core-amd64-linux.so --8771-- Considering /usr/lib/valgrind/vgpreload_core-amd64-linux.so .. --8771-- .. CRC mismatch (computed d471a722 wanted 35416381) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so --8771-- Considering /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so .. --8771-- .. CRC mismatch (computed 7a6fa484 wanted c44f90f7) --8771-- object doesn't have a symbol table ==8771== WARNING: new redirection conflicts with existing -- ignoring it --8771-- old: 0x04019930 (index ) R-> (0000.0) 0x04c31e20 index --8771-- new: 0x04019930 (index ) R-> (0000.0) 0x04c31de0 strchr --8771-- REDIR: 0x4019930 (index) redirected to 0x4c31e20 (index) --8771-- REDIR: 0x40199b0 (strcmp) redirected to 0x4c31f40 (strcmp) --8771-- REDIR: 0x40199e0 (strlen) redirected to 0x4c31ea0 (strlen) --8771-- Reading syms from /usr/local/lib/libGL.so.1.2.0 --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0 --8771-- Considering /usr/lib/debug/.build-id/10/30486a0c43a97fc6d04deaf001001ecf56215b.debug .. --8771-- .. build-id is valid --8771-- Reading syms from /usr/local/lib/libglfw.so.3.1 --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 --8771-- Considering /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19 .. --8771-- .. CRC mismatch (computed 296fde38 wanted 65e7850a) --8771-- object doesn't have a symbol table --8771-- Reading syms from /lib/x86_64-linux-gnu/libm-2.18.so --8771-- Considering /lib/x86_64-linux-gnu/libm-2.18.so .. --8771-- .. CRC mismatch (computed 814e404d wanted 21d74d55) --8771-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libm-2.18.so .. --8771-- .. CRC is valid --8771-- Reading syms from /lib/x86_64-linux-gnu/libgcc_s.so.1 --8771-- Considering /lib/x86_64-linux-gnu/libgcc_s.so.1 .. --8771-- .. CRC mismatch (computed 97a364b7 wanted 0e70d4dc) --8771-- object doesn't have a symbol table --8771-- Reading syms from /lib/x86_64-linux-gnu/libc-2.18.so --8771-- Considering /lib/x86_64-linux-gnu/libc-2.18.so .. --8771-- .. CRC mismatch (computed cde503d3 wanted ea99cf84) --8771-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libc-2.18.so .. --8771-- .. CRC is valid ==8771== WARNING: new redirection conflicts with existing -- ignoring it --8771-- old: 0x05de7920 (index ) R-> (0000.0) 0x04c31d20 index --8771-- new: 0x05de7920 (index ) R-> (0000.0) 0x04c31ce0 strchr ==8771== WARNING: new redirection conflicts with existing -- ignoring it --8771-- old: 0x05de7920 (index ) R-> (0000.0) 0x04c31d20 index --8771-- new: 0x05de7920 (index ) R-> (0000.0) 0x04c31ce0 strchr --8771-- Reading syms from /usr/local/lib/libglapi.so.0.0.0 --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 .. --8771-- .. CRC mismatch (computed 02fd320d wanted 0899221f) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0 .. --8771-- .. CRC mismatch (computed fe4e32c0 wanted 2a5b3a13) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0 --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0 .. --8771-- .. CRC mismatch (computed e2f4c069 wanted 2164c257) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 .. --8771-- .. CRC mismatch (computed c168660b wanted 161bd255) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/local/lib/libxcb-glx.so.0.0.0 --8771-- Reading syms from /usr/local/lib/libxcb-dri2.so.0.0.0 --8771-- Reading syms from /usr/local/lib/libxcb-dri3.so.0.0.0 --8771-- Reading syms from /usr/local/lib/libxcb-present.so.0.0.0 --8771-- Reading syms from /usr/local/lib/libxcb-sync.so.1.0.0 --8771-- Reading syms from /usr/local/lib/libxcb.so.1.1.0 --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libxshmfence.so.1.0.0 --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXxf86vm.so.1.0.0 --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/local/lib/libdrm.so.2.4.0 --8771-- Reading syms from /lib/x86_64-linux-gnu/libpthread-2.18.so --8771-- Considering /lib/x86_64-linux-gnu/libpthread-2.18.so .. --8771-- .. CRC mismatch (computed 56ae0ec3 wanted 62012435) --8771-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libpthread-2.18.so .. --8771-- .. CRC is valid ==8771== WARNING: new redirection conflicts with existing -- ignoring it --8771-- old: 0x08108130 (pthread_spin_init ) W-> (0000.0) 0x04c31220 pthread_spin_init --8771-- new: 0x08108130 (pthread_spin_init ) W-> (0000.0) 0x04c31230 pthread_spin_unlock --8771-- Reading syms from /lib/x86_64-linux-gnu/libdl-2.18.so --8771-- Considering /lib/x86_64-linux-gnu/libdl-2.18.so .. --8771-- .. CRC mismatch (computed f55dfc6f wanted d8b4c3ca) --8771-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/libdl-2.18.so .. --8771-- .. CRC is valid --8771-- Reading syms from /lib/x86_64-linux-gnu/librt-2.18.so --8771-- Considering /lib/x86_64-linux-gnu/librt-2.18.so .. --8771-- .. CRC mismatch (computed 378e40b8 wanted e3bce028) --8771-- Considering /usr/lib/debug/lib/x86_64-linux-gnu/librt-2.18.so .. --8771-- .. CRC is valid --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0 .. --8771-- .. CRC mismatch (computed 0be820e9 wanted c977080b) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 .. --8771-- .. CRC mismatch (computed ea0c9213 wanted 8b39c27e) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 .. --8771-- .. CRC mismatch (computed 256f5df8 wanted 5d40ac88) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 .. --8771-- .. CRC mismatch (computed 15fc4130 wanted a06cb5c7) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 .. --8771-- .. CRC mismatch (computed 96d07840 wanted d3cfc2cf) --8771-- object doesn't have a symbol table --8771-- REDIR: 0x5deccc0 (memcpy@GLIBC_2.2.5) redirected to 0x4a25720 (_vgnU_ifunc_wrapper) --8771-- REDIR: 0x5de2ef0 (malloc) redirected to 0x4c2a5d0 (malloc) --8771-- REDIR: 0x81052c0 (pthread_mutex_init) redirected to 0x4c30280 (pthread_mutex_init) --8771-- REDIR: 0x5de9450 (strlen) redirected to 0x4c31e60 (strlen) --8771-- REDIR: 0x8105410 (pthread_mutex_lock) redirected to 0x4c305d0 (pthread_mutex_lock) --8771-- REDIR: 0x81067c0 (pthread_mutex_unlock) redirected to 0x4c30b80 (pthread_mutex_unlock) --8771-- REDIR: 0x5de3960 (calloc) redirected to 0x4c2c6b0 (calloc) --8771-- REDIR: 0x5df1ec0 (memcpy@@GLIBC_2.14) redirected to 0x4a25720 (_vgnU_ifunc_wrapper) --8771-- REDIR: 0x5df8350 (__memcpy_sse2_unaligned) redirected to 0x4c31fe0 (memcpy) --8771-- REDIR: 0x5de3370 (free) redirected to 0x4c2b840 (free) --8771-- REDIR: 0x8107170 (pthread_cond_init@@GLIBC_2.3.2) redirected to 0x4c30da0 (pthread_cond_init@*) --8771-- REDIR: 0x8107cf0 (pthread_cond_broadcast@@GLIBC_2.3.2) redirected to 0x4c30d90 (pthread_cond_broadcast@*) --8771-- REDIR: 0x8107c10 (pthread_cond_signal@@GLIBC_2.3.2) redirected to 0x4c30d80 (pthread_cond_signal@*) --8771-- REDIR: 0x5eb0d00 (__memmove_ssse3_back) redirected to 0x4c31fe0 (memcpy) --8771-- REDIR: 0x5de3450 (realloc) redirected to 0x4c2c8d0 (realloc) --8771-- REDIR: 0x81071f0 (pthread_cond_destroy@@GLIBC_2.3.2) redirected to 0x4c30db0 (pthread_cond_destroy@*) --8771-- REDIR: 0x5de8e90 (strcpy) redirected to 0x4a25720 (_vgnU_ifunc_wrapper) --8771-- REDIR: 0x5dfcf10 (__strcpy_sse2_unaligned) redirected to 0x4c31ec0 (strcpy) --8771-- REDIR: 0x5de79f0 (strcmp) redirected to 0x4a25720 (_vgnU_ifunc_wrapper) --8771-- REDIR: 0x5ea0e70 (__strcmp_ssse3) redirected to 0x4c31ef0 (strcmp) --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2 --8771-- Considering /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2 .. --8771-- .. CRC mismatch (computed 63e27661 wanted 89d60ca9) --8771-- object doesn't have a symbol table --8771-- REDIR: 0x5de7920 (index) redirected to 0x4a25720 (_vgnU_ifunc_wrapper) --8771-- REDIR: 0x5de7970 (__GI_strchr) redirected to 0x4c31d20 (index) --8771-- Reading syms from /lib/x86_64-linux-gnu/libudev.so.1.3.5 --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/local/lib/dri/r600_dri.so --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libelf-0.158.so --8771-- object doesn't have a symbol table --8771-- Reading syms from /lib/x86_64-linux-gnu/libexpat.so.1.6.0 --8771-- Considering /lib/x86_64-linux-gnu/libexpat.so.1.6.0 .. --8771-- .. CRC mismatch (computed 8f384202 wanted da130668) --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/local/lib/libdrm_radeon.so.1.0.1 --8771-- Reading syms from /usr/local/lib/libLLVM-3.5svn.so --8771-- Reading syms from /lib/x86_64-linux-gnu/libz.so.1.2.8 --8771-- object doesn't have a symbol table --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 --8771-- Considering /usr/lib/x86_64-linux-gnu/libffi.so.6.0.1 .. --8771-- .. CRC mismatch (computed 6809ba0a wanted 8204379d) --8771-- object doesn't have a symbol table --8771-- Reading syms from /lib/x86_64-linux-gnu/libtinfo.so.5.9 --8771-- Considering /lib/x86_64-linux-gnu/libtinfo.so.5.9 .. --8771-- .. CRC mismatch (computed fed8d8d5 wanted cb4132ef) --8771-- object doesn't have a symbol table --8771-- REDIR: 0x559df30 (operator new(unsigned long)) redirected to 0x4c2ab30 (operator new(unsigned long)) --8771-- REDIR: 0x8106950 (pthread_rwlock_init) redirected to 0x4c31770 (pthread_rwlock_init) --8771-- REDIR: 0x559c260 (operator delete(void*)) redirected to 0x4c2bd10 (operator delete(void*)) --8771-- REDIR: 0xffffffffff600000 (???) redirected to 0x38050963 (???) --8771-- REDIR: 0x8106a40 (pthread_rwlock_rdlock) redirected to 0x4c317a0 (pthread_rwlock_rdlock) --8771-- REDIR: 0x8107070 (pthread_rwlock_unlock) redirected to 0x4c317d0 (pthread_rwlock_unlock) --8771-- REDIR: 0xffffffffff600400 (???) redirected to 0x3805096d (???) --8771-- REDIR: 0x8103430 (pthread_create@@GLIBC_2.2.5) redirected to 0x4c30260 (pthread_create@*) --8771-- REDIR: 0x8107350 (pthread_cond_wait@@GLIBC_2.3.2) redirected to 0x4c30d60 (pthread_cond_wait@*) --8771-- Reading syms from /usr/lib/x86_64-linux-gnu/libtxc_dxtn_s2tc.so.0.0.0 --8771-- object doesn't have a symbol table --8771-- REDIR: 0x5de5300 (posix_memalign) redirected to 0x4c2ccb0 (posix_memalign) --8771-- REDIR: 0x559e040 (operator new[](unsigned long)) redirected to 0x4c2b250 (operator new[](unsigned long)) --8771-- REDIR: 0x559c290 (operator delete[](void*)) redirected to 0x4c2c290 (operator delete[](void*)) --8771-- REDIR: 0x8106cd0 (pthread_rwlock_wrlock) redirected to 0x4c31790 (pthread_rwlock_wrlock) --8771-- REDIR: 0x559c280 (operator delete(void*, std::nothrow_t const&)) redirected to 0x4c2bf20 (operator delete(void*, std::nothrow_t const&)) --8771-- REDIR: 0x559dfc0 (operator new(unsigned long, std::nothrow_t const&)) redirected to 0x4c2ae00 (operator new(unsigned long, std::nothrow_t const&)) ==8771== ---Thread-Announcement------------------------------------------ ==8771== ==8771== Thread #1 is the program's root thread ==8771== ==8771== ---Thread-Announcement------------------------------------------ ==8771== ==8771== Thread #3 was created ==8771== at 0x5E5AAEE: clone (clone.S:74) ==8771== by 0x8102199: do_clone.constprop.3 (createthread.c:75) ==8771== by 0x81038BA: pthread_create@@GLIBC_2.2.5 (createthread.c:245) ==8771== by 0x4C2F3D0: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x55F0E5E: std::thread::_M_start_thread(std::shared_ptr) (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x401C33: _ZNSt6threadC2IRFvP10GLFWwindowjEJRS2_RjEEEOT_DpOT0_ (thread:135) ==8771== by 0x401893: main (main.cpp:54) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x53276C0 by thread #1 ==8771== Locks held: none ==8771== at 0x40195C: main (main.cpp:64) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x50D9149: ??? (in /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0) ==8771== by 0x50F1CF3: glewInit (in /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0) ==8771== by 0x40161F: MyThread(GLFWwindow*, unsigned int) (main.cpp:22) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531CC8 by thread #1 ==8771== Locks held: none ==8771== at 0x9AE0E98: update_array (st_atom_array.c:444) ==8771== by 0x9AE08E6: st_validate_state (st_atom.c:222) ==8771== by 0x9AF3D1B: st_draw_vbo (st_draw.c:208) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9AE73C4: st_bufferobj_data (st_cb_bufferobjects.c:254) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== ==8771== Address 0x9531CC8 is 120 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9AE7121: st_bufferobj_alloc (st_cb_bufferobjects.c:57) ==8771== by 0x99EF378: _mesa_handle_bind_buffer_gen (bufferobj.c:904) ==8771== by 0x99EF515: bind_buffer_object (bufferobj.c:950) ==8771== by 0x401739: MyThread(GLFWwindow*, unsigned int) (main.cpp:33) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x9531D20 by thread #1 ==8771== Locks held: none ==8771== at 0x9C40923: u_vbuf_set_vertex_buffers (u_atomic.h:62) ==8771== by 0x9AE0F00: update_array (st_atom_array.c:587) ==8771== by 0x9AE08E6: st_validate_state (st_atom.c:222) ==8771== by 0x9AF3D1B: st_draw_vbo (st_draw.c:208) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== Address 0x9531D20 is 0 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531D60 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459A5: r600_context_add_resource_size (r600_pipe_common.c:102) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C3F4DC: u_vbuf_set_driver_vertex_buffers (u_vbuf.c:1121) ==8771== by 0x9C411B7: u_vbuf_draw_vbo (u_vbuf.c:1143) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D45215: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D4537E: r600_buffer_create (r600_buffer_common.c:328) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== ==8771== Address 0x9531D60 is 64 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x9531D70 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459AE: r600_context_add_resource_size (r600_pipe_common.c:113) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C3F4DC: u_vbuf_set_driver_vertex_buffers (u_vbuf.c:1121) ==8771== by 0x9C411B7: u_vbuf_draw_vbo (u_vbuf.c:1143) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== Address 0x9531D70 is 80 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x953B5B4 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459B5: r600_context_add_resource_size (r600_pipe_common.c:114) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C3F4DC: u_vbuf_set_driver_vertex_buffers (u_vbuf.c:1121) ==8771== by 0x9C411B7: u_vbuf_draw_vbo (u_vbuf.c:1143) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== Address 0x953B5B4 is 4 bytes inside a block of size 72 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED108: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:327) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D45211: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D4537E: r600_buffer_create (r600_buffer_common.c:328) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x91A5AF0 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #1 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9B0EC39: st_context_flush (st_manager.c:460) ==8771== by 0x9D53CC7: dri_flush (dri_drawable.c:518) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during write of size 8 at 0x91A5AF0 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #1 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9B0EC39: st_context_flush (st_manager.c:460) ==8771== by 0x9D53CC7: dri_flush (dri_drawable.c:518) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531D60 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459A5: r600_context_add_resource_size (r600_pipe_common.c:102) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C1648D: blitter_restore_vertex_states (u_blitter.c:453) ==8771== by 0x9C16742: util_blitter_clear_custom.constprop.13 (u_blitter.c:1153) ==8771== by 0x9C17798: util_blitter_clear (u_blitter.c:1165) ==8771== by 0x9CDEEC6: r600_clear (r600_blit.c:543) ==8771== by 0x9AE7DEA: st_Clear (st_cb_clear.c:512) ==8771== by 0x401940: main (main.cpp:62) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D45215: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== ==8771== Address 0x9531D60 is 64 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x9531D70 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459AE: r600_context_add_resource_size (r600_pipe_common.c:113) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C1648D: blitter_restore_vertex_states (u_blitter.c:453) ==8771== by 0x9C16742: util_blitter_clear_custom.constprop.13 (u_blitter.c:1153) ==8771== by 0x9C17798: util_blitter_clear (u_blitter.c:1165) ==8771== by 0x9CDEEC6: r600_clear (r600_blit.c:543) ==8771== by 0x9AE7DEA: st_Clear (st_cb_clear.c:512) ==8771== by 0x401940: main (main.cpp:62) ==8771== ==8771== This conflicts with a previous write of size 4 by thread #3 ==8771== Locks held: none ==8771== at 0x9D451D8: r600_init_resource (r600_buffer_common.c:115) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== ==8771== Address 0x9531D70 is 80 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0xD97B6F4 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459B5: r600_context_add_resource_size (r600_pipe_common.c:114) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C1648D: blitter_restore_vertex_states (u_blitter.c:453) ==8771== by 0x9C16742: util_blitter_clear_custom.constprop.13 (u_blitter.c:1153) ==8771== by 0x9C17798: util_blitter_clear (u_blitter.c:1165) ==8771== by 0x9CDEEC6: r600_clear (r600_blit.c:543) ==8771== by 0x9AE7DEA: st_Clear (st_cb_clear.c:512) ==8771== by 0x401940: main (main.cpp:62) ==8771== ==8771== Address 0xD97B6F4 is 4 bytes inside a block of size 72 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED108: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:327) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D45211: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== --8771-- REDIR: 0x81053e0 (pthread_mutex_destroy) redirected to 0x4c30440 (pthread_mutex_destroy) ==8771== ---------------------------------------------------------------- ==8771== ==8771== Lock at 0x91A6260 was first observed ==8771== at 0x4C3042A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED90F: pb_cache_manager_create (threads_posix.h:185) ==8771== by 0x9D59640: radeon_drm_winsys_create (radeon_drm_winsys.c:648) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== ==8771== Possible data race during read of size 8 at 0x91A5AF0 by thread #1 ==8771== Locks held: 1, at address 0x91A6260 ==8771== at 0x9D55F7F: radeon_bo_destroy (radeon_drm_bo.c:402) ==8771== by 0x9BED6F5: pb_cache_buffer_destroy (pb_buffer.h:232) ==8771== by 0x9D575A7: radeon_fence_reference (pb_buffer.h:232) ==8771== by 0x9D53CB7: dri_flush (dri_drawable.c:515) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== by 0x53397C2: _glfwPlatformSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532D3D1: glfwSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x401A0E: main (main.cpp:71) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Lock at 0x91A6260 was first observed ==8771== at 0x4C3042A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED90F: pb_cache_manager_create (threads_posix.h:185) ==8771== by 0x9D59640: radeon_drm_winsys_create (radeon_drm_winsys.c:648) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== ==8771== Possible data race during write of size 8 at 0x91A5AF0 by thread #1 ==8771== Locks held: 1, at address 0x91A6260 ==8771== at 0x9D55F7F: radeon_bo_destroy (radeon_drm_bo.c:402) ==8771== by 0x9BED6F5: pb_cache_buffer_destroy (pb_buffer.h:232) ==8771== by 0x9D575A7: radeon_fence_reference (pb_buffer.h:232) ==8771== by 0x9D53CB7: dri_flush (dri_drawable.c:515) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== by 0x53397C2: _glfwPlatformSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532D3D1: glfwSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x401A0E: main (main.cpp:71) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531D60 by thread #1 ==8771== Locks held: none ==8771== at 0x9CFBE27: evergreen_emit_vertex_buffers (evergreen_state.c:2479) ==8771== by 0x9D0A59B: r600_draw_vbo (r600_pipe.h:479) ==8771== by 0x9C40D68: u_vbuf_draw_vbo (u_vbuf.c:1146) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D0706E: r600_invalidate_buffer (pb_buffer.h:243) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== ==8771== Address 0x9531D60 is 64 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== Process terminating with default action of signal 11 (SIGSEGV) ==8771== Access not within mapped region at address 0x4 ==8771== at 0x9CFBE36: evergreen_emit_vertex_buffers (evergreen_state.c:2479) ==8771== by 0x9D0A59B: r600_draw_vbo (r600_pipe.h:479) ==8771== by 0x9C40D68: u_vbuf_draw_vbo (u_vbuf.c:1146) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== If you believe this happened as a result of a stack ==8771== overflow in your program's main thread (unlikely but ==8771== possible), you can try to increase the size of the ==8771== main thread stack using the --main-stacksize= flag. ==8771== The main thread stack size used in this run was 8388608. ==8771== ---------------------------------------------------------------- ==8771== ==8771== Thread #3: Exiting thread still holds 1 lock ==8771== at 0x5E51927: ioctl (syscall-template.S:81) ==8771== by 0x7EF2A73: drmIoctl (xf86drm.c:167) ==8771== by 0x7EF4DCE: drmCommandWriteRead (xf86drm.c:2451) ==8771== by 0x9D55AF1: radeon_bo_is_busy (radeon_drm_bo.c:199) ==8771== by 0x9D55EA9: radeon_bomgr_is_buffer_busy (radeon_drm_bo.c:658) ==8771== by 0x9BED0DA: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:249) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D45211: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== ==8771== ==8771== ERROR SUMMARY: 254 errors from 15 contexts (suppressed: 15278 from 178) ==8771== ==8771== 1 errors in context 1 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Thread #3: Exiting thread still holds 1 lock ==8771== at 0x5E51927: ioctl (syscall-template.S:81) ==8771== by 0x7EF2A73: drmIoctl (xf86drm.c:167) ==8771== by 0x7EF4DCE: drmCommandWriteRead (xf86drm.c:2451) ==8771== by 0x9D55AF1: radeon_bo_is_busy (radeon_drm_bo.c:199) ==8771== by 0x9D55EA9: radeon_bomgr_is_buffer_busy (radeon_drm_bo.c:658) ==8771== by 0x9BED0DA: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:249) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D45211: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== ==8771== ==8771== 1 errors in context 2 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531D60 by thread #1 ==8771== Locks held: none ==8771== at 0x9CFBE27: evergreen_emit_vertex_buffers (evergreen_state.c:2479) ==8771== by 0x9D0A59B: r600_draw_vbo (r600_pipe.h:479) ==8771== by 0x9C40D68: u_vbuf_draw_vbo (u_vbuf.c:1146) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D0706E: r600_invalidate_buffer (pb_buffer.h:243) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== ==8771== Address 0x9531D60 is 64 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== 1 errors in context 3 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Lock at 0x91A6260 was first observed ==8771== at 0x4C3042A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED90F: pb_cache_manager_create (threads_posix.h:185) ==8771== by 0x9D59640: radeon_drm_winsys_create (radeon_drm_winsys.c:648) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== ==8771== Possible data race during write of size 8 at 0x91A5AF0 by thread #1 ==8771== Locks held: 1, at address 0x91A6260 ==8771== at 0x9D55F7F: radeon_bo_destroy (radeon_drm_bo.c:402) ==8771== by 0x9BED6F5: pb_cache_buffer_destroy (pb_buffer.h:232) ==8771== by 0x9D575A7: radeon_fence_reference (pb_buffer.h:232) ==8771== by 0x9D53CB7: dri_flush (dri_drawable.c:515) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== by 0x53397C2: _glfwPlatformSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532D3D1: glfwSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x401A0E: main (main.cpp:71) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== ==8771== ==8771== 1 errors in context 4 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Lock at 0x91A6260 was first observed ==8771== at 0x4C3042A: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED90F: pb_cache_manager_create (threads_posix.h:185) ==8771== by 0x9D59640: radeon_drm_winsys_create (radeon_drm_winsys.c:648) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== ==8771== Possible data race during read of size 8 at 0x91A5AF0 by thread #1 ==8771== Locks held: 1, at address 0x91A6260 ==8771== at 0x9D55F7F: radeon_bo_destroy (radeon_drm_bo.c:402) ==8771== by 0x9BED6F5: pb_cache_buffer_destroy (pb_buffer.h:232) ==8771== by 0x9D575A7: radeon_fence_reference (pb_buffer.h:232) ==8771== by 0x9D53CB7: dri_flush (dri_drawable.c:515) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== by 0x53397C2: _glfwPlatformSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532D3D1: glfwSwapBuffers (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x401A0E: main (main.cpp:71) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== ==8771== ==8771== 1 errors in context 5 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0xD97B6F4 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459B5: r600_context_add_resource_size (r600_pipe_common.c:114) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C1648D: blitter_restore_vertex_states (u_blitter.c:453) ==8771== by 0x9C16742: util_blitter_clear_custom.constprop.13 (u_blitter.c:1153) ==8771== by 0x9C17798: util_blitter_clear (u_blitter.c:1165) ==8771== by 0x9CDEEC6: r600_clear (r600_blit.c:543) ==8771== by 0x9AE7DEA: st_Clear (st_cb_clear.c:512) ==8771== by 0x401940: main (main.cpp:62) ==8771== ==8771== Address 0xD97B6F4 is 4 bytes inside a block of size 72 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED108: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:327) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D45211: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== ==8771== ==8771== 1 errors in context 6 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x953B5B4 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459B5: r600_context_add_resource_size (r600_pipe_common.c:114) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C3F4DC: u_vbuf_set_driver_vertex_buffers (u_vbuf.c:1121) ==8771== by 0x9C411B7: u_vbuf_draw_vbo (u_vbuf.c:1143) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== Address 0x953B5B4 is 4 bytes inside a block of size 72 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9BED108: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:327) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D45211: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D4537E: r600_buffer_create (r600_buffer_common.c:328) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== ==8771== ==8771== 1 errors in context 7 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x9531D70 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459AE: r600_context_add_resource_size (r600_pipe_common.c:113) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C3F4DC: u_vbuf_set_driver_vertex_buffers (u_vbuf.c:1121) ==8771== by 0x9C411B7: u_vbuf_draw_vbo (u_vbuf.c:1143) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== Address 0x9531D70 is 80 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== 1 errors in context 8 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531D60 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459A5: r600_context_add_resource_size (r600_pipe_common.c:102) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C3F4DC: u_vbuf_set_driver_vertex_buffers (u_vbuf.c:1121) ==8771== by 0x9C411B7: u_vbuf_draw_vbo (u_vbuf.c:1143) ==8771== by 0x9AF3EBB: st_draw_vbo (st_draw.c:286) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D45215: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D4537E: r600_buffer_create (r600_buffer_common.c:328) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== ==8771== Address 0x9531D60 is 64 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== 1 errors in context 9 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x9531D20 by thread #1 ==8771== Locks held: none ==8771== at 0x9C40923: u_vbuf_set_vertex_buffers (u_atomic.h:62) ==8771== by 0x9AE0F00: update_array (st_atom_array.c:587) ==8771== by 0x9AE08E6: st_validate_state (st_atom.c:222) ==8771== by 0x9AF3D1B: st_draw_vbo (st_draw.c:208) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== Address 0x9531D20 is 0 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== 1 errors in context 10 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531CC8 by thread #1 ==8771== Locks held: none ==8771== at 0x9AE0E98: update_array (st_atom_array.c:444) ==8771== by 0x9AE08E6: st_validate_state (st_atom.c:222) ==8771== by 0x9AF3D1B: st_draw_vbo (st_draw.c:208) ==8771== by 0x9AC705C: vbo_draw_arrays (vbo_exec_array.c:661) ==8771== by 0x4019D9: main (main.cpp:67) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9AE73C4: st_bufferobj_data (st_cb_bufferobjects.c:254) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== ==8771== Address 0x9531CC8 is 120 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9AE7121: st_bufferobj_alloc (st_cb_bufferobjects.c:57) ==8771== by 0x99EF378: _mesa_handle_bind_buffer_gen (bufferobj.c:904) ==8771== by 0x99EF515: bind_buffer_object (bufferobj.c:950) ==8771== by 0x401739: MyThread(GLFWwindow*, unsigned int) (main.cpp:33) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== 1 errors in context 11 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x53276C0 by thread #1 ==8771== Locks held: none ==8771== at 0x40195C: main (main.cpp:64) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x50D9149: ??? (in /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0) ==8771== by 0x50F1CF3: glewInit (in /usr/lib/x86_64-linux-gnu/libGLEW.so.1.10.0) ==8771== by 0x40161F: MyThread(GLFWwindow*, unsigned int) (main.cpp:22) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== ==8771== ==8771== 50 errors in context 12 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 4 at 0x9531D70 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459AE: r600_context_add_resource_size (r600_pipe_common.c:113) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C1648D: blitter_restore_vertex_states (u_blitter.c:453) ==8771== by 0x9C16742: util_blitter_clear_custom.constprop.13 (u_blitter.c:1153) ==8771== by 0x9C17798: util_blitter_clear (u_blitter.c:1165) ==8771== by 0x9CDEEC6: r600_clear (r600_blit.c:543) ==8771== by 0x9AE7DEA: st_Clear (st_cb_clear.c:512) ==8771== by 0x401940: main (main.cpp:62) ==8771== ==8771== This conflicts with a previous write of size 4 by thread #3 ==8771== Locks held: none ==8771== at 0x9D451D8: r600_init_resource (r600_buffer_common.c:115) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== ==8771== Address 0x9531D70 is 80 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== 51 errors in context 13 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x9531D60 by thread #1 ==8771== Locks held: none ==8771== at 0x9D459A5: r600_context_add_resource_size (r600_pipe_common.c:102) ==8771== by 0x9D07EB2: r600_set_vertex_buffers (r600_state_common.c:528) ==8771== by 0x9C1648D: blitter_restore_vertex_states (u_blitter.c:453) ==8771== by 0x9C16742: util_blitter_clear_custom.constprop.13 (u_blitter.c:1153) ==8771== by 0x9C17798: util_blitter_clear (u_blitter.c:1165) ==8771== by 0x9CDEEC6: r600_clear (r600_blit.c:543) ==8771== by 0x9AE7DEA: st_Clear (st_cb_clear.c:512) ==8771== by 0x401940: main (main.cpp:62) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #3 ==8771== Locks held: none ==8771== at 0x9D45215: r600_init_resource (r600_buffer_common.c:132) ==8771== by 0x9D07093: r600_invalidate_buffer (r600_state_common.c:2187) ==8771== by 0x9D44F95: r600_buffer_transfer_map (r600_buffer_common.c:220) ==8771== by 0x9C3EC4E: u_default_transfer_inline_write (u_transfer.c:35) ==8771== by 0x9AE74A0: st_bufferobj_data (st_cb_bufferobjects.c:195) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== ==8771== Address 0x9531D60 is 64 bytes inside a block of size 136 alloc'd ==8771== at 0x4C2A640: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D452EE: r600_buffer_create (r600_buffer_common.c:320) ==8771== by 0x9AE73C0: st_bufferobj_data (u_inlines.h:253) ==8771== by 0x99EFB68: _mesa_BufferData (bufferobj.c:1313) ==8771== by 0x401771: MyThread(GLFWwindow*, unsigned int) (main.cpp:34) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== by 0x4C2F566: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x8103181: start_thread (pthread_create.c:312) ==8771== by 0x5E5AB2C: clone (clone.S:111) ==8771== ==8771== ==8771== 71 errors in context 14 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during write of size 8 at 0x91A5AF0 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #1 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9B0EC39: st_context_flush (st_manager.c:460) ==8771== by 0x9D53CC7: dri_flush (dri_drawable.c:518) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== ==8771== ==8771== 71 errors in context 15 of 15: ==8771== ---------------------------------------------------------------- ==8771== ==8771== Possible data race during read of size 8 at 0x91A5AF0 by thread #3 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9AE8430: st_finish (st_cb_flush.c:98) ==8771== by 0x9AE847F: st_glFinish (st_cb_flush.c:136) ==8771== by 0x40178B: MyThread(GLFWwindow*, unsigned int) (main.cpp:36) ==8771== by 0x4032AF: _ZNSt12_Bind_simpleIFPFvP10GLFWwindowjES1_jEE9_M_invokeIJLm0ELm1EEEEvSt12_Index_tupleIJXspT_EEE (functional:1731) ==8771== by 0x403244: std::_Bind_simple::operator()() (functional:1720) ==8771== by 0x40321B: std::thread::_Impl >::_M_run() (thread:115) ==8771== by 0x55F0C0F: ??? (in /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19) ==8771== ==8771== This conflicts with a previous write of size 8 by thread #1 ==8771== Locks held: none ==8771== at 0x9D56597: radeon_bomgr_create_bo (radeon_drm_bo.c:638) ==8771== by 0x9BED12C: pb_cache_manager_create_buffer (pb_bufmgr_cache.c:331) ==8771== by 0x9D55C92: radeon_winsys_bo_create (radeon_drm_bo.c:876) ==8771== by 0x9D56FC8: radeon_cs_create_fence (radeon_drm_cs.c:648) ==8771== by 0x9CE23CC: r600_flush_from_st (r600_pipe.c:110) ==8771== by 0x9B0EC39: st_context_flush (st_manager.c:460) ==8771== by 0x9D53CC7: dri_flush (dri_drawable.c:518) ==8771== by 0x4E7976D: dri2SwapBuffers (dri2_glx.c:853) ==8771== ==8771== Address 0x91A5AF0 is 272 bytes inside a block of size 888 alloc'd ==8771== at 0x4C2C730: calloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==8771== by 0x9D592AE: radeon_drm_winsys_create (radeon_drm_winsys.c:634) ==8771== by 0x99D35B5: create_screen (drm_target.c:38) ==8771== by 0x9D53ED6: dri2_init_screen (dri2.c:1045) ==8771== by 0x99D463F: driCreateNewScreen2 (dri_util.c:159) ==8771== by 0x4E78EE0: dri2CreateScreen (dri2_glx.c:1247) ==8771== by 0x4E5553C: __glXInitialize (glxext.c:779) ==8771== by 0x4E517A0: glXQueryVersion (glxcmds.c:489) ==8771== by 0x5338C5A: _glfwInitContextAPI (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x5333D37: _glfwPlatformInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x532DB5D: glfwInit (in /usr/local/lib/libglfw.so.3.1) ==8771== by 0x4017BD: main (main.cpp:42) ==8771== --8771-- --8771-- used_suppression: 14136 helgrind-glibc2X-101 /usr/lib/valgrind/default.supp:968 --8771-- used_suppression: 238 helgrind-glibc2X-111 /usr/lib/valgrind/default.supp:1022 --8771-- used_suppression: 130 helgrind-glibc2X-004 /usr/lib/valgrind/default.supp:927 --8771-- used_suppression: 774 helgrind-glibc2X-103 /usr/lib/valgrind/default.supp:980 ==8771== ==8771== ERROR SUMMARY: 254 errors from 15 contexts (suppressed: 15278 from 178)