Ticket #15515: tsan-touche-demo-mac-aarch64.txt

File tsan-touche-demo-mac-aarch64.txt, 47.5 KB (added by dwatteau, 4 months ago)

ThreadSanitizer (--enable-tsan) output when just starting the demo on macOS/aarch64

Line 
1User picked target 'touche-demo' (engine ID 'touche', game ID 'touche')...
2Running Touché: The Adventures of the Fifth Musketeer (Demo/DOS/English)
3touche.dat: ddaed436445b2e77294ed19e8ae4aa2c, 8720683 bytes.
4==================
5WARNING: ThreadSanitizer: data race (pid=74345)
6 Read of size 8 at 0x00010952e040 by thread T14 (mutexes: write M0, write M1):
7 #0 MidiDriver_ADLIB::onTimer() adlib.cpp:1634 (scummvm:arm64+0x100617e24)
8 #1 Common::Functor0Mem<void, MidiDriver_ADLIB>::operator()() const func.h:397 (scummvm:arm64+0x10061d9d0)
9 #2 Audio::EmulatedChip::readBuffer(short*, int) chip.cpp:127 (scummvm:arm64+0x1006268e4)
10 #3 Audio::RateConverter_Impl<false, true, false>::copyConvert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:109 (scummvm:arm64+0x10063d7f0)
11 #4 Audio::RateConverter_Impl<false, true, false>::convert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:290 (scummvm:arm64+0x10063d3d8)
12 #5 Audio::Channel::mix(short*, unsigned int) mixer.cpp:719 (scummvm:arm64+0x100633f20)
13 #6 Audio::MixerImpl::mixCallback(unsigned char*, unsigned int) mixer.cpp:331 (scummvm:arm64+0x100633b50)
14 #7 SdlMixerManager::callbackHandler(unsigned char*, int) sdl-mixer.cpp:203 (scummvm:arm64+0x100234b3c)
15 #8 SdlMixerManager::sdlCallback(void*, unsigned char*, int) sdl-mixer.cpp:210 (scummvm:arm64+0x100234a40)
16 #9 outputCallback <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xce0a0)
17
18 Previous write of size 8 at 0x00010952e040 by main thread:
19 #0 MidiDriver_ADLIB::setTimerCallback(void*, void (*)(void*)) adlib.cpp:1669 (scummvm:arm64+0x1006191e0)
20 #1 Touche::MidiPlayer::MidiPlayer() midi.cpp:50 (scummvm:arm64+0x10005910c)
21 #2 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
22 #3 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
23 #4 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
24 #5 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
25 #6 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
26 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
27 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
28
29 Location is heap block of size 7512 at 0x00010952e000 allocated by main thread:
30 #0 operator new(unsigned long) <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84210)
31 #1 AdLibEmuMusicPlugin::createInstance(MidiDriver**, unsigned int) const adlib.cpp:2319 (scummvm:arm64+0x10061c8bc)
32 #2 MidiDriver::createMidi(unsigned int) mididrv.cpp:408 (scummvm:arm64+0x10062ab2c)
33 #3 Touche::MidiPlayer::MidiPlayer() midi.cpp:47 (scummvm:arm64+0x100059078)
34 #4 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
35 #5 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
36 #6 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
37 #7 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
38 #8 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
39 #9 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
40 #10 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
41
42 Mutex M0 (0x00010770c580) created at:
43 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
44 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
45 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
46 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
47 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
48 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
49 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
50 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
51 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
52
53 Mutex M1 (0x00010772a1c0) created at:
54 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
55 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
56 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
57 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
58 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
59 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
60 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
61 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
62 #8 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632b5c)
63 #9 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632ddc)
64 #10 SdlMixerManager::init() sdl-mixer.cpp:122 (scummvm:arm64+0x100234430)
65 #11 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
66 #12 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
67 #13 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
68 #14 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
69 #15 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
70 #16 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
71 #17 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
72
73 Thread T14 (tid=3440314, running) created by main thread at:
74 #0 pthread_create <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x309d8)
75 #1 SDL_SYS_CreateThread <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb9314)
76 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
77 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
78 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
79 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
80 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
81 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
82 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
83
84SUMMARY: ThreadSanitizer: data race adlib.cpp:1634 in MidiDriver_ADLIB::onTimer()
85==================
86==================
87WARNING: ThreadSanitizer: data race (pid=74345)
88 Read of size 8 at 0x00010952e048 by thread T14 (mutexes: write M0, write M1):
89 #0 MidiDriver_ADLIB::onTimer() adlib.cpp:1635 (scummvm:arm64+0x100617e5c)
90 #1 Common::Functor0Mem<void, MidiDriver_ADLIB>::operator()() const func.h:397 (scummvm:arm64+0x10061d9d0)
91 #2 Audio::EmulatedChip::readBuffer(short*, int) chip.cpp:127 (scummvm:arm64+0x1006268e4)
92 #3 Audio::RateConverter_Impl<false, true, false>::copyConvert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:109 (scummvm:arm64+0x10063d7f0)
93 #4 Audio::RateConverter_Impl<false, true, false>::convert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:290 (scummvm:arm64+0x10063d3d8)
94 #5 Audio::Channel::mix(short*, unsigned int) mixer.cpp:719 (scummvm:arm64+0x100633f20)
95 #6 Audio::MixerImpl::mixCallback(unsigned char*, unsigned int) mixer.cpp:331 (scummvm:arm64+0x100633b50)
96 #7 SdlMixerManager::callbackHandler(unsigned char*, int) sdl-mixer.cpp:203 (scummvm:arm64+0x100234b3c)
97 #8 SdlMixerManager::sdlCallback(void*, unsigned char*, int) sdl-mixer.cpp:210 (scummvm:arm64+0x100234a40)
98 #9 outputCallback <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xce0a0)
99
100 Previous write of size 8 at 0x00010952e048 by main thread:
101 #0 MidiDriver_ADLIB::setTimerCallback(void*, void (*)(void*)) adlib.cpp:1670 (scummvm:arm64+0x1006191fc)
102 #1 Touche::MidiPlayer::MidiPlayer() midi.cpp:50 (scummvm:arm64+0x10005910c)
103 #2 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
104 #3 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
105 #4 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
106 #5 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
107 #6 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
108 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
109 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
110
111 Location is heap block of size 7512 at 0x00010952e000 allocated by main thread:
112 #0 operator new(unsigned long) <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84210)
113 #1 AdLibEmuMusicPlugin::createInstance(MidiDriver**, unsigned int) const adlib.cpp:2319 (scummvm:arm64+0x10061c8bc)
114 #2 MidiDriver::createMidi(unsigned int) mididrv.cpp:408 (scummvm:arm64+0x10062ab2c)
115 #3 Touche::MidiPlayer::MidiPlayer() midi.cpp:47 (scummvm:arm64+0x100059078)
116 #4 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
117 #5 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
118 #6 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
119 #7 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
120 #8 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
121 #9 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
122 #10 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
123
124 Mutex M0 (0x00010770c580) created at:
125 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
126 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
127 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
128 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
129 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
130 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
131 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
132 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
133 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
134
135 Mutex M1 (0x00010772a1c0) created at:
136 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
137 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
138 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
139 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
140 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
141 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
142 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
143 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
144 #8 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632b5c)
145 #9 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632ddc)
146 #10 SdlMixerManager::init() sdl-mixer.cpp:122 (scummvm:arm64+0x100234430)
147 #11 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
148 #12 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
149 #13 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
150 #14 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
151 #15 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
152 #16 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
153 #17 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
154
155 Thread T14 (tid=3440314, running) created by main thread at:
156 #0 pthread_create <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x309d8)
157 #1 SDL_SYS_CreateThread <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb9314)
158 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
159 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
160 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
161 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
162 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
163 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
164 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
165
166SUMMARY: ThreadSanitizer: data race adlib.cpp:1635 in MidiDriver_ADLIB::onTimer()
167==================
168==================
169WARNING: ThreadSanitizer: data race (pid=74345)
170 Write of size 2 at 0x000108643538 by main thread:
171 #0 Audio::Channel::updateChannelVolumes() mixer.cpp:642 (scummvm:arm64+0x100636d10)
172 #1 Audio::Channel::notifyGlobalVolChange() mixer.cpp:141 (scummvm:arm64+0x100634690)
173 #2 Audio::MixerImpl::muteSoundType(Audio::Mixer::SoundType, bool) mixer.cpp:379 (scummvm:arm64+0x1006345e4)
174 #3 Engine::defaultSyncSoundSettings() engine.cpp:862 (scummvm:arm64+0x1000abdc4)
175 #4 Engine::syncSoundSettings() engine.cpp:840 (scummvm:arm64+0x1000b1518)
176 #5 Touche::ToucheEngine::syncSoundSettings() touche.cpp:342 (scummvm:arm64+0x100071068)
177 #6 Touche::ToucheEngine::run() touche.cpp:200 (scummvm:arm64+0x10006ecbc)
178 #7 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
179 #8 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
180 #9 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
181 #10 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
182
183 Previous read of size 2 at 0x000108643538 by thread T14 (mutexes: write M0, write M1):
184 #0 Audio::Channel::mix(short*, unsigned int) mixer.cpp:719 (scummvm:arm64+0x100633ee8)
185 #1 Audio::MixerImpl::mixCallback(unsigned char*, unsigned int) mixer.cpp:331 (scummvm:arm64+0x100633b50)
186 #2 SdlMixerManager::callbackHandler(unsigned char*, int) sdl-mixer.cpp:203 (scummvm:arm64+0x100234b3c)
187 #3 SdlMixerManager::sdlCallback(void*, unsigned char*, int) sdl-mixer.cpp:210 (scummvm:arm64+0x100234a40)
188 #4 outputCallback <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xce0a0)
189
190 As if synchronized via sleep:
191 #0 nanosleep <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x2fa24)
192 #1 SDL_Delay_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xd6358)
193 #2 virtual thunk to OSystem_SDL::delayMillis(unsigned int) sdl.cpp (scummvm:arm64+0x10000a908)
194 #3 MidiDriver::sendGMReset() mididrv.cpp:465 (scummvm:arm64+0x10062ad0c)
195 #4 Touche::MidiPlayer::MidiPlayer() midi.cpp:55 (scummvm:arm64+0x10005915c)
196 #5 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
197 #6 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
198 #7 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
199 #8 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
200 #9 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
201 #10 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
202 #11 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
203
204 Location is heap block of size 112 at 0x000108643520 allocated by main thread:
205 #0 operator new(unsigned long) <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84210)
206 #1 Audio::MixerImpl::playStream(Audio::Mixer::SoundType, Audio::SoundHandle*, Audio::AudioStream*, int, unsigned char, signed char, DisposeAfterUse::Flag, bool, bool) mixer.cpp:295 (scummvm:arm64+0x100633604)
207 #2 Audio::EmulatedChip::startCallbacks(int) chip.cpp:145 (scummvm:arm64+0x100626af0)
208 #3 virtual thunk to Audio::EmulatedChip::startCallbacks(int) chip.cpp (scummvm:arm64+0x100626b58)
209 #4 Audio::Chip::start(Common::Functor0<void>*, int) chip.cpp:31 (scummvm:arm64+0x10062569c)
210 #5 OPL::OPL::start(Common::Functor0<void>*) fmopl.h:154 (scummvm:arm64+0x100617ddc)
211 #6 MidiDriver_ADLIB::open() adlib.cpp:1469 (scummvm:arm64+0x1006179c4)
212 #7 Touche::MidiPlayer::MidiPlayer() midi.cpp:48 (scummvm:arm64+0x1000590bc)
213 #8 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
214 #9 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
215 #10 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
216 #11 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
217 #12 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
218 #13 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
219 #14 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
220
221 Mutex M0 (0x00010770c580) created at:
222 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
223 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
224 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
225 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
226 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
227 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
228 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
229 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
230 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
231
232 Mutex M1 (0x00010772a1c0) created at:
233 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
234 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
235 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
236 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
237 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
238 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
239 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
240 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
241 #8 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632b5c)
242 #9 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632ddc)
243 #10 SdlMixerManager::init() sdl-mixer.cpp:122 (scummvm:arm64+0x100234430)
244 #11 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
245 #12 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
246 #13 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
247 #14 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
248 #15 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
249 #16 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
250 #17 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
251
252 Thread T14 (tid=3440314, running) created by main thread at:
253 #0 pthread_create <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x309d8)
254 #1 SDL_SYS_CreateThread <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb9314)
255 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
256 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
257 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
258 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
259 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
260 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
261 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
262
263SUMMARY: ThreadSanitizer: data race mixer.cpp:642 in Audio::Channel::updateChannelVolumes()
264==================
265==================
266WARNING: ThreadSanitizer: data race (pid=74345)
267 Read of size 2 at 0x000108643536 by thread T14 (mutexes: write M0, write M1):
268 #0 Audio::Channel::mix(short*, unsigned int) mixer.cpp:719 (scummvm:arm64+0x100633ed4)
269 #1 Audio::MixerImpl::mixCallback(unsigned char*, unsigned int) mixer.cpp:331 (scummvm:arm64+0x100633b50)
270 #2 SdlMixerManager::callbackHandler(unsigned char*, int) sdl-mixer.cpp:203 (scummvm:arm64+0x100234b3c)
271 #3 SdlMixerManager::sdlCallback(void*, unsigned char*, int) sdl-mixer.cpp:210 (scummvm:arm64+0x100234a40)
272 #4 outputCallback <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xce0a0)
273
274 Previous write of size 2 at 0x000108643536 by main thread:
275 #0 Audio::Channel::updateChannelVolumes() mixer.cpp:641 (scummvm:arm64+0x100636cec)
276 #1 Audio::Channel::notifyGlobalVolChange() mixer.cpp:141 (scummvm:arm64+0x100634690)
277 #2 Audio::MixerImpl::muteSoundType(Audio::Mixer::SoundType, bool) mixer.cpp:379 (scummvm:arm64+0x1006345e4)
278 #3 Engine::defaultSyncSoundSettings() engine.cpp:862 (scummvm:arm64+0x1000abdc4)
279 #4 Engine::syncSoundSettings() engine.cpp:840 (scummvm:arm64+0x1000b1518)
280 #5 Touche::ToucheEngine::syncSoundSettings() touche.cpp:342 (scummvm:arm64+0x100071068)
281 #6 Touche::ToucheEngine::run() touche.cpp:200 (scummvm:arm64+0x10006ecbc)
282 #7 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
283 #8 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
284 #9 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
285 #10 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
286
287 Location is heap block of size 112 at 0x000108643520 allocated by main thread:
288 #0 operator new(unsigned long) <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84210)
289 #1 Audio::MixerImpl::playStream(Audio::Mixer::SoundType, Audio::SoundHandle*, Audio::AudioStream*, int, unsigned char, signed char, DisposeAfterUse::Flag, bool, bool) mixer.cpp:295 (scummvm:arm64+0x100633604)
290 #2 Audio::EmulatedChip::startCallbacks(int) chip.cpp:145 (scummvm:arm64+0x100626af0)
291 #3 virtual thunk to Audio::EmulatedChip::startCallbacks(int) chip.cpp (scummvm:arm64+0x100626b58)
292 #4 Audio::Chip::start(Common::Functor0<void>*, int) chip.cpp:31 (scummvm:arm64+0x10062569c)
293 #5 OPL::OPL::start(Common::Functor0<void>*) fmopl.h:154 (scummvm:arm64+0x100617ddc)
294 #6 MidiDriver_ADLIB::open() adlib.cpp:1469 (scummvm:arm64+0x1006179c4)
295 #7 Touche::MidiPlayer::MidiPlayer() midi.cpp:48 (scummvm:arm64+0x1000590bc)
296 #8 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
297 #9 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
298 #10 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
299 #11 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
300 #12 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
301 #13 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
302 #14 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
303
304 Mutex M0 (0x00010770c580) created at:
305 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
306 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
307 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
308 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
309 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
310 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
311 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
312 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
313 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
314
315 Mutex M1 (0x00010772a1c0) created at:
316 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
317 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
318 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
319 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
320 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
321 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
322 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
323 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
324 #8 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632b5c)
325 #9 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632ddc)
326 #10 SdlMixerManager::init() sdl-mixer.cpp:122 (scummvm:arm64+0x100234430)
327 #11 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
328 #12 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
329 #13 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
330 #14 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
331 #15 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
332 #16 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
333 #17 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
334
335 Thread T14 (tid=3440314, running) created by main thread at:
336 #0 pthread_create <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x309d8)
337 #1 SDL_SYS_CreateThread <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb9314)
338 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
339 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
340 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
341 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
342 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
343 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
344 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
345
346SUMMARY: ThreadSanitizer: data race mixer.cpp:719 in Audio::Channel::mix(short*, unsigned int)
347==================
348==================
349WARNING: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) (pid=74345)
350 Write of size 8 at 0x0001079638e0 by main thread:
351 #0 StdioStream::~StdioStream() stdiostream.cpp:51 (scummvm:arm64+0x1001b9b28)
352 #1 PosixIoStream::~PosixIoStream() posix-iostream.h:30 (scummvm:arm64+0x10024a820)
353 #2 PosixIoStream::~PosixIoStream() posix-iostream.h:30 (scummvm:arm64+0x10024a6d0)
354 #3 PosixIoStream::~PosixIoStream() posix-iostream.h:30 (scummvm:arm64+0x10024a730)
355 #4 Common::File::close() file.cpp:102 (scummvm:arm64+0x1006b6acc)
356 #5 Touche::ToucheEngine::res_closeDataFile() resource.cpp:86 (scummvm:arm64+0x10005f718)
357 #6 Touche::ToucheEngine::run() touche.cpp:212 (scummvm:arm64+0x10006edfc)
358 #7 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
359 #8 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
360 #9 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
361 #10 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
362
363 Previous read of size 8 at 0x0001079638e0 by thread T14 (mutexes: write M0, write M1):
364 #0 Common::File::eos() const file.cpp:122 (scummvm:arm64+0x1006b6e40)
365 #1 Audio::VocStream::fillBuffer(int) voc.cpp:173 (scummvm:arm64+0x100668d48)
366 #2 Audio::VocStream::readBuffer(short*, int) voc.cpp:91 (scummvm:arm64+0x100668a34)
367 #3 Audio::RateConverter_Impl<false, true, false>::interpolateConvert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:218 (scummvm:arm64+0x10063de1c)
368 #4 Audio::RateConverter_Impl<false, true, false>::convert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:295 (scummvm:arm64+0x10063d48c)
369 #5 Audio::Channel::mix(short*, unsigned int) mixer.cpp:719 (scummvm:arm64+0x100633f20)
370 #6 Audio::MixerImpl::mixCallback(unsigned char*, unsigned int) mixer.cpp:331 (scummvm:arm64+0x100633b50)
371 #7 SdlMixerManager::callbackHandler(unsigned char*, int) sdl-mixer.cpp:203 (scummvm:arm64+0x100234b3c)
372 #8 SdlMixerManager::sdlCallback(void*, unsigned char*, int) sdl-mixer.cpp:210 (scummvm:arm64+0x100234a40)
373 #9 outputCallback <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xce0a0)
374
375 Location is heap block of size 32 at 0x0001079638e0 allocated by main thread:
376 #0 operator new(unsigned long) <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84210)
377 #1 PosixIoStream::makeFromPath(Common::String const&, StdioStream::WriteMode)::'lambda'(void*)::operator()(void*) const posix-iostream.h:34 (scummvm:arm64+0x1002498a0)
378 #2 PosixIoStream::makeFromPath(Common::String const&, StdioStream::WriteMode)::'lambda'(void*)::__invoke(void*) posix-iostream.h:33 (scummvm:arm64+0x10024984c)
379 #3 StdioStream::makeFromPathHelper(Common::String const&, StdioStream::WriteMode, StdioStream* (*)(void*)) stdiostream.cpp:198 (scummvm:arm64+0x1001baa68)
380 #4 PosixIoStream::makeFromPath(Common::String const&, StdioStream::WriteMode) posix-iostream.h:33 (scummvm:arm64+0x100248db8)
381 #5 POSIXFilesystemNode::createReadStream() posix-fs.cpp:269 (scummvm:arm64+0x100248d14)
382 #6 Common::FSNode::createReadStream() const fs.cpp:248 (scummvm:arm64+0x1006b880c)
383 #7 Common::FSDirectory::createReadStreamForMember(Common::Path const&) const fs.cpp:386 (scummvm:arm64+0x1006bbd28)
384 #8 Common::SearchSet::createReadStreamForMember(Common::Path const&) const archive.cpp:515 (scummvm:arm64+0x1006a15d0)
385 #9 Common::File::open(Common::Path const&, Common::Archive&) file.cpp:50 (scummvm:arm64+0x1006b6418)
386 #10 Common::File::open(Common::Path const&) file.cpp:41 (scummvm:arm64+0x1006b62f8)
387 #11 Touche::ToucheEngine::res_loadSpeech(int) resource.cpp:625 (scummvm:arm64+0x10006497c)
388 #12 Touche::ToucheEngine::op_loadSpeechSegment() opcodes.cpp:1017 (scummvm:arm64+0x10005eda8)
389 #13 Touche::ToucheEngine::executeScriptOpcode(short) touche.cpp:712 (scummvm:arm64+0x100076840)
390 #14 Touche::ToucheEngine::runCurrentKeyCharScript(int) touche.cpp:690 (scummvm:arm64+0x100075ef4)
391 #15 Touche::ToucheEngine::setupNewEpisode() touche.cpp:606 (scummvm:arm64+0x100072ef0)
392 #16 Touche::ToucheEngine::runCycle() touche.cpp:484 (scummvm:arm64+0x1000716e0)
393 #17 Touche::ToucheEngine::mainLoop() touche.cpp:376 (scummvm:arm64+0x10006f2fc)
394 #18 Touche::ToucheEngine::run() touche.cpp:209 (scummvm:arm64+0x10006edec)
395 #19 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
396 #20 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
397 #21 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
398 #22 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
399
400 Mutex M0 (0x00010770c580) created at:
401 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
402 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
403 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
404 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
405 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
406 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
407 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
408 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
409 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
410
411 Mutex M1 (0x00010772a1c0) created at:
412 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
413 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
414 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
415 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
416 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
417 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
418 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
419 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
420 #8 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632b5c)
421 #9 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632ddc)
422 #10 SdlMixerManager::init() sdl-mixer.cpp:122 (scummvm:arm64+0x100234430)
423 #11 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
424 #12 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
425 #13 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
426 #14 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
427 #15 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
428 #16 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
429 #17 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
430
431 Thread T14 (tid=3440314, running) created by main thread at:
432 #0 pthread_create <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x309d8)
433 #1 SDL_SYS_CreateThread <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb9314)
434 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
435 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
436 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
437 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
438 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
439 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
440 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
441
442SUMMARY: ThreadSanitizer: data race on vptr (ctor/dtor vs virtual call) stdiostream.cpp:51 in StdioStream::~StdioStream()
443==================
444==================
445WARNING: ThreadSanitizer: data race (pid=74345)
446 Read of size 8 at 0x00010952e088 by thread T14 (mutexes: write M0, write M1):
447 #0 MidiDriver_ADLIB::onTimer() adlib.cpp:1649 (scummvm:arm64+0x100617f64)
448 #1 Common::Functor0Mem<void, MidiDriver_ADLIB>::operator()() const func.h:397 (scummvm:arm64+0x10061d9d0)
449 #2 Audio::EmulatedChip::readBuffer(short*, int) chip.cpp:127 (scummvm:arm64+0x1006268e4)
450 #3 Audio::RateConverter_Impl<false, true, false>::copyConvert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:109 (scummvm:arm64+0x10063d7f0)
451 #4 Audio::RateConverter_Impl<false, true, false>::convert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:290 (scummvm:arm64+0x10063d3d8)
452 #5 Audio::Channel::mix(short*, unsigned int) mixer.cpp:719 (scummvm:arm64+0x100633f20)
453 #6 Audio::MixerImpl::mixCallback(unsigned char*, unsigned int) mixer.cpp:331 (scummvm:arm64+0x100633b50)
454 #7 SdlMixerManager::callbackHandler(unsigned char*, int) sdl-mixer.cpp:203 (scummvm:arm64+0x100234b3c)
455 #8 SdlMixerManager::sdlCallback(void*, unsigned char*, int) sdl-mixer.cpp:210 (scummvm:arm64+0x100234a40)
456 #9 outputCallback <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xce0a0)
457
458 Previous write of size 8 at 0x00010952e088 by main thread (mutexes: write M2):
459 #0 MidiDriver_ADLIB::mcOff(AdLibVoice*) adlib.cpp:1686 (scummvm:arm64+0x1006164a4)
460 #1 MidiDriver_ADLIB::partKeyOff(AdLibPart*, unsigned char) adlib.cpp:1951 (scummvm:arm64+0x1006143cc)
461 #2 AdLibPart::noteOff(unsigned char) adlib.cpp:1044 (scummvm:arm64+0x1006142c8)
462 #3 MidiDriver_ADLIB::send(signed char, unsigned int) adlib.cpp:1515 (scummvm:arm64+0x1006184f0)
463 #4 AdLibPart::send(unsigned int) adlib.cpp:1037 (scummvm:arm64+0x100614264)
464 #5 Audio::MidiPlayer::sendToChannel(unsigned char, unsigned int) midiplayer.cpp:121 (scummvm:arm64+0x100632590)
465 #6 Audio::MidiPlayer::send(unsigned int) midiplayer.cpp:110 (scummvm:arm64+0x1006323e8)
466 #7 Touche::MidiPlayer::send(unsigned int) midi.cpp:104 (scummvm:arm64+0x10005986c)
467 #8 MidiParser::sendToDriver(unsigned int) midiparser.cpp:89 (scummvm:arm64+0x10062ea48)
468 #9 MidiParser::sendToDriver(unsigned char, unsigned char, unsigned char) midiparser.h:352 (scummvm:arm64+0x10062f3f4)
469 #10 MidiParser::allNotesOff() midiparser.cpp:337 (scummvm:arm64+0x100630a68)
470 #11 MidiParser::stopPlaying() midiparser.cpp:402 (scummvm:arm64+0x10063093c)
471 #12 MidiParser::unloadMusic() midiparser.cpp:537 (scummvm:arm64+0x1006316a0)
472 #13 Audio::MidiPlayer::stop() midiplayer.cpp:166 (scummvm:arm64+0x100632920)
473 #14 Touche::ToucheEngine::stopMusic() touche.cpp:3463 (scummvm:arm64+0x10006e8b0)
474 #15 Touche::ToucheEngine::~ToucheEngine() touche.cpp:186 (scummvm:arm64+0x10006e6c8)
475 #16 Touche::ToucheEngine::~ToucheEngine() touche.cpp:185 (scummvm:arm64+0x10006ebd4)
476 #17 Touche::ToucheEngine::~ToucheEngine() touche.cpp:185 (scummvm:arm64+0x10006ec1c)
477 #18 AdvancedMetaEngine<ADGameDescription>::deleteInstance(Engine*, DetectedGame const&, void const*) advancedDetector.h:722 (scummvm:arm64+0x100057adc)
478 #19 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:324 (scummvm:arm64+0x1000217f0)
479 #20 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
480 #21 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
481 #22 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
482
483 Location is heap block of size 7512 at 0x00010952e000 allocated by main thread:
484 #0 operator new(unsigned long) <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84210)
485 #1 AdLibEmuMusicPlugin::createInstance(MidiDriver**, unsigned int) const adlib.cpp:2319 (scummvm:arm64+0x10061c8bc)
486 #2 MidiDriver::createMidi(unsigned int) mididrv.cpp:408 (scummvm:arm64+0x10062ab2c)
487 #3 Touche::MidiPlayer::MidiPlayer() midi.cpp:47 (scummvm:arm64+0x100059078)
488 #4 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
489 #5 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
490 #6 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
491 #7 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
492 #8 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
493 #9 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
494 #10 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
495
496 Mutex M0 (0x00010770c580) created at:
497 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
498 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
499 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
500 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
501 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
502 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
503 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
504 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
505 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
506
507 Mutex M1 (0x00010772a1c0) created at:
508 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
509 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
510 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
511 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
512 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
513 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
514 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
515 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
516 #8 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632b5c)
517 #9 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632ddc)
518 #10 SdlMixerManager::init() sdl-mixer.cpp:122 (scummvm:arm64+0x100234430)
519 #11 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
520 #12 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
521 #13 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
522 #14 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
523 #15 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
524 #16 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
525 #17 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
526
527 Mutex M2 (0x0001077328c0) created at:
528 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
529 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
530 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
531 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
532 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
533 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
534 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
535 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
536 #8 Audio::MidiPlayer::MidiPlayer() midiplayer.cpp:29 (scummvm:arm64+0x100631a0c)
537 #9 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x100058f44)
538 #10 Touche::MidiPlayer::MidiPlayer() midi.cpp:43 (scummvm:arm64+0x1000591dc)
539 #11 Touche::ToucheEngine::initMusic() touche.cpp:3433 (scummvm:arm64+0x10006ef74)
540 #12 Touche::ToucheEngine::run() touche.cpp:197 (scummvm:arm64+0x10006eca4)
541 #13 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
542 #14 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
543 #15 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
544 #16 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
545
546 Thread T14 (tid=3440314, running) created by main thread at:
547 #0 pthread_create <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x309d8)
548 #1 SDL_SYS_CreateThread <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb9314)
549 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
550 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
551 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
552 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
553 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
554 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
555 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
556
557SUMMARY: ThreadSanitizer: data race adlib.cpp:1649 in MidiDriver_ADLIB::onTimer()
558==================
559==================
560WARNING: ThreadSanitizer: data race (pid=74345)
561 Read of size 8 at 0x00011a32f268 by thread T14 (mutexes: write M0, write M1):
562 #0 Common::File::read(void*, unsigned int) file.cpp:141 (scummvm:arm64+0x1006b7194)
563 #1 Audio::VocStream::fillBuffer(int) voc.cpp:160 (scummvm:arm64+0x100668c58)
564 #2 Audio::VocStream::readBuffer(short*, int) voc.cpp:91 (scummvm:arm64+0x100668a34)
565 #3 Audio::RateConverter_Impl<false, true, false>::interpolateConvert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:218 (scummvm:arm64+0x10063de1c)
566 #4 Audio::RateConverter_Impl<false, true, false>::convert(Audio::AudioStream&, short*, unsigned int, unsigned short, unsigned short) rate.cpp:295 (scummvm:arm64+0x10063d48c)
567 #5 Audio::Channel::mix(short*, unsigned int) mixer.cpp:719 (scummvm:arm64+0x100633f20)
568 #6 Audio::MixerImpl::mixCallback(unsigned char*, unsigned int) mixer.cpp:331 (scummvm:arm64+0x100633b50)
569 #7 SdlMixerManager::callbackHandler(unsigned char*, int) sdl-mixer.cpp:203 (scummvm:arm64+0x100234b3c)
570 #8 SdlMixerManager::sdlCallback(void*, unsigned char*, int) sdl-mixer.cpp:210 (scummvm:arm64+0x100234a40)
571 #9 outputCallback <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xce0a0)
572
573 Previous write of size 8 at 0x00011a32f268 by main thread:
574 #0 Common::File::close() file.cpp:103 (scummvm:arm64+0x1006b6adc)
575 #1 Touche::ToucheEngine::res_closeDataFile() resource.cpp:86 (scummvm:arm64+0x10005f718)
576 #2 Touche::ToucheEngine::run() touche.cpp:212 (scummvm:arm64+0x10006edfc)
577 #3 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:311 (scummvm:arm64+0x1000216e8)
578 #4 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
579 #5 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
580 #6 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
581
582 Location is heap block of size 22776 at 0x00011a32a000 allocated by main thread:
583 #0 operator new(unsigned long) <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x84210)
584 #1 ToucheMetaEngine::createInstance(OSystem*, Engine**, ADGameDescription const*) const metaengine.cpp:72 (scummvm:arm64+0x1000565e8)
585 #2 AdvancedMetaEngine<ADGameDescription>::createInstance(OSystem*, Engine**, void const*) const advancedDetector.h:718 (scummvm:arm64+0x100057c98)
586 #3 AdvancedMetaEngineBase::createInstance(OSystem*, Engine**, DetectedGame const&, void const*) advancedDetector.cpp:1180 (scummvm:arm64+0x100097ba0)
587 #4 runGame(Plugin const*, OSystem&, DetectedGame const&, void const*) main.cpp:217 (scummvm:arm64+0x100021044)
588 #5 scummvm_main main.cpp:796 (scummvm:arm64+0x10001ec30)
589 #6 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
590 #7 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
591
592 Mutex M0 (0x00010770c580) created at:
593 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
594 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
595 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
596 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
597 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
598 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
599 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
600 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
601 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
602
603 Mutex M1 (0x00010772a1c0) created at:
604 #0 pthread_mutex_init <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x3181c)
605 #1 SDL_CreateMutex_REAL <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb98cc)
606 #2 SdlMutexInternal::SdlMutexInternal() sdl-mutex.cpp:34 (scummvm:arm64+0x1002353a8)
607 #3 createSdlMutexInternal() sdl-mutex.cpp:45 (scummvm:arm64+0x100235360)
608 #4 OSystem_SDL::createMutex() sdl.cpp:749 (scummvm:arm64+0x10000a708)
609 #5 virtual thunk to OSystem_SDL::createMutex() sdl.cpp (scummvm:arm64+0x10000a76c)
610 #6 Common::Mutex::Mutex() mutex.cpp:30 (scummvm:arm64+0x1006d1ba4)
611 #7 Common::Mutex::Mutex() mutex.cpp:28 (scummvm:arm64+0x1006d1c10)
612 #8 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632b5c)
613 #9 Audio::MixerImpl::MixerImpl(unsigned int, bool, unsigned int) mixer.cpp:200 (scummvm:arm64+0x100632ddc)
614 #10 SdlMixerManager::init() sdl-mixer.cpp:122 (scummvm:arm64+0x100234430)
615 #11 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
616 #12 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
617 #13 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
618 #14 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
619 #15 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
620 #16 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
621 #17 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
622
623 Thread T14 (tid=3440314, running) created by main thread at:
624 #0 pthread_create <null>:110107680 (libclang_rt.tsan_osx_dynamic.dylib:arm64e+0x309d8)
625 #1 SDL_SYS_CreateThread <null>:106956544 (libSDL2-2.0.0.dylib:arm64+0xb9314)
626 #2 OSystem_SDL::initBackend() sdl.cpp:331 (scummvm:arm64+0x1000077a0)
627 #3 OSystem_POSIX::initBackend() posix.cpp:92 (scummvm:arm64+0x1000126cc)
628 #4 OSystem_MacOSX::initBackend() macosx.cpp:121 (scummvm:arm64+0x100015834)
629 #5 virtual thunk to OSystem_MacOSX::initBackend() macosx.cpp (scummvm:arm64+0x10001588c)
630 #6 scummvm_main main.cpp:554 (scummvm:arm64+0x10001e498)
631 #7 scummvm_main main.cpp:399 (scummvm:arm64+0x10001d30c)
632 #8 start <null>:63964016 (dyld:arm64e+0xfffffffffff4d150)
633
634SUMMARY: ThreadSanitizer: data race file.cpp:141 in Common::File::read(void*, unsigned int)
635==================
636Assertion failed: (_handle), function read, file file.cpp, line 141.
637Abort trap: 6