Use trace->trace_id in check to remove trace from bt_ctx
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Tue, 3 Jul 2018 16:28:54 +0000 (12:28 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 3 Jul 2018 19:21:38 +0000 (15:21 -0400)
commitc8a683194ae8caef6592cd235bf1666001d8d4cd
tree211db4a96390c07a39fe4c7ca54263be6e6af72e
parent5223ed80d6517378def2da969c96b177ccc98e4d
Use trace->trace_id in check to remove trace from bt_ctx

Commit b9e6498df8b3e7c2ad312dccddf9f1a5e181648e removes the existence
guarantee of the trace_id hash table key by moving the trace->in_use
assignation before the assignation of trace_id and insertion into the
hash table.

Use the trade_id field value to validate if it should be removed from
the hash table. A NULL trace_id field indicates that no insertion was
performed.

This is mostly a workaround to a problem found in, at least, glib 2.28
where g_hash_table_lookup_node() aborts on a SIGFPE signal due to
modulo by zero. The exact cause for this is unknown for now, but a
similar problem was reported against Nautilus [1].

There is little reason for "mod" to be 0 at that point, as explained
in the bug report.

Currently unable to reproduce.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1074401

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
formats/lttng-live/lttng-live-comm.c
formats/lttng-live/lttng-live.h
This page took 0.030597 seconds and 4 git commands to generate.