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

      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

          No work has yet been logged on this issue.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development