[ https://issues.apache.org/jira/browse/ZOOKEEPER-333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrick Hunt updated ZOOKEEPER-333: ----------------------------------- Resolution: Fixed Hadoop Flags: [Reviewed] Status: Resolved (was: Patch Available) Looks good, +1. Committed revision 752711. Committed revision 752726. > helgrind thread issues identified in mt c client code > ----------------------------------------------------- > > Key: ZOOKEEPER-333 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-333 > Project: Zookeeper > Issue Type: Bug > Components: c client > Reporter: Patrick Hunt > Assignee: Mahadev konar > Priority: Critical > Fix For: 3.1.1, 3.2.0 > > Attachments: helgrind_mt.out, helgrind_mt.out.gz, ZOOKEEPER-333.patch > > > helgrind generated a number of issues, I pulled a bunch of them. Most are > related to the test, some are really issues with the mt zk client code though: > valgrind --tool=helgrind --log-file=helgrind_mt.out ./zktest-mt > ==31294== Thread #2: pthread_cond_{timed}wait called with un-held mutex > ==31294== at 0x4027F8F: pthread_cond_w...@* (hg_intercepts.c:560) > ==31294== by 0x404D881: pthread_cond_w...@glibc_2.0 (in > /lib/tls/i686/cmov/libpthread-2.8.90.so) > ==31294== by 0x4028037: pthread_cond_w...@* (hg_intercepts.c:574) > ==31294== by 0x809EBB7: pthread_cond_wait (PthreadMocks.cc:54) > ==31294== by 0x80ABCF6: notify_thread_ready (mt_adaptor.c:136) > ==31294== by 0x80ABE90: do_io (mt_adaptor.c:277) > ==31294== Possible data race during write of size 4 at 0x42E9A58 > ==31294== at 0x8050D83: terminateZookeeperThreads(_zhandle*) > (ZKMocks.cc:518) > ==31294== by 0x805543B: DeliverWatchersWrapper::call(_zhandle*, int, int, > char const*, watcher_object_list**) (ZKMocks.cc:261) > ==31294== by 0x80520F7: __wrap_deliverWatchers (ZKMocks.cc:220) > ==31294== by 0x80A287B: process_completions (zookeeper.c:1393) > ==31294== by 0x80ABDAA: do_completion (mt_adaptor.c:332) > ==31294== Possible data race during write of size 4 at 0xBEFF5F30 > ==31294== at 0x80589AF: > Zookeeper_watchers::ConnectionWatcher::~ConnectionWatcher() > (TestWatchers.cc:54) > ==31294== by 0x805D062: Zookeeper_watchers::testDefaultSessionWatcher1() > (TestWatchers.cc:438) > ==31294== by 0x805608C: CppUnit::TestCaller<Zookeeper_watchers>::runTest() > (TestCaller.h:166) > ==31294== Possible data race during write of size 4 at 0x42EB104 > ==31294== at 0x80A03EE: queue_completion (zookeeper.c:1776) > ==31294== by 0x80A3A44: zookeeper_process (zookeeper.c:1598) > ==31294== by 0x80AC00B: do_io (mt_adaptor.c:309) > ==31294== Thread #29: pthread_cond_{timed}wait called with un-held mutex > ==31294== at 0x4027F8F: pthread_cond_w...@* (hg_intercepts.c:560) > ==31294== by 0x404D881: pthread_cond_w...@glibc_2.0 (in > /lib/tls/i686/cmov/libpthread-2.8.90.so) > ==31294== by 0x4028037: pthread_cond_w...@* (hg_intercepts.c:574) > ==31294== by 0x809EBB7: pthread_cond_wait (PthreadMocks.cc:54) > ==31294== by 0x80AB9B3: wait_sync_completion (mt_adaptor.c:82) > ==31294== by 0x80A1E82: zoo_wget (zookeeper.c:2517) > ==31294== by 0x80A1F13: zoo_get (zookeeper.c:2497) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.