Skip to content

Instantly share code, notes, and snippets.

@peterix
Created September 1, 2012 17:40
Show Gist options
  • Select an option

  • Save peterix/3581306 to your computer and use it in GitHub Desktop.

Select an option

Save peterix/3581306 to your computer and use it in GitHub Desktop.
MultiMC4 thread check - update/file download task
==29032== Helgrind, a thread error detector
==29032== Copyright (C) 2007-2012, and GNU GPL'd, by OpenWorks LLP et al.
==29032== Using Valgrind-3.8.0 and LibVEX; rerun with -h for copyright info
==29032== Command: ./MultiMC
==29032== Parent PID: 1253
==29032==
==29032== ---Thread-Announcement------------------------------------------
==29032==
==29032== Thread #1 is the program's root thread
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Thread #1: pthread_cond_destroy: destruction of unknown cond var
==29032== at 0x4C2D552: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0xCEB0379: ??? (in /usr/lib/libxcb.so.1.1.0)
==29032== by 0xCEB053A: xcb_wait_for_reply (in /usr/lib/libxcb.so.1.1.0)
==29032== by 0x9F4A6E8: _XReply (in /usr/lib/libX11.so.6.3.0)
==29032== by 0x9F40407: XQueryExtension (in /usr/lib/libX11.so.6.3.0)
==29032== by 0x9F342F1: XInitExtension (in /usr/lib/libX11.so.6.3.0)
==29032== by 0x9F9E7B3: XkbUseExtension (in /usr/lib/libX11.so.6.3.0)
==29032== by 0x9F3ABC6: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==29032== by 0x702EB35: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x6FFD91C: gdk_display_open_default_libgtk_only (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x6AE5303: gtk_init_check (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29032== by 0x5002989: wxApp::Initialize(int&, wchar_t**) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032==
==29032== ---Thread-Announcement------------------------------------------
==29032==
==29032== Thread #2 was created
==29032== at 0x66F241E: clone (in /usr/lib/libc-2.16.so)
==29032== by 0x63F6FF4: do_clone.constprop.4 (in /usr/lib/libpthread-2.16.so)
==29032== by 0x63F8468: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.16.so)
==29032== by 0x4C2E9A8: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x16914A0A: pa_thread_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x164B251B: pa_threaded_mainloop_start (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x1624793E: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29032== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Lock at 0x101241D0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0xEDCEF6C: ca_mutex_new (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCDB50: ca_context_create (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7017: ca_gtk_context_get_for_screen (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xEBC7E9B: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B95863: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x6AE5680: gtk_main_iteration (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29032==
==29032== Lock at 0x101296F0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x164B248E: pa_threaded_mainloop_new (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x16247911: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29032== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== Lock at 0x1012A060 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x1691487D: pa_static_mutex_get (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x1690212E: pa_once_begin (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x169022A6: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== Possible data race during read of size 4 at 0x16B33618 by thread #1
==29032== Locks held: 3, at addresses 0xE2FFBB0 0x101241D0 0x101296F0
==29032== at 0x16902109: pa_once_begin (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x169022A6: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x16915163: pa_thread_self (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x164B2AAC: pa_threaded_mainloop_wait (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x1624796F: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29032== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #2
==29032== Locks held: 1, at address 0x1012A060
==29032== at 0x169021C3: pa_once_end (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Lock at 0x101241D0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0xEDCEF6C: ca_mutex_new (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCDB50: ca_context_create (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7017: ca_gtk_context_get_for_screen (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xEBC7E9B: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B95863: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x6AE5680: gtk_main_iteration (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29032==
==29032== Lock at 0x101296F0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x164B248E: pa_threaded_mainloop_new (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x16247911: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29032== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== Lock at 0x1012A060 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x1691487D: pa_static_mutex_get (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x1690212E: pa_once_begin (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x169022A6: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== Possible data race during read of size 8 at 0x16B33620 by thread #1
==29032== Locks held: 3, at addresses 0xE2FFBB0 0x101241D0 0x101296F0
==29032== at 0x16915164: pa_thread_self (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x164B2AAC: pa_threaded_mainloop_wait (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x1624796F: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29032== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== This conflicts with a previous write of size 8 by thread #2
==29032== Locks held: 1, at address 0x1012A060
==29032== at 0x16914F90: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x169022C1: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Lock at 0x101241D0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0xEDCEF6C: ca_mutex_new (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCDB50: ca_context_create (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7017: ca_gtk_context_get_for_screen (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xEBC7E9B: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B95863: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x6AE5680: gtk_main_iteration (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29032==
==29032== Lock at 0x101296F0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x164B248E: pa_threaded_mainloop_new (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x16247911: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29032== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== Possible data race during read of size 4 at 0x10129B30 by thread #1
==29032== Locks held: 3, at addresses 0xE2FFBB0 0x101241D0 0x101296F0
==29032== at 0x16915055: pa_tls_get (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x1691516F: pa_thread_self (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x164B2AAC: pa_threaded_mainloop_wait (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x1624796F: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29032== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29032== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29032== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29032== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== Address 0x10129B30 is 0 bytes inside a block of size 4 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x164B7E36: pa_xmalloc (in /usr/lib/libpulse.so.0.14.3)
==29032== by 0x16914F4A: pa_tls_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x16914F8F: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x169022C1: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== ---Thread-Announcement------------------------------------------
==29032==
==29032== Thread #3 was created
==29032== at 0x66F241E: clone (in /usr/lib/libc-2.16.so)
==29032== by 0x63F6FF4: do_clone.constprop.4 (in /usr/lib/libpthread-2.16.so)
==29032== by 0x63F8468: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.16.so)
==29032== by 0x4C2E9A8: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FAAB1: wxThread::Create(unsigned int) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5BE1CE: Task::Start() (task.cpp:44)
==29032== by 0x5688BB: MainWindow::StartTask(Task&) (mainwindow.cpp:1088)
==29032== by 0x562705: MainWindow::OnStartup() (mainwindow.cpp:198)
==29032== by 0x55F3EA: MultiMC::OnInit() (multimc.cpp:89)
==29032== by 0x5607D6: wxAppConsole::CallOnInit() (app.h:76)
==29032== by 0x54AD7FA: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during read of size 4 at 0x10100EF0 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x5604AE: wxStringData::IsEmpty() const (string.h:226)
==29032== by 0x5604CF: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BECAF: TaskStatusEvent::~TaskStatusEvent() (task.h:112)
==29032== by 0x54FC1F6: wxEventPtr::~wxEventPtr() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC997: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #3
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29032== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29032== by 0x5CA63B: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032==
==29032== Address 0x10100EF0 is 0 bytes inside a block of size 168 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29032== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5CA623: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during write of size 4 at 0x10100EF0 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BECAF: TaskStatusEvent::~TaskStatusEvent() (task.h:112)
==29032== by 0x54FC1F6: wxEventPtr::~wxEventPtr() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC997: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #3
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29032== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29032== by 0x5CA63B: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032==
==29032== Address 0x10100EF0 is 0 bytes inside a block of size 168 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29032== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5CA623: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during read of size 4 at 0x10189BE0 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x54C89B2: wxStringBase::operator=(wxStringBase const&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560646: wxString::operator=(wxString const&) (string.h:659)
==29032== by 0x5CBB7A: FileDownloadTask::FileDownloadTask(wxString const&, wxFileName const&, wxString const&) (filedownloadtask.cpp:25)
==29032== by 0x565CCD: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #3
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5CBAB4: CheckUpdateEvent::~CheckUpdateEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5CACD6: CheckUpdateTask::OnCheckComplete(int, wxString) (checkupdatetask.cpp:97)
==29032== by 0x5CA837: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:66)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== Address 0x10189BE0 is 0 bytes inside a block of size 360 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C9938: wxString::Shrink() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54CB01F: wxString::PrintfV(wchar_t const*, __va_list_tag*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54CB1BD: wxString::Format(wchar_t const*, ...) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5CA7E3: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:63)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during write of size 4 at 0x10189BE0 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x54C89F2: wxStringBase::operator=(wxStringBase const&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560646: wxString::operator=(wxString const&) (string.h:659)
==29032== by 0x5CBB7A: FileDownloadTask::FileDownloadTask(wxString const&, wxFileName const&, wxString const&) (filedownloadtask.cpp:25)
==29032== by 0x565CCD: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #3
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5CBAB4: CheckUpdateEvent::~CheckUpdateEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5CACD6: CheckUpdateTask::OnCheckComplete(int, wxString) (checkupdatetask.cpp:97)
==29032== by 0x5CA837: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:66)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== Address 0x10189BE0 is 0 bytes inside a block of size 360 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C9938: wxString::Shrink() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54CB01F: wxString::PrintfV(wchar_t const*, __va_list_tag*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54CB1BD: wxString::Format(wchar_t const*, ...) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5CA7E3: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:63)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29032== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29032==
==29032== ---Thread-Announcement------------------------------------------
==29032==
==29032== Thread #5 was created
==29032== at 0x66F241E: clone (in /usr/lib/libc-2.16.so)
==29032== by 0x63F6FF4: do_clone.constprop.4 (in /usr/lib/libpthread-2.16.so)
==29032== by 0x63F8468: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.16.so)
==29032== by 0x4C2E9A8: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FAAB1: wxThread::Create(unsigned int) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5BE1CE: Task::Start() (task.cpp:44)
==29032== by 0x568AC7: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1107)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during read of size 4 at 0x10192B10 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x5604AE: wxStringData::IsEmpty() const (string.h:226)
==29032== by 0x569EA9: wxStringData::Lock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x569F3F: wxStringBase::wxStringBase(wxStringBase const&) (string.h:360)
==29032== by 0x569FDA: wxString::wxString(wxString const&) (string.h:690)
==29032== by 0x5BE3AC: Task::GetStatus() const (task.cpp:95)
==29032== by 0x568B4C: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #5
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29032== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29032== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032==
==29032== Address 0x10192B10 is 0 bytes inside a block of size 168 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29032== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during write of size 4 at 0x10192B10 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x569EBE: wxStringData::Lock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x569F3F: wxStringBase::wxStringBase(wxStringBase const&) (string.h:360)
==29032== by 0x569FDA: wxString::wxString(wxString const&) (string.h:690)
==29032== by 0x5BE3AC: Task::GetStatus() const (task.cpp:95)
==29032== by 0x568B4C: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #5
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29032== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29032== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032==
==29032== Address 0x10192B10 is 0 bytes inside a block of size 168 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29032== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during read of size 4 at 0x10192B10 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x54C89B2: wxStringBase::operator=(wxStringBase const&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x505F85F: wxControl::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x505FDD3: wxControl::GTKSetLabelForLabel(_GtkLabel*, wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x507A342: wxStaticText::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x5116244: wxProgressDialog::UpdateMessage(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x51162C6: wxProgressDialog::Pulse(wxString const&, bool*) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x568B61: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #5
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29032== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29032== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032==
==29032== Address 0x10192B10 is 0 bytes inside a block of size 168 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29032== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during write of size 4 at 0x10192B10 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x54C89F2: wxStringBase::operator=(wxStringBase const&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x505F85F: wxControl::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x505FDD3: wxControl::GTKSetLabelForLabel(_GtkLabel*, wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x507A342: wxStaticText::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x5116244: wxProgressDialog::UpdateMessage(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x51162C6: wxProgressDialog::Pulse(wxString const&, bool*) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x568B61: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #5
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29032== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29032== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032==
==29032== Address 0x10192B10 is 0 bytes inside a block of size 168 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29032== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during write of size 4 at 0x10192B10 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x568B70: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #5
==29032== Locks held: none
==29032== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29032== by 0x560621: wxString::~wxString() (string.h:659)
==29032== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29032== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29032== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032==
==29032== Address 0x10192B10 is 0 bytes inside a block of size 168 alloc'd
==29032== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29032== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29032== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during write of size 4 at 0x7FEFFFF38 by thread #5
==29032== Locks held: none
==29032== at 0x5BE2D6: Task::SetProgress(int, bool) (task.cpp:76)
==29032== by 0x5CBCF2: FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}::operator()(void*, unsigned long) const (filedownloadtask.cpp:67)
==29032== by 0x5CC520: std::_Function_handler<unsigned long (void*, unsigned long), FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}>::_M_invoke(std::_Any_data const&, void*, unsigned long) (functional:1912)
==29032== by 0x5D40C4: std::function<unsigned long (void*, unsigned long)>::operator()(void*, unsigned long) const (functional:2311)
==29032== by 0x5D4049: CurlLambdaCallback(void*, unsigned long, unsigned long, void*) (curlutils.cpp:28)
==29032== by 0x5C8DDC7: ??? (in /usr/lib/libcurl.so.4.2.0)
==29032== by 0x5CA5BB9: ??? (in /usr/lib/libcurl.so.4.2.0)
==29032== by 0x5CA682C: ??? (in /usr/lib/libcurl.so.4.2.0)
==29032== by 0x5CC102: FileDownloadTask::TaskStart() (filedownloadtask.cpp:72)
==29032== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29032== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032==
==29032== This conflicts with a previous read of size 4 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x5BE31C: Task::GetProgress() const (task.cpp:83)
==29032== by 0x568B0F: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1114)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Lock at 0xE2FFBB0 was first observed
==29032== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29032== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x55EDF3: main (multimc.cpp:21)
==29032==
==29032== Possible data race during read of size 4 at 0x7FEFFFF38 by thread #1
==29032== Locks held: 1, at address 0xE2FFBB0
==29032== at 0x5BE31C: Task::GetProgress() const (task.cpp:83)
==29032== by 0x568B0F: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1114)
==29032== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29032== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29032== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29032== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29032== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29032==
==29032== This conflicts with a previous write of size 4 by thread #5
==29032== Locks held: none
==29032== at 0x5BE2D6: Task::SetProgress(int, bool) (task.cpp:76)
==29032== by 0x5CBCF2: FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}::operator()(void*, unsigned long) const (filedownloadtask.cpp:67)
==29032== by 0x5CC520: std::_Function_handler<unsigned long (void*, unsigned long), FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}>::_M_invoke(std::_Any_data const&, void*, unsigned long) (functional:1912)
==29032== by 0x5D40C4: std::function<unsigned long (void*, unsigned long)>::operator()(void*, unsigned long) const (functional:2311)
==29032== by 0x5D4049: CurlLambdaCallback(void*, unsigned long, unsigned long, void*) (curlutils.cpp:28)
==29032== by 0x5C8DDC7: ??? (in /usr/lib/libcurl.so.4.2.0)
==29032== by 0x5CA5BB9: ??? (in /usr/lib/libcurl.so.4.2.0)
==29032== by 0x5CA682C: ??? (in /usr/lib/libcurl.so.4.2.0)
==29032==
==29032== ----------------------------------------------------------------
==29032==
==29032== Thread #1: Exiting thread still holds 2 locks
==29032== at 0x66EA2CB: ??? (in /usr/lib/libc-2.16.so)
==29032== by 0xCEAEE41: ??? (in /usr/lib/libxcb.so.1.1.0)
==29032== by 0xCEAF39E: ??? (in /usr/lib/libxcb.so.1.1.0)
==29032== by 0xCEAF423: xcb_writev (in /usr/lib/libxcb.so.1.1.0)
==29032== by 0x9F4A16D: _XSend (in /usr/lib/libX11.so.6.3.0)
==29032== by 0x9F3F1D0: ??? (in /usr/lib/libX11.so.6.3.0)
==29032== by 0x9F3F3A8: XPutImage (in /usr/lib/libX11.so.6.3.0)
==29032== by 0xA6F9EF4: ??? (in /usr/lib/libcairo.so.2.11200.2)
==29032== by 0xA6FAA39: ??? (in /usr/lib/libcairo.so.2.11200.2)
==29032== by 0xA6CCF7F: cairo_surface_unmap_image (in /usr/lib/libcairo.so.2.11200.2)
==29032== by 0xA6F66E1: ??? (in /usr/lib/libcairo.so.2.11200.2)
==29032== by 0xA6F78D6: ??? (in /usr/lib/libcairo.so.2.11200.2)
==29032==
==29032==
==29032== For counts of detected and suppressed errors, rerun with: -v
==29032== Use --history-level=approx or =none to gain increased speed, at
==29032== the cost of reduced accuracy of conflicting-access information
==29032== ERROR SUMMARY: 1374 errors from 16 contexts (suppressed: 8496 from 297)
==29113== Helgrind, a thread error detector
==29113== Copyright (C) 2007-2012, and GNU GPL'd, by OpenWorks LLP et al.
==29113== Using Valgrind-3.8.0 and LibVEX; rerun with -h for copyright info
==29113== Command: ./MultiMC
==29113== Parent PID: 1253
==29113==
==29113== ---Thread-Announcement------------------------------------------
==29113==
==29113== Thread #1 is the program's root thread
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Thread #1: pthread_cond_destroy: destruction of unknown cond var
==29113== at 0x4C2D552: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0xCEB0379: ??? (in /usr/lib/libxcb.so.1.1.0)
==29113== by 0xCEB053A: xcb_wait_for_reply (in /usr/lib/libxcb.so.1.1.0)
==29113== by 0x9F4A6E8: _XReply (in /usr/lib/libX11.so.6.3.0)
==29113== by 0x9F40407: XQueryExtension (in /usr/lib/libX11.so.6.3.0)
==29113== by 0x9F342F1: XInitExtension (in /usr/lib/libX11.so.6.3.0)
==29113== by 0x9F9E7B3: XkbUseExtension (in /usr/lib/libX11.so.6.3.0)
==29113== by 0x9F3ABC6: XOpenDisplay (in /usr/lib/libX11.so.6.3.0)
==29113== by 0x702EB35: gdk_display_open (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x6FFD91C: gdk_display_open_default_libgtk_only (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x6AE5303: gtk_init_check (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29113== by 0x5002989: wxApp::Initialize(int&, wchar_t**) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113==
==29113== ---Thread-Announcement------------------------------------------
==29113==
==29113== Thread #2 was created
==29113== at 0x66F241E: clone (in /usr/lib/libc-2.16.so)
==29113== by 0x63F6FF4: do_clone.constprop.4 (in /usr/lib/libpthread-2.16.so)
==29113== by 0x63F8468: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.16.so)
==29113== by 0x4C2E9A8: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x16914A0A: pa_thread_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x164B251B: pa_threaded_mainloop_start (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x1624793E: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29113== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0x10125500 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x164B248E: pa_threaded_mainloop_new (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x16247911: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29113== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== Lock at 0x10101EA0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0xEDCEF6C: ca_mutex_new (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCDB50: ca_context_create (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7017: ca_gtk_context_get_for_screen (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xEBC7E9B: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B95863: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x6AE5680: gtk_main_iteration (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Lock at 0x101266E0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x1691487D: pa_static_mutex_get (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x1690212E: pa_once_begin (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x169022A6: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29113== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29113==
==29113== Possible data race during read of size 4 at 0x16B33618 by thread #1
==29113== Locks held: 3, at addresses 0x10125500 0x10101EA0 0xE2FFBB0
==29113== at 0x16902109: pa_once_begin (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x169022A6: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x16915163: pa_thread_self (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x164B2AAC: pa_threaded_mainloop_wait (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x1624796F: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29113== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #2
==29113== Locks held: 1, at address 0x101266E0
==29113== at 0x169021C3: pa_once_end (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29113== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0x10125500 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x164B248E: pa_threaded_mainloop_new (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x16247911: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29113== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== Lock at 0x10101EA0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0xEDCEF6C: ca_mutex_new (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCDB50: ca_context_create (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7017: ca_gtk_context_get_for_screen (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xEBC7E9B: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B95863: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x6AE5680: gtk_main_iteration (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Lock at 0x101266E0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x1691487D: pa_static_mutex_get (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x1690212E: pa_once_begin (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x169022A6: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29113== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29113==
==29113== Possible data race during read of size 8 at 0x16B33620 by thread #1
==29113== Locks held: 3, at addresses 0x10125500 0x10101EA0 0xE2FFBB0
==29113== at 0x16915164: pa_thread_self (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x164B2AAC: pa_threaded_mainloop_wait (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x1624796F: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29113== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== This conflicts with a previous write of size 8 by thread #2
==29113== Locks held: 1, at address 0x101266E0
==29113== at 0x16914F90: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x169022C1: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29113== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0x10125500 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x16914042: pa_mutex_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x164B248E: pa_threaded_mainloop_new (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x16247911: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29113== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== Lock at 0x10101EA0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0xEDCEF6C: ca_mutex_new (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCDB50: ca_context_create (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7017: ca_gtk_context_get_for_screen (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xEBC7E9B: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B95863: g_main_context_iteration (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x6AE5680: gtk_main_iteration (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during read of size 4 at 0x10125940 by thread #1
==29113== Locks held: 3, at addresses 0x10125500 0x10101EA0 0xE2FFBB0
==29113== at 0x16915055: pa_tls_get (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x1691516F: pa_thread_self (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x164B2AAC: pa_threaded_mainloop_wait (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x1624796F: pulse_driver_open (in /usr/lib/libcanberra-0.28/libcanberra-pulse.so)
==29113== by 0xEDD5C05: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCD687: ??? (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEDCE266: ca_context_play_full (in /usr/lib/libcanberra.so.0.2.5)
==29113== by 0xEBC7EAE: ca_gtk_play_for_widget (in /usr/lib/libcanberra-gtk.so.0.1.8)
==29113== by 0xE9C1F59: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0xE9C2C62: ??? (in /usr/lib/gtk-2.0/modules/libcanberra-gtk-module.so)
==29113== by 0x6FFD636: ??? (in /usr/lib/libgdk-x11-2.0.so.0.2400.11)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== Address 0x10125940 is 0 bytes inside a block of size 4 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x164B7E36: pa_xmalloc (in /usr/lib/libpulse.so.0.14.3)
==29113== by 0x16914F4A: pa_tls_new (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x16914F8F: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x169022C1: pa_run_once (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x16915207: ??? (in /usr/lib/pulseaudio/libpulsecommon-2.1.so)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29113== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29113==
==29113== ---Thread-Announcement------------------------------------------
==29113==
==29113== Thread #3 was created
==29113== at 0x66F241E: clone (in /usr/lib/libc-2.16.so)
==29113== by 0x63F6FF4: do_clone.constprop.4 (in /usr/lib/libpthread-2.16.so)
==29113== by 0x63F8468: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.16.so)
==29113== by 0x4C2E9A8: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FAAB1: wxThread::Create(unsigned int) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x5BE1CE: Task::Start() (task.cpp:44)
==29113== by 0x5688BB: MainWindow::StartTask(Task&) (mainwindow.cpp:1088)
==29113== by 0x562705: MainWindow::OnStartup() (mainwindow.cpp:198)
==29113== by 0x55F3EA: MultiMC::OnInit() (multimc.cpp:89)
==29113== by 0x5607D6: wxAppConsole::CallOnInit() (app.h:76)
==29113== by 0x54AD7FA: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during read of size 4 at 0x10135F60 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x5604AE: wxStringData::IsEmpty() const (string.h:226)
==29113== by 0x5604CF: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BECAF: TaskStatusEvent::~TaskStatusEvent() (task.h:112)
==29113== by 0x54FC1F6: wxEventPtr::~wxEventPtr() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC997: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #3
==29113== Locks held: none
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29113== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29113== by 0x5CA63B: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113==
==29113== Address 0x10135F60 is 0 bytes inside a block of size 168 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29113== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5CA623: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29113== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during write of size 4 at 0x10135F60 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BECAF: TaskStatusEvent::~TaskStatusEvent() (task.h:112)
==29113== by 0x54FC1F6: wxEventPtr::~wxEventPtr() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC997: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B957A7: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #3
==29113== Locks held: none
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29113== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29113== by 0x5CA63B: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113==
==29113== Address 0x10135F60 is 0 bytes inside a block of size 168 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29113== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5CA623: CheckUpdateTask::TaskStart() (checkupdatetask.cpp:40)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x63F7E0E: start_thread (in /usr/lib/libpthread-2.16.so)
==29113== by 0x66F245C: clone (in /usr/lib/libc-2.16.so)
==29113==
==29113== ---Thread-Announcement------------------------------------------
==29113==
==29113== Thread #5 was created
==29113== at 0x66F241E: clone (in /usr/lib/libc-2.16.so)
==29113== by 0x63F6FF4: do_clone.constprop.4 (in /usr/lib/libpthread-2.16.so)
==29113== by 0x63F8468: pthread_create@@GLIBC_2.2.5 (in /usr/lib/libpthread-2.16.so)
==29113== by 0x4C2E9A8: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FAAB1: wxThread::Create(unsigned int) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x5BE1CE: Task::Start() (task.cpp:44)
==29113== by 0x568AC7: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1107)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during read of size 4 at 0xFF5ED30 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x5604AE: wxStringData::IsEmpty() const (string.h:226)
==29113== by 0x569EA9: wxStringData::Lock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x569F3F: wxStringBase::wxStringBase(wxStringBase const&) (string.h:360)
==29113== by 0x569FDA: wxString::wxString(wxString const&) (string.h:690)
==29113== by 0x5BE3AC: Task::GetStatus() const (task.cpp:95)
==29113== by 0x568B4C: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #5
==29113== Locks held: none
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29113== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29113== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113==
==29113== Address 0xFF5ED30 is 0 bytes inside a block of size 168 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29113== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during write of size 4 at 0xFF5ED30 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x569EBE: wxStringData::Lock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x569F3F: wxStringBase::wxStringBase(wxStringBase const&) (string.h:360)
==29113== by 0x569FDA: wxString::wxString(wxString const&) (string.h:690)
==29113== by 0x5BE3AC: Task::GetStatus() const (task.cpp:95)
==29113== by 0x568B4C: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #5
==29113== Locks held: none
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29113== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29113== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113==
==29113== Address 0xFF5ED30 is 0 bytes inside a block of size 168 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29113== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during read of size 4 at 0xFF5ED30 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x54C89B2: wxStringBase::operator=(wxStringBase const&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x505F85F: wxControl::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x505FDD3: wxControl::GTKSetLabelForLabel(_GtkLabel*, wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x507A342: wxStaticText::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x5116244: wxProgressDialog::UpdateMessage(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x51162C6: wxProgressDialog::Pulse(wxString const&, bool*) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x568B61: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #5
==29113== Locks held: none
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29113== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29113== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113==
==29113== Address 0xFF5ED30 is 0 bytes inside a block of size 168 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29113== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during write of size 4 at 0xFF5ED30 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x54C89F2: wxStringBase::operator=(wxStringBase const&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x505F85F: wxControl::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x505FDD3: wxControl::GTKSetLabelForLabel(_GtkLabel*, wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x507A342: wxStaticText::SetLabel(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x5116244: wxProgressDialog::UpdateMessage(wxString const&) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x51162C6: wxProgressDialog::Pulse(wxString const&, bool*) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x568B61: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #5
==29113== Locks held: none
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29113== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29113== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113==
==29113== Address 0xFF5ED30 is 0 bytes inside a block of size 168 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29113== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during write of size 4 at 0xFF5ED30 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x568B70: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1115)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #5
==29113== Locks held: none
==29113== at 0x5604E4: wxStringData::Unlock() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5605A7: wxStringBase::~wxStringBase() (string.h:396)
==29113== by 0x560621: wxString::~wxString() (string.h:659)
==29113== by 0x5BEC70: TaskStatusEvent::~TaskStatusEvent() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x5BE5F2: Task::OnStatusChanged(wxString const&) (task.cpp:137)
==29113== by 0x5BE382: Task::SetStatus(wxString, bool) (task.cpp:90)
==29113== by 0x5CBE0F: FileDownloadTask::TaskStart() (filedownloadtask.cpp:36)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113==
==29113== Address 0xFF5ED30 is 0 bytes inside a block of size 168 alloc'd
==29113== at 0x4C2C0BB: malloc (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54C7B03: wxStringBase::AllocBuffer(unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54C7BA2: wxStringBase::InitWith(wchar_t const*, unsigned long, unsigned long) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x560584: wxStringBase::wxStringBase(wchar_t const*) (string.h:368)
==29113== by 0x560606: wxString::wxString(wchar_t const*) (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x565C97: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:573)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during write of size 4 at 0x7FEFFFF38 by thread #5
==29113== Locks held: none
==29113== at 0x5BE2D6: Task::SetProgress(int, bool) (task.cpp:76)
==29113== by 0x5CBCF2: FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}::operator()(void*, unsigned long) const (filedownloadtask.cpp:67)
==29113== by 0x5CC520: std::_Function_handler<unsigned long (void*, unsigned long), FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}>::_M_invoke(std::_Any_data const&, void*, unsigned long) (functional:1912)
==29113== by 0x5D40C4: std::function<unsigned long (void*, unsigned long)>::operator()(void*, unsigned long) const (functional:2311)
==29113== by 0x5D4049: CurlLambdaCallback(void*, unsigned long, unsigned long, void*) (curlutils.cpp:28)
==29113== by 0x5C8DDC7: ??? (in /usr/lib/libcurl.so.4.2.0)
==29113== by 0x5CA5BB9: ??? (in /usr/lib/libcurl.so.4.2.0)
==29113== by 0x5CA682C: ??? (in /usr/lib/libcurl.so.4.2.0)
==29113== by 0x5CC102: FileDownloadTask::TaskStart() (filedownloadtask.cpp:72)
==29113== by 0x5BE25D: Task::Entry() (task.cpp:58)
==29113== by 0x54FB98A: wxThreadInternal::PthreadStart(wxThread*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x4C2EB4D: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113==
==29113== This conflicts with a previous read of size 4 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x5BE31C: Task::GetProgress() const (task.cpp:83)
==29113== by 0x568B0F: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1114)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Lock at 0xE2FFBB0 was first observed
==29113== at 0x4C2ED42: pthread_mutex_init (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA253: wxMutexInternal::wxMutexInternal(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FA560: wxMutex::wxMutex(wxMutexType) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FADFD: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Possible data race during read of size 4 at 0x7FEFFFF38 by thread #1
==29113== Locks held: 1, at address 0xE2FFBB0
==29113== at 0x5BE31C: Task::GetProgress() const (task.cpp:83)
==29113== by 0x568B0F: MainWindow::StartModalTask(Task&, bool) (mainwindow.cpp:1114)
==29113== by 0x565D0F: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:575)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FC98F: wxEvtHandler::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x547E288: wxAppConsole::ProcessPendingEvents() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x5085A28: wxAppBase::ProcessIdle() (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x500253C: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x7B95474: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113==
==29113== This conflicts with a previous write of size 4 by thread #5
==29113== Locks held: none
==29113== at 0x5BE2D6: Task::SetProgress(int, bool) (task.cpp:76)
==29113== by 0x5CBCF2: FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}::operator()(void*, unsigned long) const (filedownloadtask.cpp:67)
==29113== by 0x5CC520: std::_Function_handler<unsigned long (void*, unsigned long), FileDownloadTask::TaskStart()::{lambda(void*, unsigned long)#1}>::_M_invoke(std::_Any_data const&, void*, unsigned long) (functional:1912)
==29113== by 0x5D40C4: std::function<unsigned long (void*, unsigned long)>::operator()(void*, unsigned long) const (functional:2311)
==29113== by 0x5D4049: CurlLambdaCallback(void*, unsigned long, unsigned long, void*) (curlutils.cpp:28)
==29113== by 0x5C8DDC7: ??? (in /usr/lib/libcurl.so.4.2.0)
==29113== by 0x5CA5BB9: ??? (in /usr/lib/libcurl.so.4.2.0)
==29113== by 0x5CA682C: ??? (in /usr/lib/libcurl.so.4.2.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Thread #1: pthread_cond_destroy: destruction of unknown cond var
==29113== at 0x4C2D552: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FAED0: wxCondition::~wxCondition() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FB4C5: wxSemaphore::~wxSemaphore() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FB510: wxThreadInternal::~wxThreadInternal() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FB587: wxThread::~wxThread() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x5BE170: Task::~Task() (task.cpp:37)
==29113== by 0x56DCC3: FileDownloadTask::~FileDownloadTask() (in /home/peterix/projects/MultiMC4/build/MultiMC)
==29113== by 0x565D59: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:583)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCEC3: wxEvtHandler::ProcessEvent(wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Thread #1: lock order "0xE1B44E0 before 0xE2FFBB0" violated
==29113==
==29113== Observed (incorrect) order is: acquisition of lock at 0xE2FFBB0
==29113== at 0x4C2F0D6: pthread_mutex_lock (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA2C8: wxMutexInternal::Lock() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x500231A: ??? (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x7B95743: ??? (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x7B957FE: g_main_context_pending (in /usr/lib/libglib-2.0.so.0.3200.4)
==29113== by 0x6AE5648: gtk_events_pending (in /usr/lib/libgtk-x11-2.0.so.0.2400.11)
==29113== by 0x5003069: wxApp::Yield(bool) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x4FFBA34: wxSafeYield(wxWindow*, bool) (in /usr/lib/libwx_gtk2u_core-2.8.so.0.8.0)
==29113== by 0x565D27: MainWindow::DownloadInstallUpdates(wxString const&) (mainwindow.cpp:580)
==29113== by 0x565C06: MainWindow::OnCheckUpdateComplete(CheckUpdateEvent&) (mainwindow.cpp:559)
==29113== by 0x54FCA24: wxEvtHandler::ProcessEventIfMatches(wxEventTableEntryBase const&, wxEvtHandler*, wxEvent&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FCB8B: wxEventHashTable::HandleEvent(wxEvent&, wxEvtHandler*) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113==
==29113== followed by a later acquisition of lock at 0xE1B44E0
==29113== at 0x4C2F0D6: pthread_mutex_lock (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA2C8: wxMutexInternal::Lock() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD76C: wxUninitialize() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD81D: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== Required order was established by acquisition of lock at 0xE1B44E0
==29113== at 0x4C2F0D6: pthread_mutex_lock (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA2C8: wxMutexInternal::Lock() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD677: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== followed by a later acquisition of lock at 0xE2FFBB0
==29113== at 0x4C2F0D6: pthread_mutex_lock (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FA2C8: wxMutexInternal::Lock() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FAE0C: wxThreadModule::OnInit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDA34: wxModule::DoInitializeModule(wxModule*, wxModuleList&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDC5B: wxModule::InitializeModules() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD491: wxEntryStart(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD69B: wxInitialize(int, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD7BC: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113== ----------------------------------------------------------------
==29113==
==29113== Thread #1: pthread_cond_destroy: destruction of unknown cond var
==29113== at 0x4C2D552: ??? (in /usr/lib/valgrind/vgpreload_helgrind-amd64-linux.so)
==29113== by 0x54FAED0: wxCondition::~wxCondition() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54FBE14: wxThreadModule::OnExit() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54BDB9D: wxModule::DoCleanUpModules(wxModuleList const&) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD5FF: wxEntryCleanup() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD788: wxUninitialize() (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x54AD81D: wxEntry(int&, wchar_t**) (in /usr/lib/libwx_baseu-2.8.so.0.8.0)
==29113== by 0x55EDF3: main (multimc.cpp:21)
==29113==
==29113==
==29113== For counts of detected and suppressed errors, rerun with: -v
==29113== Use --history-level=approx or =none to gain increased speed, at
==29113== the cost of reduced accuracy of conflicting-access information
==29113== ERROR SUMMARY: 1436 errors from 16 contexts (suppressed: 9390 from 296)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment