Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-888

c-client / zkpython: Double free corruption on node watcher

    Details

    • Hadoop Flags:
      Reviewed

      Description

      the c-client / zkpython wrapper invokes already freed watcher callback

      steps to reproduce:
      0. start a zookeper server on your machine
      1. run the attached python script
      2. suspend the zookeeper server process (e.g. using `pkill -STOP -f org.apache.zookeeper.server.quorum.QuorumPeerMain` )
      3. wait until the connection and the node observer fired with a session event
      4. resume the zookeeper server process (e.g. using `pkill -CONT -f org.apache.zookeeper.server.quorum.QuorumPeerMain` )

      -> the client tries to dispatch the node observer function again, but it was already freed -> double free corruption

        Attachments

        1. ZOOKEEPER-888-3.3.patch
          4 kB
          Austin Shoemaker
        2. ZOOKEEPER-888.patch
          5 kB
          Austin Shoemaker
        3. resume-segfault.py
          0.9 kB
          Lukas

          Issue Links

            Activity

              People

              • Assignee:
                mr_luk Lukas
                Reporter:
                mr_luk Lukas
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: