Details
-
Test
-
Status: Closed
-
Major
-
Resolution: Fixed
-
proton-c-0.31.0
-
None
-
Patch
Description
Previously, the test stopped compiling, as fixed in PROTON-2120. The reason the test is disabled is that the test is failing when it is run.
Instead of disabling the test, it would be better to have the test running, suppress the reported errors and fill a jira to get them fixed eventually. This requires writing suppressions for both helgrind and tsan.
Now that fd-limit test is disabled (PROTON-2172), we should have some other test to highlight issues from PROTON-2133.
Current state is that threaderciser test builds and fails under helgrind with
threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] ==17017== ---Thread-Announcement------------------------------------------ ==17017== ==17017== Thread #5 was created ==17017== at 0x4D69A3E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== by 0x4863DBB: create_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x486568B: pthread_create@@GLIBC_2.2.5 (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x483E374: pthread_create_WRK (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x483F46F: pthread_create@* (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x403C92: main (threaderciser.c:572) ==17017== ==17017== ---Thread-Announcement------------------------------------------ ==17017== ==17017== Thread #2 was created ==17017== at 0x4D69A3E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== by 0x4863DBB: create_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x486568B: pthread_create@@GLIBC_2.2.5 (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x483E374: pthread_create_WRK (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x483F46F: pthread_create@* (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x403C64: main (threaderciser.c:571) ==17017== ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 4 at 0x4FDF90C by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4855143: post_event (epoll.c:2429) ==17017== by 0x4855C40: proactor_do_epoll (epoll.c:2676) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdf90c is 12 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:post_event fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 4 at 0x4FDF940 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4855267: post_event (epoll.c:2455) ==17017== by 0x4855C40: proactor_do_epoll (epoll.c:2676) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdf940 is 64 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:post_event fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 1 at 0x4FDFA11 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x485526E: post_event (epoll.c:2456) ==17017== by 0x4855C40: proactor_do_epoll (epoll.c:2676) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa11 is 273 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:post_event fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 1 at 0x4FDFA12 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x485533F: post_event (epoll.c:2477) ==17017== by 0x4855C40: proactor_do_epoll (epoll.c:2676) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa12 is 274 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:post_event fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 8 at 0x4FDFA00 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4855351: post_event (epoll.c:2477) ==17017== by 0x4855C40: proactor_do_epoll (epoll.c:2676) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa00 is 256 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:post_event fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 8 at 0x4FDF9A8 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x484FBAF: make_runnable (epoll.c:630) ==17017== by 0x4855C57: proactor_do_epoll (epoll.c:2678) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdf9a8 is 168 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:make_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 1 at 0x4FDFA12 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x484FC37: make_runnable (epoll.c:635) ==17017== by 0x4855C57: proactor_do_epoll (epoll.c:2678) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa12 is 274 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:make_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 8 at 0x4FDFA08 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x484FC50: make_runnable (epoll.c:638) ==17017== by 0x4855C57: proactor_do_epoll (epoll.c:2678) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa08 is 264 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:make_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 8 at 0x4FDFA00 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x484F853: assign_thread (epoll.c:539) ==17017== by 0x48555E8: next_runnable (epoll.c:2539) ==17017== by 0x48557CD: proactor_do_epoll (epoll.c:2578) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa00 is 256 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:assign_thread fun:next_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 8 at 0x4FDFA08 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x484F85E: assign_thread (epoll.c:540) ==17017== by 0x48555E8: next_runnable (epoll.c:2539) ==17017== by 0x48557CD: proactor_do_epoll (epoll.c:2578) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa08 is 264 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:assign_thread fun:next_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 1 at 0x4FDFA10 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4854E3B: process (epoll.c:2362) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfa10 is 272 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 4 at 0x4FDF9B0 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4854E59: process (epoll.c:2368) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdf9b0 is 176 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 1 at 0x4FDFC69 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4854F24: process (epoll.c:2382) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fdfc69 is 873 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---Thread-Announcement------------------------------------------ ==17017== ==17017== Thread #4 was created ==17017== at 0x4D69A3E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== by 0x4863DBB: create_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x486568B: pthread_create@@GLIBC_2.2.5 (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x483E374: pthread_create_WRK (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x483F46F: pthread_create@* (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x403C64: main (threaderciser.c:571) ==17017== ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 1 at 0x4FE7802 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x48555CB: next_runnable (epoll.c:2538) ==17017== by 0x48557CD: proactor_do_epoll (epoll.c:2578) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fe7802 is 274 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #4 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:next_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 8 at 0x4FE77F0 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x484F820: assign_thread (epoll.c:538) ==17017== by 0x48555E8: next_runnable (epoll.c:2539) ==17017== by 0x48557CD: proactor_do_epoll (epoll.c:2578) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fe77f0 is 256 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #4 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:assign_thread fun:next_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 1 at 0x4FE7802 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x484F86D: assign_thread (epoll.c:541) ==17017== by 0x48555E8: next_runnable (epoll.c:2539) ==17017== by 0x48557CD: proactor_do_epoll (epoll.c:2578) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fe7802 is 274 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #4 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:assign_thread fun:next_runnable fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 1 at 0x4FE7801 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4854E30: process (epoll.c:2361) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fe7801 is 273 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #4 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 4 at 0x4FE7730 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4854F09: process (epoll.c:2380) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fe7730 is 64 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #4 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during write of size 4 at 0x4FE7730 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4854F19: process (epoll.c:2381) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fe7730 is 64 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #4 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---------------------------------------------------------------- ==17017== ==17017== Lock at 0x4FD4380 was first observed ==17017== at 0x483F7BD: pthread_mutex_init (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EBFF: pmutex_init (epoll.c:137) ==17017== by 0x485412D: pn_proactor (epoll.c:2104) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Address 0x4fd4380 is 576 bytes inside a block of size 896 alloc'd ==17017== at 0x483A9F2: calloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48540BD: pn_proactor (epoll.c:2099) ==17017== by 0x402F2D: global_init (threaderciser.c:335) ==17017== by 0x403BD2: main (threaderciser.c:564) ==17017== Block was alloc'd by thread #1 ==17017== ==17017== Possible data race during read of size 8 at 0x4FE7798 by thread #5 ==17017== Locks held: 1, at address 0x4FD4380 ==17017== at 0x4854F43: process (epoll.c:2384) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Address 0x4fe7798 is 168 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #4 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread fun:mythread_wrapper fun:start_thread fun:clone } ==17017== ---Thread-Announcement------------------------------------------ ==17017== ==17017== Thread #3 was created ==17017== at 0x4D69A3E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== by 0x4863DBB: create_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x486568B: pthread_create@@GLIBC_2.2.5 (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x483E374: pthread_create_WRK (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x483F46F: pthread_create@* (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x403C92: main (threaderciser.c:572) ==17017== ==17017== ---------------------------------------------------------------- ==17017== ==17017== Possible data race during read of size 1 at 0x4FDF988 by thread #5 ==17017== Locks held: none ==17017== at 0x483B42C: my_memcmp (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x483B6D9: mutex_destroy_WRK (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x483F849: pthread_mutex_destroy (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EC2E: pmutex_finalize (epoll.c:143) ==17017== by 0x484F26F: pcontext_finalize (epoll.c:348) ==17017== by 0x4850A05: pconnection_final_free (epoll.c:944) ==17017== by 0x4850B31: pconnection_cleanup (epoll.c:967) ==17017== by 0x4851B42: pconnection_process (epoll.c:1337) ==17017== by 0x4854F71: process (epoll.c:2385) ==17017== by 0x48557F3: proactor_do_epoll (epoll.c:2581) ==17017== by 0x4856402: pn_proactor_wait (epoll.c:2803) ==17017== by 0x40362D: proactor_thread (threaderciser.c:473) ==17017== ==17017== This conflicts with a previous write of size 4 by thread #3 ==17017== Locks held: none ==17017== at 0x4868E17: __pthread_mutex_unlock_usercnt (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x483BEEB: mutex_unlock_WRK (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x483F875: pthread_mutex_unlock (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x484EC62: unlock (epoll.c:145) ==17017== by 0x485135E: pconnection_done (epoll.c:1163) ==17017== by 0x485650E: pn_proactor_done (epoll.c:2829) ==17017== by 0x403696: proactor_thread (threaderciser.c:478) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== Address 0x4fdf988 is 136 bytes inside a block of size 909 alloc'd ==17017== at 0x48387A3: malloc (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x48524FA: pn_proactor_connect2 (epoll.c:1545) ==17017== by 0x4857024: pn_proactor_connect (proactor-internal.c:97) ==17017== by 0x402B23: cpool_connect (threaderciser.c:229) ==17017== by 0x403120: global_connect (threaderciser.c:367) ==17017== by 0x4031A5: global_do_stuff (threaderciser.c:378) ==17017== by 0x403330: user_thread (threaderciser.c:397) ==17017== by 0x483E568: mythread_wrapper (in /nix/store/6glsqxyngs9kjkx9mqhshwfi93qfsw8q-valgrind-3.15.0/lib/valgrind/vgpreload_helgrind-amd64-linux.so) ==17017== by 0x4864EDC: start_thread (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libpthread-2.30.so) ==17017== by 0x4D69A4E: clone (in /nix/store/6m2k8kx8h216jlx9dg3lp4m90bz05yck-glibc-2.30/lib/libc-2.30.so) ==17017== Block was alloc'd by thread #2 ==17017== { <insert_a_suppression_name_here> Helgrind:Race fun:my_memcmp fun:mutex_destroy_WRK fun:pthread_mutex_destroy fun:pmutex_finalize fun:pcontext_finalize fun:pconnection_final_free fun:pconnection_cleanup fun:pconnection_process fun:process fun:proactor_do_epoll fun:pn_proactor_wait fun:proactor_thread }
and under tsan with
7: Test command: /nix/store/nlgrx0cl1l87nx0w660lb3jksn9jdca9-python3-3.7.6/bin/python "/home/jdanek/repos/qpid/qpid-proton/scripts/env.py" "--" "TSAN_OPTIONS=second_deadlock_stack=1 suppressions=/home/jdanek/repos/qpid/qpid-proton/tests/tsan.supp" "/home/jdanek/repos/qpid/qpid-proton/cmake-build-debugwithtsan/c/tests/c-threaderciser" 7: Test timeout computed to be: 1500 7: threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] 7: ================== 7: WARNING: ThreadSanitizer: heap-use-after-free (pid=10748) 7: Atomic read of size 1 at 0x7b680000fc00 by thread T6: 7: #0 pthread_mutex_lock <null> (libtsan.so.0+0x4284b) 7: #1 lock /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:144 (libqpid-proton-proactor.so.1+0x570a) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:602 (libqpid-proton-proactor.so.1+0x570a) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Previous write of size 8 at 0x7b680000fc00 by thread T8: 7: #0 free <null> (libtsan.so.0+0x2fa67) 7: #1 listener_final_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1747 (libqpid-proton-proactor.so.1+0xafd0) 7: #2 pn_listener_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1765 (libqpid-proton-proactor.so.1+0xafd0) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1967 (libqpid-proton-proactor.so.1+0xb8fd) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xb8fd) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Thread T6 (tid=10755, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: Thread T8 (tid=10757, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: SUMMARY: ThreadSanitizer: heap-use-after-free (/nix/store/jy89v2q2zv074mvw91jgqcvkmk7yqx69-gcc-9.3.0-lib/lib/libtsan.so.0+0x4284b) in pthread_mutex_lock 7: ================== 7: ================== 7: WARNING: ThreadSanitizer: heap-use-after-free (pid=10748) 7: Read of size 1 at 0x7b680000fc36 by thread T6 (mutexes: write M63): 7: #0 wake /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:415 (libqpid-proton-proactor.so.1+0x5714) 7: #1 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:603 (libqpid-proton-proactor.so.1+0x5714) 7: #2 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #3 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #5 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Previous write of size 8 at 0x7b680000fc30 by thread T8: 7: #0 free <null> (libtsan.so.0+0x2fa67) 7: #1 listener_final_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1747 (libqpid-proton-proactor.so.1+0xafd0) 7: #2 pn_listener_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1765 (libqpid-proton-proactor.so.1+0xafd0) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1967 (libqpid-proton-proactor.so.1+0xb8fd) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xb8fd) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Mutex M63 (0x7b680000fc00) created at: 7: #0 pthread_mutex_lock <null> (libtsan.so.0+0x4284b) 7: #1 lock /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:144 (libqpid-proton-proactor.so.1+0x570a) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:602 (libqpid-proton-proactor.so.1+0x570a) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Thread T6 (tid=10755, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: Thread T8 (tid=10757, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: SUMMARY: ThreadSanitizer: heap-use-after-free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:415 in wake 7: ================== 7: ================== 7: WARNING: ThreadSanitizer: heap-use-after-free (pid=10748) 7: Read of size 8 at 0x7b680000fc28 by thread T6 (mutexes: write M63): 7: #0 wake /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:418 (libqpid-proton-proactor.so.1+0x5222) 7: #1 wake /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:416 (libqpid-proton-proactor.so.1+0x5736) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:603 (libqpid-proton-proactor.so.1+0x5736) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Previous write of size 8 at 0x7b680000fc28 by thread T8: 7: #0 free <null> (libtsan.so.0+0x2fa67) 7: #1 listener_final_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1747 (libqpid-proton-proactor.so.1+0xafd0) 7: #2 pn_listener_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1765 (libqpid-proton-proactor.so.1+0xafd0) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1967 (libqpid-proton-proactor.so.1+0xb8fd) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xb8fd) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Mutex M63 (0x7b680000fc00) created at: 7: #0 pthread_mutex_lock <null> (libtsan.so.0+0x4284b) 7: #1 lock /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:144 (libqpid-proton-proactor.so.1+0x570a) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:602 (libqpid-proton-proactor.so.1+0x570a) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Thread T6 (tid=10755, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: Thread T8 (tid=10757, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: SUMMARY: ThreadSanitizer: heap-use-after-free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:418 in wake 7: ================== 7: ================== 7: WARNING: ThreadSanitizer: heap-use-after-free (pid=10748) 7: Write of size 8 at 0x7b680000fc38 by thread T6 (mutexes: write M63, write M10): 7: #0 wake /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:420 (libqpid-proton-proactor.so.1+0x5247) 7: #1 wake /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:416 (libqpid-proton-proactor.so.1+0x5736) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:603 (libqpid-proton-proactor.so.1+0x5736) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Previous write of size 8 at 0x7b680000fc38 by thread T8: 7: #0 free <null> (libtsan.so.0+0x2fa67) 7: #1 listener_final_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1747 (libqpid-proton-proactor.so.1+0xafd0) 7: #2 pn_listener_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1765 (libqpid-proton-proactor.so.1+0xafd0) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1967 (libqpid-proton-proactor.so.1+0xb8fd) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xb8fd) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Mutex M63 (0x7b680000fc00) created at: 7: #0 pthread_mutex_lock <null> (libtsan.so.0+0x4284b) 7: #1 lock /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:144 (libqpid-proton-proactor.so.1+0x570a) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:602 (libqpid-proton-proactor.so.1+0x570a) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Mutex M10 (0x7b5c000001c0) created at: 7: #0 pthread_mutex_init <null> (libtsan.so.0+0x30d4d) 7: #1 pmutex_init /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:137 (libqpid-proton-proactor.so.1+0x6a2b) 7: #2 pn_proactor /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2103 (libqpid-proton-proactor.so.1+0x8302) 7: #3 global_init /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:335 (c-threaderciser+0x4035c2) 7: #4 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:564 (c-threaderciser+0x404708) 7: 7: Thread T6 (tid=10755, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: Thread T8 (tid=10757, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: SUMMARY: ThreadSanitizer: heap-use-after-free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:420 in wake 7: ================== 7: ================== 7: WARNING: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or destroyed) (pid=10748) 7: #0 pthread_mutex_unlock <null> (libtsan.so.0+0x4299a) 7: #1 unlock /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:145 (libqpid-proton-proactor.so.1+0x5747) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:604 (libqpid-proton-proactor.so.1+0x5747) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Mutex M63 (0x7b680000fc00) created at: 7: #0 pthread_mutex_lock <null> (libtsan.so.0+0x4284b) 7: #1 lock /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:144 (libqpid-proton-proactor.so.1+0x570a) 7: #2 unassign_thread /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:602 (libqpid-proton-proactor.so.1+0x570a) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1979 (libqpid-proton-proactor.so.1+0xbb04) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xbb04) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: SUMMARY: ThreadSanitizer: use of an invalid mutex (e.g. uninitialized or destroyed) (/nix/store/jy89v2q2zv074mvw91jgqcvkmk7yqx69-gcc-9.3.0-lib/lib/libtsan.so.0+0x4299a) in __interceptor_pthread_mutex_unlock 7: ================== 7: ================== 7: WARNING: ThreadSanitizer: heap-use-after-free (pid=10748) 7: Read of size 1 at 0x7b680000fc92 by thread T8 (mutexes: write M11): 7: #0 post_event /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2477 (libqpid-proton-proactor.so.1+0xcf8c) 7: #1 proactor_do_epoll /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2676 (libqpid-proton-proactor.so.1+0xcf8c) 7: #2 pn_proactor_wait /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2803 (libqpid-proton-proactor.so.1+0xdef2) 7: #3 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:473 (c-threaderciser+0x403f28) 7: #4 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Previous write of size 8 at 0x7b680000fc90 by thread T8: 7: #0 free <null> (libtsan.so.0+0x2fa67) 7: #1 listener_final_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1747 (libqpid-proton-proactor.so.1+0xafd0) 7: #2 pn_listener_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1765 (libqpid-proton-proactor.so.1+0xafd0) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1967 (libqpid-proton-proactor.so.1+0xb8fd) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xb8fd) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Mutex M11 (0x7b5c00000240) created at: 7: #0 pthread_mutex_init <null> (libtsan.so.0+0x30d4d) 7: #1 pmutex_init /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:137 (libqpid-proton-proactor.so.1+0x6a2b) 7: #2 pn_proactor /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2104 (libqpid-proton-proactor.so.1+0x8316) 7: #3 global_init /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:335 (c-threaderciser+0x4035c2) 7: #4 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:564 (c-threaderciser+0x404708) 7: 7: Thread T8 (tid=10757, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: SUMMARY: ThreadSanitizer: heap-use-after-free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2477 in post_event 7: ================== 7: ================== 7: WARNING: ThreadSanitizer: heap-use-after-free (pid=10748) 7: Read of size 8 at 0x7b680000fc80 by thread T8 (mutexes: write M11): 7: #0 post_event /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2477 (libqpid-proton-proactor.so.1+0xcfa4) 7: #1 proactor_do_epoll /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2676 (libqpid-proton-proactor.so.1+0xcfa4) 7: #2 pn_proactor_wait /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2803 (libqpid-proton-proactor.so.1+0xdef2) 7: #3 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:473 (c-threaderciser+0x403f28) 7: #4 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Previous write of size 8 at 0x7b680000fc80 by thread T8: 7: #0 free <null> (libtsan.so.0+0x2fa67) 7: #1 listener_final_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1747 (libqpid-proton-proactor.so.1+0xafd0) 7: #2 pn_listener_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1765 (libqpid-proton-proactor.so.1+0xafd0) 7: #3 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1967 (libqpid-proton-proactor.so.1+0xb8fd) 7: #4 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xb8fd) 7: #5 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #6 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Mutex M11 (0x7b5c00000240) created at: 7: #0 pthread_mutex_init <null> (libtsan.so.0+0x30d4d) 7: #1 pmutex_init /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:137 (libqpid-proton-proactor.so.1+0x6a2b) 7: #2 pn_proactor /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2104 (libqpid-proton-proactor.so.1+0x8316) 7: #3 global_init /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:335 (c-threaderciser+0x4035c2) 7: #4 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:564 (c-threaderciser+0x404708) 7: 7: Thread T8 (tid=10757, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: SUMMARY: ThreadSanitizer: heap-use-after-free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2477 in post_event 7: Test command: /nix/store/nlgrx0cl1l87nx0w660lb3jksn9jdca9-python3-3.7.6/bin/python "/home/jdanek/repos/qpid/qpid-proton/scripts/env.py" "--" "TSAN_OPTIONS=second_deadlock_stack=1 suppressions=/home/jdanek/repos/qpid/qpid-proton/tests/tsan.supp" "/home/jdanek/repos/qpid/qpid-proton/cmake-build-debugwithtsan/c/tests/c-threaderciser" 7: Test timeout computed to be: 1500 7: threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] 7: ================== 7: WARNING: ThreadSanitizer: data race (pid=10413) 7: Write of size 8 at 0x7b6800000028 by thread T4: 7: #0 free <null> (libtsan.so.0+0x2fa67) 7: #1 listener_final_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1747 (libqpid-proton-proactor.so.1+0xafd0) 7: #2 pn_listener_free /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1765 (libqpid-proton-proactor.so.1+0xafd0) 7: #3 listener_process /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1895 (libqpid-proton-proactor.so.1+0xdb4c) 7: #4 process /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2400 (libqpid-proton-proactor.so.1+0xdb4c) 7: #5 proactor_do_epoll /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2581 (libqpid-proton-proactor.so.1+0xdb4c) 7: #6 pn_proactor_wait /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2803 (libqpid-proton-proactor.so.1+0xdef2) 7: #7 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:473 (c-threaderciser+0x403f28) 7: #8 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Previous read of size 8 at 0x7b6800000028 by thread T2: 7: #0 listener_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:1982 (libqpid-proton-proactor.so.1+0xb506) 7: #1 pn_proactor_done /home/jdanek/repos/qpid/qpid-proton/c/src/proactor/epoll.c:2837 (libqpid-proton-proactor.so.1+0xb506) 7: #2 proactor_thread /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:478 (c-threaderciser+0x403f9d) 7: #3 <null> <null> (libtsan.so.0+0x2e0b6) 7: 7: Thread T4 (tid=10418, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: Thread T2 (tid=10416, running) created by main thread at: 7: #0 pthread_create <null> (libtsan.so.0+0x3055b) 7: #1 main /home/jdanek/repos/qpid/qpid-proton/c/tests/threaderciser.c:572 (c-threaderciser+0x4047d7) 7: 7: SUMMARY: ThreadSanitizer: data race (/nix/store/jy89v2q2zv074mvw91jgqcvkmk7yqx69-gcc-9.3.0-lib/lib/libtsan.so.0+0x2fa67) in free 7: ==================
Other issues, mentioned in comments below, collected here
Furthermore, I've seen it sometimes freeze on older clang (flaky on xenial https://travis-ci.com/github/jiridanek/qpid-proton/jobs/337482058#L2049, freezes reliably on xcode https://travis-ci.com/github/jiridanek/qpid-proton/jobs/337466798#L2165) and flaky leak on gcc xenial, https://travis-ci.com/github/jiridanek/qpid-proton/jobs/337466791#L1779:
6: Test command: /opt/pyenv/shims/python "/home/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" "TEST_EXE_PREFIX=/usr/bin/valgrind --tool=memcheck --leak-check=full --error-exitcode=42 --quiet --suppressions=/home/travis/build/jiridanek/qpid-proton/tests/valgrind.supp" "/usr/bin/valgrind" "--tool=memcheck" "--leak-check=full" "--error-exitcode=42" "--quiet" "--suppressions=/home/travis/build/jiridanek/qpid-proton/tests/valgrind.supp" "/home/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser" 6: Test timeout computed to be: 1500 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] 6: ==11750== 64 bytes in 1 blocks are definitely lost in loss record 1 of 1 6: ==11750== at 0x4C2DB8F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) 6: ==11750== by 0x40217A: connection_ctx_new (threaderciser.c:211) 6: ==11750== by 0x40217A: cpool_connect.part.3 (threaderciser.c:226) 6: ==11750== by 0x402CC6: cpool_connect (threaderciser.c:225) 6: ==11750== by 0x402CC6: handle (threaderciser.c:425) 6: ==11750== by 0x402CC6: proactor_thread (threaderciser.c:476) 6: ==11750== by 0x504E6B9: start_thread (pthread_create.c:333) 6: ==11750== 6/46 Test #6: c-threaderciser ..................***Failed 95.41 sec
Another flaky occurence, assertion fail on macOS with libuv, https://travis-ci.com/github/jiridanek/qpid-proton/jobs/337488524#L1931
6: Test command: /usr/local/opt/python/libexec/bin/python "/Users/travis/build/jiridanek/qpid-proton/scripts/env.py" "--" "/Users/travis/build/jiridanek/qpid-proton/build/c/tests/c-threaderciser" 6: Test timeout computed to be: 1500 6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] 6: Assertion failed: (p->active > 0), function remove_active_lh, file /Users/travis/build/jiridanek/qpid-proton/c/src/proactor/libuv.c, line 392. 6/31 Test #6: c-threaderciser ..................***Failed 0.18 sec
The threaderciser itself is not deterministic, and it is running for a fairly short time in the CI, so it is actually expected that the failures will be flaky.
Another version of the leak trace from valgrind (now suppressed)
threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] ==3008== 128 bytes in 2 blocks are definitely lost in loss record 1 of 1 ==3008== at 0x4C29F73: malloc (vg_replace_malloc.c:309) ==3008== by 0x401F3A: connection_ctx_new (threaderciser.c:211) ==3008== by 0x401F3A: cpool_connect.part.3 (threaderciser.c:226) ==3008== by 0x402636: cpool_connect (threaderciser.c:367) ==3008== by 0x402636: global_connect (threaderciser.c:367) ==3008== by 0x402747: global_do_stuff (threaderciser.c:378) ==3008== by 0x402B17: user_thread (threaderciser.c:397) ==3008== by 0x504BEA4: start_thread (in /usr/lib64/libpthread-2.17.so) ==3008== by 0x5E8C8DC: clone (in /usr/lib64/libc-2.17.so) ==3008==
edit: another variant of the valgrind trace (now suppressed)
threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] ==3100== 64 bytes in 1 blocks are definitely lost in loss record 1 of 1 ==3100== at 0x4C28A2E: malloc (vg_replace_malloc.c:270) ==3100== by 0x4020B1: cpool_connect (threaderciser.c:211) ==3100== by 0x4027E8: proactor_thread (threaderciser.c:425) ==3100== by 0x5043AA0: start_thread (in /lib64/libpthread-2.12.so) ==3100== by 0x5FF1C4C: clone (in /lib64/libc-2.12.so) ==3100==
edit: completely new valgrind issue, this time invalid access, not a leak
6: threaderciser start: threads=8, time=1, actions=[listen, close-listen, connect, close-connect, wake, timeout, cancel-timeout] 6: ==3011== Thread 6: 6: ==3011== Invalid read of size 8 6: ==3011== at 0x4E3D2F0: pn_proactor_listen (epoll.c:1716) 6: ==3011== by 0x402078: lpool_listen.part.5 (threaderciser.c:285) 6: ==3011== by 0x4027C8: lpool_listen (threaderciser.c:379) 6: ==3011== by 0x4027C8: global_do_stuff (threaderciser.c:379) 6: ==3011== by 0x402B17: user_thread (threaderciser.c:397) 6: ==3011== by 0x504BEA4: start_thread (in /usr/lib64/libpthread-2.17.so) 6: ==3011== by 0x5E8C8DC: clone (in /usr/lib64/libc-2.17.so) 6: ==3011== Address 0x7e15188 is 40 bytes inside a block of size 1,408 free'd 6: ==3011== at 0x4C2B06D: free (vg_replace_malloc.c:540) 6: ==3011== by 0x4E401F8: listener_process (epoll.c:1895) 6: ==3011== by 0x4E401F8: process (epoll.c:2400) 6: ==3011== by 0x4E401F8: proactor_do_epoll (epoll.c:2581) 6: ==3011== by 0x40287F: proactor_thread (threaderciser.c:473) 6: ==3011== by 0x504BEA4: start_thread (in /usr/lib64/libpthread-2.17.so) 6: ==3011== by 0x5E8C8DC: clone (in /usr/lib64/libc-2.17.so) 6: ==3011== Block was alloc'd at 6: ==3011== at 0x4C2C089: calloc (vg_replace_malloc.c:762) 6: ==3011== by 0x4E3C4C6: pn_listener (epoll.c:1633) 6: ==3011== by 0x40201F: listener_ctx_new (threaderciser.c:264) 6: ==3011== by 0x40201F: lpool_listen.part.5 (threaderciser.c:282) 6: ==3011== by 0x4027C8: lpool_listen (threaderciser.c:379) 6: ==3011== by 0x4027C8: global_do_stuff (threaderciser.c:379) 6: ==3011== by 0x402B17: user_thread (threaderciser.c:397) 6: ==3011== by 0x504BEA4: start_thread (in /usr/lib64/libpthread-2.17.so) 6: ==3011== by 0x5E8C8DC: clone (in /usr/lib64/libc-2.17.so) 6: ==3011== 6/28 Test #6: c-threaderciser ..................***Failed 12.89 sec
Attachments
Issue Links
- is related to
-
PROTON-2230 Valgrind and Sanitizer issues in c-threaderciser test
- Open
-
PROTON-2231 Assertion fail on macOS with libuv in c-threaderciser test
- Open
-
PROTON-2273 Test c-threaderciser can get stuck
- Open