asalkeld/libqb — Issue #29: crash in ptrie notify when running corosync's testsam
Author: asalkeld
Created: 2012-01-25 04:54:41+00:00
State: open

==5718== Invalid read of size 4
==5718== at 0x4E706A4: trie_notify (trie.c:565)
==5718== by 0x4E7010C: trie_node_destroy (trie.c:381)
==5718== by 0x4E7029E: trie_node_deref (trie.c:431)
==5718== by 0x4E70BC6: trie_iter_next (trie.c:722)
==5718== by 0x4E6D69A: qb_map_iter_next (map.c:82)
==5718== by 0x419C83: icmap_iter_next (icmap.c:765)
==5718== by 0x40EE2E: message_handler_req_lib_cmap_iter_next (cmap.c:415)
==5718== by 0x41A733: cs_ipcs_msg_process (ipc_glue.c:661)
==5718== by 0x4E6625B: _process_request_ (ipcs.c:596)
==5718== by 0x4E66520: qb_ipcs_dispatch_connection_request (ipcs.c:682)
==5718== by 0x4E625EF: _poll_dispatch_and_take_back_ (loop_poll.c:208)
==5718== by 0x4E61E3C: qb_loop_run_level (loop.c:43)
==5718== Address 0x6edca28 is 24 bytes inside a block of size 40 free'd
==5718== at 0x4A0662E: free (vg_replace_malloc.c:366)
==5718== by 0x4E709B0: trie_notify_del (trie.c:665)
==5718== by 0x4E6D7D3: qb_map_notify_del_2 (map.c:121)
==5718== by 0x419E2F: icmap_track_delete (icmap.c:870)
==5718== by 0x415ED1: wd_key_changed (wd.c:365)
==5718== by 0x418E64: icmap_notify_fn (icmap.c:817)
==5718== by 0x4E7068B: trie_notify (trie.c:560)
==5718== by 0x4E7010C: trie_node_destroy (trie.c:381)
==5718== by 0x4E7029E: trie_node_deref (trie.c:431)
==5718== by 0x4E70BC6: trie_iter_next (trie.c:722)
==5718== by 0x4E6D69A: qb_map_iter_next (map.c:82)
==5718== by 0x419C83: icmap_iter_next (icmap.c:765)
==5718==

We need to refcount the notifier struct..