[
https://issues.apache.org/jira/browse/ZOOKEEPER-3192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kezhu Wang resolved ZOOKEEPER-3192.
-----------------------------------
Resolution: Duplicate
> zoo_multi/zoo_amulti crash
> --------------------------
>
> Key: ZOOKEEPER-3192
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3192
> Project: ZooKeeper
> Issue Type: Bug
> Components: c client
> Affects Versions: 3.4.13
> Environment: VS2013 Building (/MD)
> Reporter: Jian Wang
> Priority: Major
>
> In the zoo_amulti function (zookeeper.c) , it seems an initialization problem.
> {code:java}
> struct RequestHeader h = { STRUCT_INITIALIZER(xid, get_xid()),
> STRUCT_INITIALIZER(type, ZOO_MULTI_OP) };
> struct MultiHeader mh = { STRUCT_INITIALIZER(type, -1),
> STRUCT_INITIALIZER(done, 1), STRUCT_INITIALIZER(err, -1) };
> struct oarchive *oa = create_buffer_oarchive();
> completion_head_t clist = { 0 };
> {code}
> variable "clist" 's member cond and lock are not initialized correctly. They
> should be initialized by pthread_cond_init and pthread_mutex_init. Otherwise
> zoo_amulti would crash when queue_completion was called witch calls
> pthread_cond_boardcast using clist->cond
--
This message was sent by Atlassian Jira
(v8.20.10#820010)