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 20:45:40 +0000 (15:45 -0500)
commit66ff8e3f938e33a59c55ecf8011422a4c0174ce7
tree552a87a03d5d718d139d33140d84af8adec5c581
parent66d583dc40af49e00d85385eb6f148c0fe3f7d50
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.028784 seconds and 5 git commands to generate.