This leak can be reproduced by adding a trigger and looking at the used
memory of the lttng-sessiond process.
Valgrind reports the following leak:
==2472== 7,087,968 bytes in 147,666 blocks are definitely lost in loss record 24 of 24
==2472== at 0x4C31B25: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==2472== by 0x191C37: zmalloc (macros.h:45)
==2472== by 0x195234: action_executor_enqueue_trigger (action-executor.c:913)
==2472== by 0x171AD7: dispatch_one_event_notifier_notification (notification-thread-events.c:4626)
==2472== by 0x171D1E: handle_one_event_notifier_notification (notification-thread-events.c:4715)
==2472== by 0x171DA4: handle_notification_thread_event_notification (notification-thread-events.c:4730)
==2472== by 0x164EA6: handle_event_notification_pipe (notification-thread.c:591)
==2472== by 0x1656C3: thread_notification (notification-thread.c:727)
==2472== by 0x17BD16: launch_thread (thread.c:66)
==2472== by 0x5F086DA: start_thread (pthread_create.c:463)
==2472== by 0x624188E: clone (clone.S:95)
Signed-off-by: Francis Deslauriers <francis.deslauriers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I3d98e3ae18c5b2d7f400407842a7de17716f680c
lttng_evaluation_destroy(work_item->evaluation);
notification_client_list_put(work_item->client_list);
lttng_dynamic_array_reset(work_item->subitems);
+ free(work_item->subitems);
free(work_item);
}