fix: use atomic loads for clip state and buffer_size in engine_process_commands
Co-authored-by: aider (deepseek/deepseek-coder) <aider@aider.chat>
This commit is contained in:
8
engine.c
8
engine.c
@@ -473,8 +473,8 @@ void engine_process_commands(Engine *engine) {
|
||||
action.type = ACTION_TRIGGER_CLIP;
|
||||
action.index = cmd.index;
|
||||
action.value = 0;
|
||||
action.previous_state = clip->state;
|
||||
action.previous_buffer_size = clip->buffer_size;
|
||||
action.previous_state = (ClipState)atomic_load(&clip->state);
|
||||
action.previous_buffer_size = (size_t)atomic_load(&clip->buffer_size);
|
||||
action.previous_write_position = clip->write_position;
|
||||
action.previous_read_position = clip->read_position;
|
||||
engine_push_undo_action(engine, &action);
|
||||
@@ -566,8 +566,8 @@ void engine_process_commands(Engine *engine) {
|
||||
action.type = ACTION_RESET_CLIP;
|
||||
action.index = cmd.index;
|
||||
action.value = 0;
|
||||
action.previous_state = clip->state;
|
||||
action.previous_buffer_size = clip->buffer_size;
|
||||
action.previous_state = (ClipState)atomic_load(&clip->state);
|
||||
action.previous_buffer_size = (size_t)atomic_load(&clip->buffer_size);
|
||||
action.previous_write_position = clip->write_position;
|
||||
action.previous_read_position = clip->read_position;
|
||||
engine_push_undo_action(engine, &action);
|
||||
|
||||
47
err.log
Normal file
47
err.log
Normal file
@@ -0,0 +1,47 @@
|
||||
JACK Looper started
|
||||
Client name: jack-looper
|
||||
Control channel: 0
|
||||
Sample rate: 48000 Hz
|
||||
Press Ctrl+C to stop
|
||||
|
||||
[?1049h[1;24r(B[m[4l[?7h[?1h[?25l[?1000h[39;49m[39;49m[37m[40m[1;1H [2;1H [3;1H [4;1H [5;1H [6;1H [7;1H [8;1H [9;1H [10;1H [11;1H [12;1H [13;1H [14;1H [15;1H [16;1H [17;1H [18;1H [19;1H [20;1H [21;1H [22;1H [23;1H [24;1H [?7l [?7h[H(B[0;1m[39;49m[37m[40mJACK Looper - 8x8 Clip Grid[2;2H(B[0m[30m[46m [3;2H 0 [37m[40m 1 2 3 4 5 6 7[4;2H[30m[46m [6;4H[37m[40m8 9 10 11 12 13 14 15[9;3H16 17 18 19 20 21 22 23[12;3H24 25 26 27 28 29 30 31[15;3H32 33 34 35 36 37 38 39[18;3H40 41 42 43 44 45 46 47[21;3H48 49 50 51 52 53 54 55[24;3H56 57 58 59 60 61 62 63 (B[m[39;49m[37m[40m[?1000l[?12h[?25h[39;49m
|
||||
[K[24;1H[?1049l
|
||||
[?1l==================
|
||||
WARNING: ThreadSanitizer: data race (pid=925560)
|
||||
Write of size 1 at 0x55e2d55c4e20 by main thread:
|
||||
#0 engine_stop_save_load_thread /home/jt/code/wheelie/engine.c:400 (jack-looper+0x4d6a) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
#1 engine_stop /home/jt/code/wheelie/engine.c:1115 (jack-looper+0x9883) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
#2 main /home/jt/code/wheelie/main.c:108 (jack-looper+0x2b6c) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
|
||||
Previous read of size 1 at 0x55e2d55c4e20 by thread T5:
|
||||
#0 save_load_thread_func /home/jt/code/wheelie/engine.c:303 (jack-looper+0x4c43) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
#1 <null> <null> (libtsan.so.2+0x541b9) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
|
||||
Location is global 'engine' of size 39432 at 0x55e2d55bb420 (jack-looper+0x24e20)
|
||||
|
||||
Thread T5 (tid=925567, running) created by main thread at:
|
||||
#0 pthread_create <null> (libtsan.so.2+0x5fb47) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 engine_start_save_load_thread /home/jt/code/wheelie/engine.c:388 (jack-looper+0x4cff) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
#2 engine_start /home/jt/code/wheelie/engine.c:1101 (jack-looper+0x979f) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
#3 main /home/jt/code/wheelie/main.c:79 (jack-looper+0x2a25) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
|
||||
SUMMARY: ThreadSanitizer: data race /home/jt/code/wheelie/engine.c:400 in engine_stop_save_load_thread
|
||||
==================
|
||||
==================
|
||||
WARNING: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (pid=925560)
|
||||
#0 pthread_mutex_unlock <null> (libtsan.so.2+0x5c2ec) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0xd250) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
|
||||
Location is heap block of size 1512 at 0x726800001200 allocated by main thread:
|
||||
#0 calloc <null> (libtsan.so.2+0x9126c) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0x6bbef) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x2999) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
|
||||
Mutex M0 (0x726800001710) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libspa-support.so+0x8bd0) (BuildId: 24a3df4fe9996f17f516f9dca3d5b18bfce2133f)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x2999) (BuildId: 1db9d60d6df5722c162e756ee0458e30040c8571)
|
||||
|
||||
SUMMARY: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (/usr/lib/libpipewire-0.3.so.0+0xd250) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
==================
|
||||
|
||||
BIN
jack-looper
BIN
jack-looper
Binary file not shown.
BIN
samples/clip_0.wav
Normal file
BIN
samples/clip_0.wav
Normal file
Binary file not shown.
BIN
samples/clip_1.wav
Normal file
BIN
samples/clip_1.wav
Normal file
Binary file not shown.
BIN
samples/clip_10.wav
Normal file
BIN
samples/clip_10.wav
Normal file
Binary file not shown.
BIN
samples/clip_12.wav
Normal file
BIN
samples/clip_12.wav
Normal file
Binary file not shown.
BIN
samples/clip_13.wav
Normal file
BIN
samples/clip_13.wav
Normal file
Binary file not shown.
BIN
samples/clip_14.wav
Normal file
BIN
samples/clip_14.wav
Normal file
Binary file not shown.
BIN
samples/clip_15.wav
Normal file
BIN
samples/clip_15.wav
Normal file
Binary file not shown.
BIN
samples/clip_16.wav
Normal file
BIN
samples/clip_16.wav
Normal file
Binary file not shown.
BIN
samples/clip_17.wav
Normal file
BIN
samples/clip_17.wav
Normal file
Binary file not shown.
BIN
samples/clip_18.wav
Normal file
BIN
samples/clip_18.wav
Normal file
Binary file not shown.
BIN
samples/clip_19.wav
Normal file
BIN
samples/clip_19.wav
Normal file
Binary file not shown.
BIN
samples/clip_2.wav
Normal file
BIN
samples/clip_2.wav
Normal file
Binary file not shown.
BIN
samples/clip_20.wav
Normal file
BIN
samples/clip_20.wav
Normal file
Binary file not shown.
BIN
samples/clip_21.wav
Normal file
BIN
samples/clip_21.wav
Normal file
Binary file not shown.
BIN
samples/clip_22.wav
Normal file
BIN
samples/clip_22.wav
Normal file
Binary file not shown.
BIN
samples/clip_23.wav
Normal file
BIN
samples/clip_23.wav
Normal file
Binary file not shown.
BIN
samples/clip_27.wav
Normal file
BIN
samples/clip_27.wav
Normal file
Binary file not shown.
BIN
samples/clip_28.wav
Normal file
BIN
samples/clip_28.wav
Normal file
Binary file not shown.
BIN
samples/clip_29.wav
Normal file
BIN
samples/clip_29.wav
Normal file
Binary file not shown.
BIN
samples/clip_3.wav
Normal file
BIN
samples/clip_3.wav
Normal file
Binary file not shown.
BIN
samples/clip_32.wav
Normal file
BIN
samples/clip_32.wav
Normal file
Binary file not shown.
BIN
samples/clip_33.wav
Normal file
BIN
samples/clip_33.wav
Normal file
Binary file not shown.
BIN
samples/clip_35.wav
Normal file
BIN
samples/clip_35.wav
Normal file
Binary file not shown.
BIN
samples/clip_36.wav
Normal file
BIN
samples/clip_36.wav
Normal file
Binary file not shown.
BIN
samples/clip_37.wav
Normal file
BIN
samples/clip_37.wav
Normal file
Binary file not shown.
BIN
samples/clip_4.wav
Normal file
BIN
samples/clip_4.wav
Normal file
Binary file not shown.
BIN
samples/clip_40.wav
Normal file
BIN
samples/clip_40.wav
Normal file
Binary file not shown.
BIN
samples/clip_41.wav
Normal file
BIN
samples/clip_41.wav
Normal file
Binary file not shown.
BIN
samples/clip_42.wav
Normal file
BIN
samples/clip_42.wav
Normal file
Binary file not shown.
BIN
samples/clip_45.wav
Normal file
BIN
samples/clip_45.wav
Normal file
Binary file not shown.
BIN
samples/clip_46.wav
Normal file
BIN
samples/clip_46.wav
Normal file
Binary file not shown.
BIN
samples/clip_5.wav
Normal file
BIN
samples/clip_5.wav
Normal file
Binary file not shown.
BIN
samples/clip_52.wav
Normal file
BIN
samples/clip_52.wav
Normal file
Binary file not shown.
BIN
samples/clip_53.wav
Normal file
BIN
samples/clip_53.wav
Normal file
Binary file not shown.
BIN
samples/clip_54.wav
Normal file
BIN
samples/clip_54.wav
Normal file
Binary file not shown.
BIN
samples/clip_55.wav
Normal file
BIN
samples/clip_55.wav
Normal file
Binary file not shown.
BIN
samples/clip_56.wav
Normal file
BIN
samples/clip_56.wav
Normal file
Binary file not shown.
BIN
samples/clip_61.wav
Normal file
BIN
samples/clip_61.wav
Normal file
Binary file not shown.
BIN
samples/clip_62.wav
Normal file
BIN
samples/clip_62.wav
Normal file
Binary file not shown.
BIN
samples/clip_63.wav
Normal file
BIN
samples/clip_63.wav
Normal file
Binary file not shown.
BIN
samples/clip_7.wav
Normal file
BIN
samples/clip_7.wav
Normal file
Binary file not shown.
BIN
samples/clip_8.wav
Normal file
BIN
samples/clip_8.wav
Normal file
Binary file not shown.
BIN
samples/clip_9.wav
Normal file
BIN
samples/clip_9.wav
Normal file
Binary file not shown.
BIN
test_cli.o
BIN
test_cli.o
Binary file not shown.
BIN
test_double_process
Executable file
BIN
test_double_process
Executable file
Binary file not shown.
BIN
test_double_process.o
Normal file
BIN
test_double_process.o
Normal file
Binary file not shown.
BIN
test_engine
BIN
test_engine
Binary file not shown.
BIN
test_engine.o
BIN
test_engine.o
Binary file not shown.
BIN
test_gui.o
BIN
test_gui.o
Binary file not shown.
BIN
test_stress
BIN
test_stress
Binary file not shown.
BIN
test_stress.o
BIN
test_stress.o
Binary file not shown.
BIN
test_tui.o
BIN
test_tui.o
Binary file not shown.
BIN
transport.o
Normal file
BIN
transport.o
Normal file
Binary file not shown.
82
tsan_report.log
Normal file
82
tsan_report.log
Normal file
@@ -0,0 +1,82 @@
|
||||
==================
|
||||
WARNING: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (pid=928821)
|
||||
#0 pthread_mutex_unlock <null> (libtsan.so.2+0x5c2ec) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0xd250) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
|
||||
Location is heap block of size 1512 at 0x726800001200 allocated by main thread:
|
||||
#0 calloc <null> (libtsan.so.2+0x9126c) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0x6bbef) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Mutex M0 (0x726800001710) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libspa-support.so+0x8bd0) (BuildId: 24a3df4fe9996f17f516f9dca3d5b18bfce2133f)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
SUMMARY: ThreadSanitizer: unlock of an unlocked mutex (or by a wrong thread) (/usr/lib/libpipewire-0.3.so.0+0xd250) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
==================
|
||||
==================
|
||||
WARNING: ThreadSanitizer: data race (pid=928821)
|
||||
Read of size 8 at 0x5598ba988108 by thread T4 (mutexes: write M0, write M1):
|
||||
#0 engine_process_commands /home/jt/code/wheelie/engine.c:453 (jack-looper+0x64b4) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 process_callback /home/jt/code/wheelie/engine.c:24 (jack-looper+0x3c4f) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 <null> <null> (libjack.so.0+0x1fc6a) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
|
||||
Previous write of size 4 at 0x5598ba988108 by main thread:
|
||||
#0 engine_submit_command /home/jt/code/wheelie/engine.c:429 (jack-looper+0x62ad) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 engine_transport_toggle_play /home/jt/code/wheelie/engine.c:1176 (jack-looper+0xb9dd) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 tui_run /home/jt/code/wheelie/tui.c:694 (jack-looper+0xe81e) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#3 main /home/jt/code/wheelie/main.c:95 (jack-looper+0x3b86) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Location is global 'engine' of size 39432 at 0x5598ba987440 (jack-looper+0x21108)
|
||||
|
||||
Mutex M0 (0x726800001710) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libspa-support.so+0x8bd0) (BuildId: 24a3df4fe9996f17f516f9dca3d5b18bfce2133f)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Mutex M1 (0x728400000550) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 jack_client_open <null> (libjack.so.0+0x1d691) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Thread T4 'data-loop.0' (tid=928826, running) created by main thread at:
|
||||
#0 pthread_create <null> (libtsan.so.2+0x5fb47) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0x90c47) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
#2 main /home/jt/code/wheelie/main.c:79 (jack-looper+0x3a85) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
SUMMARY: ThreadSanitizer: data race /home/jt/code/wheelie/engine.c:453 in engine_process_commands
|
||||
==================
|
||||
==================
|
||||
WARNING: ThreadSanitizer: data race (pid=928821)
|
||||
Read of size 4 at 0x5598ba988114 by thread T4 (mutexes: write M0, write M1):
|
||||
#0 engine_process_commands /home/jt/code/wheelie/engine.c:453 (jack-looper+0x64b4) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 process_callback /home/jt/code/wheelie/engine.c:24 (jack-looper+0x3c4f) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 <null> <null> (libjack.so.0+0x1fc6a) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
|
||||
Previous write of size 4 at 0x5598ba988114 by main thread:
|
||||
#0 engine_submit_command /home/jt/code/wheelie/engine.c:429 (jack-looper+0x62ad) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 engine_reset_clip /home/jt/code/wheelie/engine.c:1137 (jack-looper+0xb748) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 tui_run /home/jt/code/wheelie/tui.c:644 (jack-looper+0xe62a) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#3 main /home/jt/code/wheelie/main.c:95 (jack-looper+0x3b86) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Location is global 'engine' of size 39432 at 0x5598ba987440 (jack-looper+0x21114)
|
||||
|
||||
Mutex M0 (0x726800001710) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libspa-support.so+0x8bd0) (BuildId: 24a3df4fe9996f17f516f9dca3d5b18bfce2133f)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Mutex M1 (0x728400000550) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 jack_client_open <null> (libjack.so.0+0x1d691) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Thread T4 'data-loop.0' (tid=928826, running) created by main thread at:
|
||||
#0 pthread_create <null> (libtsan.so.2+0x5fb47) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0x90c47) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
#2 main /home/jt/code/wheelie/main.c:79 (jack-looper+0x3a85) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
SUMMARY: ThreadSanitizer: data race /home/jt/code/wheelie/engine.c:453 in engine_process_commands
|
||||
==================
|
||||
ThreadSanitizer: reported 3 warnings
|
||||
65
tsan_report.log.928888
Normal file
65
tsan_report.log.928888
Normal file
@@ -0,0 +1,65 @@
|
||||
==================
|
||||
WARNING: ThreadSanitizer: data race (pid=928888)
|
||||
Read of size 4 at 0x56251621f114 by thread T4 (mutexes: write M0, write M1):
|
||||
#0 engine_process_commands /home/jt/code/wheelie/engine.c:453 (jack-looper+0x64b4) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 process_callback /home/jt/code/wheelie/engine.c:24 (jack-looper+0x3c4f) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 <null> <null> (libjack.so.0+0x1fc6a) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
|
||||
Previous write of size 4 at 0x56251621f114 by main thread:
|
||||
#0 engine_submit_command /home/jt/code/wheelie/engine.c:429 (jack-looper+0x62ad) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 engine_reset_clip /home/jt/code/wheelie/engine.c:1137 (jack-looper+0xb748) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 tui_run /home/jt/code/wheelie/tui.c:644 (jack-looper+0xe62a) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#3 main /home/jt/code/wheelie/main.c:95 (jack-looper+0x3b86) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Location is global 'engine' of size 39432 at 0x56251621e440 (jack-looper+0x21114)
|
||||
|
||||
Mutex M0 (0x726800001710) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libspa-support.so+0x8bd0) (BuildId: 24a3df4fe9996f17f516f9dca3d5b18bfce2133f)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Mutex M1 (0x728400000550) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 jack_client_open <null> (libjack.so.0+0x1d691) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Thread T4 'data-loop.0' (tid=928893, running) created by main thread at:
|
||||
#0 pthread_create <null> (libtsan.so.2+0x5fb47) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0x90c47) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
#2 main /home/jt/code/wheelie/main.c:79 (jack-looper+0x3a85) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
SUMMARY: ThreadSanitizer: data race /home/jt/code/wheelie/engine.c:453 in engine_process_commands
|
||||
==================
|
||||
==================
|
||||
WARNING: ThreadSanitizer: data race (pid=928888)
|
||||
Read of size 8 at 0x56251621f120 by thread T4 (mutexes: write M0, write M1):
|
||||
#0 engine_process_commands /home/jt/code/wheelie/engine.c:453 (jack-looper+0x64b4) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 process_callback /home/jt/code/wheelie/engine.c:24 (jack-looper+0x3c4f) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 <null> <null> (libjack.so.0+0x1fc6a) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
|
||||
Previous write of size 4 at 0x56251621f120 by main thread:
|
||||
#0 engine_submit_command /home/jt/code/wheelie/engine.c:429 (jack-looper+0x62ad) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#1 engine_transport_toggle_play /home/jt/code/wheelie/engine.c:1176 (jack-looper+0xb9dd) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#2 tui_run /home/jt/code/wheelie/tui.c:694 (jack-looper+0xe81e) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
#3 main /home/jt/code/wheelie/main.c:95 (jack-looper+0x3b86) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Location is global 'engine' of size 39432 at 0x56251621e440 (jack-looper+0x21120)
|
||||
|
||||
Mutex M0 (0x726800001710) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libspa-support.so+0x8bd0) (BuildId: 24a3df4fe9996f17f516f9dca3d5b18bfce2133f)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Mutex M1 (0x728400000550) created at:
|
||||
#0 pthread_mutex_init <null> (libtsan.so.2+0x5e23a) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 jack_client_open <null> (libjack.so.0+0x1d691) (BuildId: a070bcfa4955ac5fd8a632489cd56f534a7dfc66)
|
||||
#2 main /home/jt/code/wheelie/main.c:67 (jack-looper+0x39f9) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
Thread T4 'data-loop.0' (tid=928893, running) created by main thread at:
|
||||
#0 pthread_create <null> (libtsan.so.2+0x5fb47) (BuildId: f29521f558650bcc384c0178d8c6d0fd49466e29)
|
||||
#1 <null> <null> (libpipewire-0.3.so.0+0x90c47) (BuildId: 6c351c9a14f26a16201ad1530bbec8bc2bdf8106)
|
||||
#2 main /home/jt/code/wheelie/main.c:79 (jack-looper+0x3a85) (BuildId: ed86a50eccffb9d745f9683ba76a2748ef793573)
|
||||
|
||||
SUMMARY: ThreadSanitizer: data race /home/jt/code/wheelie/engine.c:453 in engine_process_commands
|
||||
==================
|
||||
ThreadSanitizer: reported 2 warnings
|
||||
Reference in New Issue
Block a user