Fix: load: incomplete error handling for load_session_from_file
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 17 Apr 2020 19:49:52 +0000 (15:49 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Mon, 20 Apr 2020 19:33:12 +0000 (15:33 -0400)
commit317ea246af2890928a75913db461ff2f417e518c
tree6516108290778365809707fee3780583d7a6d658
parent2666d3521813f94d6c6ed055f2beaf759989ce59
Fix: load: incomplete error handling for load_session_from_file

This fix is adapted from a fix against the stable-2.11 branch.  The
commit message of the stable-2.11 branch follows.

An equivalent fix was already in place in `load_session_from_path()`,
but the same problem as the stable-2.11 branch is present in
`load_session_from_file()`.

Original message:

Observed issue
==============

lttng-ivc test fails to fail.

test_save_load_blocking_timeout[lttng-tools-2.12-lttng-tools-2.11-False]

Here we load a xml created by lttng-tools-2.12 and try to load it using
lttng-tools 2.11. We expect this to fail on the load.

The command report an error on the stderr but the command return code
value is zero.

From lttng-ivc test runtime.log:
Command #0
  Return value: 0
  Command: lttng load --input-path=/home/joraj/lttng/lttng-ivc/.tox/py3/tmp/test_save_load_blocking_timeou0/save_load saved_trace
  STDOUT:
      Session saved_trace has been loaded successfully
  STDERR:
      XML Error: Element 'process_attr_trackers': This element is not expected.
      Error: Session configuration file validation failed

Cause
=====

The error coming from load_session_from_file is not handled correctly.

Solution
========

Rework error handling in load_session_from_path and
load_session_from_file.

LTTNG_ERR_LOAD_SESSION_NOENT is NOT an error when session_name is
specified in load_session_from_path. In this scenario, we are actively
looking for the configuration of the session.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Change-Id: Ic68c253aa194bf8ab72c3c271f10d443118bdeee
src/common/config/session-config.c
This page took 0.026962 seconds and 4 git commands to generate.