Project

General

Profile

Actions

Bug #1075

closed

Filters tests failing with Babeltrace 1.2.1 and LTTng-Tools master

Added by Francis Deslauriers over 7 years ago. Updated over 7 years ago.

Status:
Won't fix
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
11/03/2016
Due date:
% Done:

0%

Estimated time:

Description

Getting Babeltrace with apt-get on Trusty 14.04, installs v1.2.1.
Running LTTng-Tools master filtering tests (regression/tools/filtering) with this version fails because of the regex in the babelstat.pl script can't find matches in Babeltrace's output.

The text output of Babeltrace was changed by this commit: [[https://github.com/efficios/babeltrace/commit/28ec16362c75cd5ae77c338b3e27a045176c975a]]
Writing the text output of a trace recorded with LTTng post-2.8 with a Babeltrace ~pre-v1.2.5 will cause the packet_seq_num to be printed and will make the tests fail.

Here is the output of the same LTTng 2.10.0.pre trace with Babeltrace before and after this commit:

 46b43f0
 [15:34:31.394612374] (+?.?????????) linaro-server tp:tptest: { packet_seq_num = 0, cpu_id = 13 }, { procname = "gen-ust-events" }, { intfield = 1, intfield2 = 0x1, longfield = 1, netintfield = 1, netintfieldhe
    x = 0x1, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield
     = "test", stringfield2 = "\*", floatfield = 2222, doublefield = 2 }                                                                                                                                             
 [15:34:31.394681875] (+0.000069501) linaro-server tp:tptest: { packet_seq_num = 0, cpu_id = 13 }, { procname = "gen-ust-events" }, { intfield = 2, intfield2 = 0x2, longfield = 2, netintfield = 2, netintfieldhe
    x = 0x2, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield 
     = "test", stringfield2 = "\*", floatfield = 2222, doublefield = 2 }

 28ec163
 [15:34:31.394612374] (+?.?????????) linaro-server tp:tptest: { cpu_id = 13 }, { procname = "gen-ust-events" }, { intfield = 1, intfield2 = 0x1, longfield = 1, netintfield = 1, netintfieldhex = 0x1, arrfield1 =
     [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", stringfie 
    ld2 = "\*", floatfield = 2222, doublefield = 2 }
 [15:34:31.394681875] (+0.000069501) linaro-server tp:tptest: { cpu_id = 13 }, { procname = "gen-ust-events" }, { intfield = 2, intfield2 = 0x2, longfield = 2, netintfield = 2, netintfieldhex = 0x2, arrfield1 =
     [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", stringfie 
    ld2 = "\*", floatfield = 2222, doublefield = 2 }

One solution could be to upgrade the Trusty package to a more recent version.
Another solution would be to include a second regex in babelstat.pl that is run when and older Babeltrace is detected.

Actions #1

Updated by Jérémie Galarneau over 7 years ago

  • Status changed from New to Won't fix

packet_seq_num was indeed added since the release of Babeltrace 1.2. We have opted to hide this field in newer babeltrace versions to make the default output less "spammy". In essence, we hide it for the same reason we hide the packet_size and packet_content fields.

The Babeltrace text output is not considered an ABI, so changing it is not a bug per se (although we don't change it too often).

Changing the regexp to ignore the packet_seq_num field seems like the way to go. Even better would be validating the trace output using the python bindings, but that's a problem for another day ;)

Actions

Also available in: Atom PDF