Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
3.3.1
-
None
-
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
Attachments
Issue Links
- duplicates
-
ZOOKEEPER-740 zkpython leading to segfault on zookeeper
- Resolved
- is duplicated by
-
ZOOKEEPER-890 C client invokes watcher callbacks multiple times
- Resolved