Jiri Daněk created PROTON-2225:
----------------------------------

             Summary: Set -DTHREADERCISER=ON by default, to prevent regressions
                 Key: PROTON-2225
                 URL: https://issues.apache.org/jira/browse/PROTON-2225
             Project: Qpid Proton
          Issue Type: Test
          Components: build
    Affects Versions: proton-c-0.31.0
            Reporter: Jiri Daněk
            Assignee: Jiri Daněk


Previously, the test stopped compiling, as fixed in PROTON-2120. The reason the 
test is disable 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 with

{noformat}
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
}
{noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to