Fix: notification thread not notified of channel creation on app error
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 5 Dec 2017 20:25:28 +0000 (15:25 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 5 Dec 2017 21:26:56 +0000 (16:26 -0500)
commit8a06890acaaa32494e47fb92e45ad40eca87af3f
tree9a769126870cb454aadc5cfa1503da9ed3755405
parent710509e664f62d71a215d5185e5bf89a6879672e
Fix: notification thread not notified of channel creation on app error

The multi-app notification test is failing (more often on ARM64)
since the notification thread appears to not be notified of a
channel's creation under some circumstances.

Investigating this failure pointed to create_channel_per_uid()
which provides the "hook" the notification system needs to
be informed of a channel's creation.

The first time this function is invoked for a given channel, the
lookup in the buffer registry will fail, prompting the lazy creation
of the channel. Then, that channel is sent to the application
being registered.

The error in the current code is that the channel's creation
is not communicated to the notification subsystem whenever the
session daemon fails to communicate with the application.

Failing to communicate with the application is not a channel
creation error (in per-uid mode). In this specific case, the
test is launching many short-lived applications and it is
expected for the session daemon to encounter closing or dead
applications as it handles their registration.

Note that the diff of this commit is misleading. The important part
is that notification_thread_command_add_channel() has to be
performed regardless of the result of send_channel_uid_to_ust().

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/ust-app.c
This page took 0.02502 seconds and 4 git commands to generate.