[ https://issues.apache.org/jira/browse/PROTON-2225?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17113584#comment-17113584 ]
ASF GitHub Bot commented on PROTON-2225: ---------------------------------------- jiridanek edited a comment on pull request #247: URL: https://github.com/apache/qpid-proton/pull/247#issuecomment-632367227 On Travis, the test takes - 85.55 sec under Valgrind Memcheck - 1.17 sec under ASan - 1.18 sec under TSan - 1.09 sec in -DCMAKE_BUILD_TYPE=Coverage job ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org > 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 > Priority: Major > > 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 > {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} > and under tsan with > {noformat} > 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: ================== > {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