babeltrace.git
11 years agoRevert "Fix babeltrace-log uninitialized memory"
Mathieu Desnoyers [Fri, 7 Sep 2012 13:16:19 +0000 (09:16 -0400)] 
Revert "Fix babeltrace-log uninitialized memory"

This reverts commit 36741bea2b53007c29ac0391ee9086722e00653a.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix babeltrace-log uninitialized memory
Hui Zhu [Fri, 7 Sep 2012 12:36:28 +0000 (08:36 -0400)] 
Fix babeltrace-log uninitialized memory

Got a crash with babeltrace-log.

../../../babeltrace/include/babeltrace/mmap-align.h:78
index=0, whence=0)
    at ../../../babeltrace/formats/ctf/ctf.c:623
    at ../../../babeltrace/formats/ctf/ctf.c:576
<_IO_2_1_stdin_>)
    at ../../babeltrace/converter/babeltrace-log.c:233
../../babeltrace/converter/babeltrace-log.c:342

This issue because pos is used before it init.  This patch init it in
function ctf_init_pos.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: access field properties by declaration
Julien Desfossez [Thu, 6 Sep 2012 21:42:26 +0000 (17:42 -0400)] 
Fix: access field properties by declaration

The functions that give access to the properties of the fields (int
signedness, base, char len, etc), were only working with definition
struct which prevented their use before actually reading the events.

This patch changes the prototypes of these functions to use
declarations instead of definitions and provides a converter
function to access the declaration from a definition.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: check return value of get_char_array
Julien Desfossez [Tue, 28 Aug 2012 04:01:39 +0000 (00:01 -0400)] 
Fix: check return value of get_char_array

Arrays that are not char arrays will cause a segfault if we don't check
the return value of get_char_array before accessing the str pointer.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: C++ support to API header files
Julien Desfossez [Mon, 27 Aug 2012 17:27:32 +0000 (13:27 -0400)] 
Fix: C++ support to API header files

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoUpdate version to 1.0.0-rc5 v1.0.0-rc5
Mathieu Desnoyers [Mon, 27 Aug 2012 12:38:15 +0000 (08:38 -0400)] 
Update version to 1.0.0-rc5

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoChange default printout to add host, process names and vpid
Mathieu Desnoyers [Mon, 27 Aug 2012 01:15:32 +0000 (21:15 -0400)] 
Change default printout to add host, process names and vpid

Showing the hostname:procname:vpid is a very useful default behavior.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: David Goulet <david.goulet@efficios.com>
Acked-by: Julien Desfossez <jdesfossez@efficios.com>
11 years agoAdd support for trace:hostname field
Mathieu Desnoyers [Mon, 27 Aug 2012 00:22:27 +0000 (20:22 -0400)] 
Add support for trace:hostname field

Very, very, incredibly useful for multi-node traces.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: allow specifying more than one input trace path
Mathieu Desnoyers [Sun, 26 Aug 2012 23:58:47 +0000 (19:58 -0400)] 
Fix: allow specifying more than one input trace path

We need to fix this right away: leaving the OUTPUT cmd line argument
take away the possibility to specify multiple input trace paths, with is
a very common use-case when merging traces from various nodes.

Now, output can be changed by specifying -w, --output OUTPUT. This is a
rare use-case anyway, to allowing multiple input paths outweight the
need for cmd line arg compatibility, even at this stage.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Acked-by: Julien Desfossez <julien.desfossez@efficios.com>
11 years agoFix: make warnings (partial errors) visible
Mathieu Desnoyers [Sun, 26 Aug 2012 23:11:24 +0000 (19:11 -0400)] 
Fix: make warnings (partial errors) visible

If a partial error happens (some traces cannot be opened), wait for 3
seconds before showing the conversion output, to ensure users can see
the warnings.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: --clock-force-correlate to handle trace collections gathered from various nodes
Mathieu Desnoyers [Sun, 26 Aug 2012 19:08:06 +0000 (15:08 -0400)] 
Fix: --clock-force-correlate to handle trace collections gathered from various nodes

Currently, traces generated by lttng have the "absolute" flag set to 0,
because they are based on the monotonic clock, which is not perfectly
correlated across nodes.

Fix a couple of minor issue in the handling of --clock-force-correlate
that now allow to use it to force correlation of traces taken with the
monotonic clock source, with "offset" approximation populated using NTP
time.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoDocumentation: update API doc with enum functions
Julien Desfossez [Fri, 24 Aug 2012 02:04:04 +0000 (22:04 -0400)] 
Documentation: update API doc with enum functions

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: API: remove unsupported BT_SEEK_END from API
Mathieu Desnoyers [Fri, 24 Aug 2012 01:19:47 +0000 (21:19 -0400)] 
Fix: API: remove unsupported BT_SEEK_END from API

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAPI documentation
Danny Serres [Fri, 24 Aug 2012 01:08:51 +0000 (21:08 -0400)] 
API documentation

Signed-off-by: Danny Serres <danny.serres@efficios.com>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: shut up gcc uninitialized var warning
Mathieu Desnoyers [Fri, 24 Aug 2012 01:00:23 +0000 (21:00 -0400)] 
Cleanup: shut up gcc uninitialized var warning

Even though it should never be used unset (due to return value), let's
be extra careful and check if indeed not set, and return an error in
that case.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: support large files on 32-bit systems
Mathieu Desnoyers [Fri, 24 Aug 2012 00:56:15 +0000 (20:56 -0400)] 
Fix: support large files on 32-bit systems

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: remove unused fts.h include
Mathieu Desnoyers [Fri, 24 Aug 2012 00:45:21 +0000 (20:45 -0400)] 
Fix: remove unused fts.h include

Will allow us to enable LFS support on 32-bit.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: add missing enum support to API
Mathieu Desnoyers [Fri, 24 Aug 2012 00:39:04 +0000 (20:39 -0400)] 
Fix: add missing enum support to API

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: handle clock offset with frequency different from 1GHz
Mathieu Desnoyers [Fri, 24 Aug 2012 00:07:00 +0000 (20:07 -0400)] 
Fix: handle clock offset with frequency different from 1GHz

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: update ifdef wrapper name
Mathieu Desnoyers [Fri, 24 Aug 2012 00:04:19 +0000 (20:04 -0400)] 
Cleanup: update ifdef wrapper name

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: clarify bt_ctf_get_field_list
Mathieu Desnoyers [Thu, 23 Aug 2012 21:59:20 +0000 (17:59 -0400)] 
Fix: clarify bt_ctf_get_field_list

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix trace-collection.h: No such file or directory that build code with libbabeltrace
Hui Zhu [Thu, 23 Aug 2012 12:07:32 +0000 (08:07 -0400)] 
Fix trace-collection.h: No such file or directory that build code with libbabeltrace

After I install the babeltrace and try to build a code, I got this:
gcc -Wall  -g 1.c -lbabeltrace -lbabeltrace-ctf
In file included from 1.c:11:0:
/usr/local/include/babeltrace/babeltrace.h:23:41: fatal error:
babeltrace/trace-collection.h: No such file or directory
compilation terminated.

I check the code, looks most of function of trace-collection.h is
covered by context.h.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: check return value of bt_context_create
Julien Desfossez [Tue, 21 Aug 2012 14:45:07 +0000 (10:45 -0400)] 
Fix: check return value of bt_context_create

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: ensure mmap_base_offset is zeroed on initialization
Mathieu Desnoyers [Mon, 20 Aug 2012 20:09:25 +0000 (16:09 -0400)] 
Fix: ensure mmap_base_offset is zeroed on initialization

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: Reswitch to FTW for add_traces_recursive
Yannick Brosseau [Mon, 20 Aug 2012 19:57:18 +0000 (15:57 -0400)] 
Fix: Reswitch to FTW for add_traces_recursive

FTS does not support Large Files

(refs #315)

Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: don't free unallocated index
Julien Desfossez [Sat, 18 Aug 2012 13:16:42 +0000 (09:16 -0400)] 
Fix: don't free unallocated index

When opening a mmap trace, the index is not created so does not need to
be freed, just add a check before freeing it.
For clarity, this patch also allocates the packet_real_index just after
the packet_cycles_index instead of waiting for the convert timestamp
function.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: don't close the metadata FD if a FP is passed
Julien Desfossez [Fri, 17 Aug 2012 11:57:53 +0000 (07:57 -0400)] 
Fix: don't close the metadata FD if a FP is passed

In ctf_open_trace_metadata_read if the metadata_fp is passed we must
not close the metadata_stream->pos.fd which is zero in this case.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAdd BT_SEEK_LAST type to bt_iter_pos
Mathieu Desnoyers [Fri, 17 Aug 2012 04:01:54 +0000 (00:01 -0400)] 
Add BT_SEEK_LAST type to bt_iter_pos

Inspired from patch by Francis Deslauriers and Julien Desfossez.

Acked-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: iterator.c BT_SEEK_RESTORE: check return value
Mathieu Desnoyers [Fri, 17 Aug 2012 01:09:33 +0000 (21:09 -0400)] 
Fix: iterator.c BT_SEEK_RESTORE: check return value

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: complete error handling of babeltrace API
Mathieu Desnoyers [Thu, 16 Aug 2012 16:12:46 +0000 (12:12 -0400)] 
Fix: complete error handling of babeltrace API

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agocleanup: protected -> hidden: cleanup symbol table
Mathieu Desnoyers [Thu, 16 Aug 2012 14:49:38 +0000 (10:49 -0400)] 
cleanup: protected -> hidden: cleanup symbol table

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: add mmap_base_offset to ctf_stream_pos
Julien Desfossez [Wed, 15 Aug 2012 21:32:01 +0000 (17:32 -0400)] 
Fix: add mmap_base_offset to ctf_stream_pos

When dealing with mmap traces, the whole trace buffer is mmapped in
babeltrace and we may need to read it one subbuffer at a time.
In order to do that, we need to keep a reference of the base of the
current subbuffer inside the mmap region.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: assign the current clock for mmap traces
Julien Desfossez [Tue, 14 Aug 2012 15:22:41 +0000 (11:22 -0400)] 
Fix: assign the current clock for mmap traces

This assignation was missing in the code path for opening mmap traces.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: libbabeltrace add missing static declaration
Mathieu Desnoyers [Fri, 10 Aug 2012 22:00:45 +0000 (18:00 -0400)] 
Fix: libbabeltrace add missing static declaration

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: safety checks for opening mmap traces
Julien Desfossez [Fri, 10 Aug 2012 21:36:48 +0000 (17:36 -0400)] 
Fix: safety checks for opening mmap traces

When adding a mmap trace in the context, we don't have any tracefile and
index, some safety checks were missing in the path handling and
timestamp manipulation.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoRemove trace-collection.h from include_headers
Danny Serres [Fri, 10 Aug 2012 21:33:17 +0000 (17:33 -0400)] 
Remove trace-collection.h from include_headers

Signed-off-by: Danny Serres <danny.serres@efficios.com>
Acked-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: protect visibility of ctf-parser functions
Mathieu Desnoyers [Fri, 10 Aug 2012 21:12:21 +0000 (17:12 -0400)] 
Fix: protect visibility of ctf-parser functions

Some functions share the same name between ctf-parser/lexer and
filter-parser/lexer.

This patch protects the visibility of the functions with the same name
to avoid linkage confusions.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
11 years agoFix: correct name of bt_ctf_field_get_error in comments and typo in man page
Danny Serres [Thu, 9 Aug 2012 16:34:59 +0000 (12:34 -0400)] 
Fix: correct name of bt_ctf_field_get_error in comments and typo in man page

Signed-off-by: Danny Serres <danny.serres@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: wrong type in bt_ctf_get_uint64/int64
Julien Desfossez [Tue, 7 Aug 2012 19:42:15 +0000 (15:42 -0400)] 
Fix: wrong type in bt_ctf_get_uint64/int64

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoRevert "Cleanup: YYPARSE_PARAM and YYLEX_PARAM are deprecated in bison 2.6"
Mathieu Desnoyers [Tue, 7 Aug 2012 17:39:47 +0000 (13:39 -0400)] 
Revert "Cleanup: YYPARSE_PARAM and YYLEX_PARAM are deprecated in bison 2.6"

This reverts commit 51f4bb7a60d9f073553691dd0f4a52a88592c727.

Still needed for bison 2.5.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAPI cleanup name get_timestamp and get_cycles
Julien Desfossez [Tue, 7 Aug 2012 15:49:47 +0000 (11:49 -0400)] 
API cleanup name get_timestamp and get_cycles

Rename bt_ctf_get_cycles_timestamp to bt_ctf_get_cycles,
and bt_ctf_get_real_timestamp to bt_ctf_get_timestamp.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: YYPARSE_PARAM and YYLEX_PARAM are deprecated in bison 2.6
Mathieu Desnoyers [Tue, 7 Aug 2012 15:23:43 +0000 (11:23 -0400)] 
Cleanup: YYPARSE_PARAM and YYLEX_PARAM are deprecated in bison 2.6

See https://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html

Reported-by: Christian Babeux <christian.babeux@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agofix comment struct bt_saved_pos
Julien Desfossez [Sun, 5 Aug 2012 17:48:57 +0000 (13:48 -0400)] 
fix comment struct bt_saved_pos

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: Add missing clock-types.h
Julien Desfossez [Fri, 3 Aug 2012 19:03:07 +0000 (15:03 -0400)] 
Fix: Add missing clock-types.h

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoGet rid of clock-raw and use real clock
Julien Desfossez [Fri, 3 Aug 2012 18:55:00 +0000 (14:55 -0400)] 
Get rid of clock-raw and use real clock

The clock-raw does not make much sense except internally, using this
clock for seeks and with the public API is more complicated than
necessary.

This patch replaces the clock-raw by a clock-cycles (does not scale the
timestamp with the frequency) and make sure all the calls that
manipulate timestamps use the timestamp in nanoseconds with the offset
applied.
That way the user of the API don't need to bother with the "raw"
timestamp which won't be convenient when dealing with multiple traces
taken in different timezones.

Traces output before and after this patch are exactly the same
and multiple API calls have been tested with real timestamps and
everything seems to work fine.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup (messages): Make the wording of the signedness warning clearer
Yannick Brosseau [Fri, 3 Aug 2012 18:47:52 +0000 (14:47 -0400)] 
Cleanup (messages): Make the wording of the signedness warning clearer

Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: error path if heap_init fails
Julien Desfossez [Thu, 2 Aug 2012 22:24:43 +0000 (18:24 -0400)] 
Fix: error path if heap_init fails

Avoid an eventual double-free if heap_init fails in bt_iter_set_pos.

[ Note by Mathieu Desnoyers: the current implementation of heap_init
  ensures that ptrs is set to NULL when it fails, so there is currently
  no double-free situation. But let's not rely on this implementation
  detail that might change in the future. ]

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: Remove obsolete bt_iter_seek function
Julien Desfossez [Thu, 2 Aug 2012 22:07:54 +0000 (18:07 -0400)] 
Fix: Remove obsolete bt_iter_seek function

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoMake the signedness warning useful with the field name
Yannick Brosseau [Thu, 2 Aug 2012 21:53:33 +0000 (17:53 -0400)] 
Make the signedness warning useful with the field name

Signed-off-by: Yannick Brosseau <yannick.brosseau@gmail.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: Restore heap for SEEK_BEGIN
Julien Desfossez [Thu, 2 Aug 2012 21:45:54 +0000 (17:45 -0400)] 
Fix: Restore heap for SEEK_BEGIN

We don't know in which state the heap is when we call a SEEK_BEGIN, so
we need to clear it and populate it when all the filestreams are in
place.

Fixes: #319
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: check if handle is valid
Julien Desfossez [Wed, 25 Jul 2012 13:32:12 +0000 (09:32 -0400)] 
Fix: check if handle is valid

Fixes: #317
[ Edit by Mathieu Desnoyers: put successful return at end of function,
  and error return with the test for error. ]

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: iterator set_pos
Julien Desfossez [Tue, 24 Jul 2012 18:04:01 +0000 (14:04 -0400)] 
Fix: iterator set_pos

Iterating over all the streams of the trace_collection was a mistake
since we could not identify the end of the streams (so we would always
save the position of the last event).

When we save the new position, we now iterate over each stream active in
a copy of the current heap to save their position. That way we don't
save the position for streams read entirely.

Fixes: #293
Fixes: #296
[ Edit by Mathieu Desnoyers: fix memory leaks on errors ]

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: get rid of consumed flag
Mathieu Desnoyers [Tue, 24 Jul 2012 17:54:19 +0000 (13:54 -0400)] 
Fix: get rid of consumed flag

This flag is not appropriately used in the context of the library and is
not required. We now introduce a "poison" value to know when the
last_offset value is bogus.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
11 years agoFix: add missing heap_copy
Julien Desfossez [Tue, 24 Jul 2012 15:54:02 +0000 (11:54 -0400)] 
Fix: add missing heap_copy

This function allows the user to copy an existing priority heap.
It is required to fix the seek by position.

Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: babeltrace assert() triggered by directories within trace
Mathieu Desnoyers [Thu, 19 Jul 2012 22:35:15 +0000 (18:35 -0400)] 
Fix: babeltrace assert() triggered by directories within trace

Need to check if the file descriptors are directories and skip them.
Print warning.

Fixes #313

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoSeveral fixes for bt_iter_pos related functions
Francis Deslauriers [Wed, 4 Jul 2012 13:15:25 +0000 (09:15 -0400)] 
Several fixes for bt_iter_pos related functions

Add verification so we free the array only if iterator is of type BT_SEEK_RESTORE
Add return statement at the end of case
Set type of bt_iter_pos returned by bt_iter_get_pos

[ Mathieu Desnoyers edit: check the iter_pos->type before the restore
  pointer in bt_iter_free_pos. The && operator is a sequence point, so
  the first check is done before the second. Since we might not be
  using the union for restore if type != BT_SEEK_RESTORE, check the
  type first before accessing the (possibly wrong) union field. ]

Signed-off-by: Francis Deslauriers <francis.deslauriers@polymtl.ca>
Signed-off-by: Julien Desfossez <jdesfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix iterator: various fixes
Mathieu Desnoyers [Fri, 22 Jun 2012 14:35:54 +0000 (10:35 -0400)] 
Fix iterator: various fixes

- various return values were untested
- seek_file_stream_by_timestamp off-by-one
- multi-trace logic issue
- not testing the return value of g_ptr_array_index() for NULL (possible
  NULL pointer dereference)

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: remove duplicate yydebug var
Mathieu Desnoyers [Mon, 18 Jun 2012 18:14:07 +0000 (14:14 -0400)] 
Fix: remove duplicate yydebug var

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix babeltrace iterator lib: seek at time 0
Julien Desfossez [Thu, 14 Jun 2012 12:09:44 +0000 (08:09 -0400)] 
Fix babeltrace iterator lib: seek at time 0

When seeking by timestamp, we assumed that the timestamp passed as an
argument was a real timestamp from the trace. However LTTV uses
timestamp 0 to refer to the beginning of the trace. This fix ensures
that we read at least the first event after the seek.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoUpdate version to 1.0.0-rc4 v1.0.0-rc4
Mathieu Desnoyers [Wed, 30 May 2012 18:19:57 +0000 (14:19 -0400)] 
Update version to 1.0.0-rc4

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAdd CodingStyle to tarball
Mathieu Desnoyers [Wed, 30 May 2012 13:46:56 +0000 (09:46 -0400)] 
Add CodingStyle to tarball

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoAdd coding style document
Mathieu Desnoyers [Wed, 30 May 2012 13:09:22 +0000 (09:09 -0400)] 
Add coding style document

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: babeltrace should use output format argument
Fredrik Oestman [Wed, 30 May 2012 12:36:07 +0000 (08:36 -0400)] 
Fix: babeltrace should use output format argument

"Please make this little change, otherwise ctf-text is always output
regardless of "-o"."

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: accept traces which skip stream ids
Mathieu Desnoyers [Tue, 29 May 2012 22:56:49 +0000 (18:56 -0400)] 
Fix: accept traces which skip stream ids

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoUse mmap_align
Mathieu Desnoyers [Tue, 29 May 2012 22:54:43 +0000 (18:54 -0400)] 
Use mmap_align

Allow reading traces with packet size different from the machine page
size.

Fixes #237

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoalign header: define PAGE_SIZE
Mathieu Desnoyers [Tue, 29 May 2012 22:54:21 +0000 (18:54 -0400)] 
align header: define PAGE_SIZE

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoImplement mmap alignment header
Mathieu Desnoyers [Tue, 29 May 2012 22:53:11 +0000 (18:53 -0400)] 
Implement mmap alignment header

Allows reading traces written on systems with smaller page size on
systems with larger page size.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: type warnings
Mathieu Desnoyers [Tue, 29 May 2012 21:04:20 +0000 (17:04 -0400)] 
Cleanup: type warnings

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoCleanup: do not overwrite const argv parameters
Mathieu Desnoyers [Tue, 29 May 2012 20:59:05 +0000 (16:59 -0400)] 
Cleanup: do not overwrite const argv parameters

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoUpdate version to 1.0.0-rc3 v1.0.0-rc3
Mathieu Desnoyers [Tue, 29 May 2012 20:10:06 +0000 (16:10 -0400)] 
Update version to 1.0.0-rc3

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: converter error logic
Mathieu Desnoyers [Wed, 9 May 2012 01:32:26 +0000 (21:32 -0400)] 
Fix: converter error logic

- If a subdirectory is empty, just warn and continue anyway.
- On partial error, babeltrace now returns a nonzero error value to the
  parent process, even though it proceeds anyway.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: report appropriate field in error message
Mathieu Desnoyers [Fri, 4 May 2012 03:00:42 +0000 (23:00 -0400)] 
Fix: report appropriate field in error message

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: support 64-bit events discarded counter types
Mathieu Desnoyers [Wed, 2 May 2012 15:48:52 +0000 (11:48 -0400)] 
Fix: support 64-bit events discarded counter types

Previously, counters coming for 64-bit architectures would be treated in
the same way as 32-bit counters, and would therefore miss 32-bit
overflows (only happens if 2^32 events or more are lost within in a
packet).

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: add missing bt_ctf_get_int_len API
Mathieu Desnoyers [Wed, 2 May 2012 15:47:50 +0000 (11:47 -0400)] 
Fix: add missing bt_ctf_get_int_len API

Useful to track the overflow of integer values.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix bt_context_add_traces_recursive error code
Julien Desfossez [Fri, 27 Apr 2012 20:02:58 +0000 (16:02 -0400)] 
Fix bt_context_add_traces_recursive error code

When an empty directory readable by the user was passed to this
function, the error was not set appropriately, this patch fixes this
problem.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoUpdate version to 1.0.0-rc2 v1.0.0-rc2
Mathieu Desnoyers [Tue, 24 Apr 2012 20:15:01 +0000 (16:15 -0400)] 
Update version to 1.0.0-rc2

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix: return an error if no trace can be opened
Mathieu Desnoyers [Tue, 24 Apr 2012 15:50:43 +0000 (11:50 -0400)] 
Fix: return an error if no trace can be opened

Fixes #222

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
11 years agoFix : double destroy in context remove
Julien Desfossez [Mon, 23 Apr 2012 14:41:18 +0000 (10:41 -0400)] 
Fix : double destroy in context remove

The hashtable storing the trace handle is created with a destroy
function that frees the elements when they are removed. Manually calling
the destroy function after removing a handle for the table causes
double-free problems.

Fixes #197

Reported-by: Mathieu Denis <mathieu.denis@polymtl.ca>
Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUpdate version to 1.0.0-rc1 v1.0.0-rc1
Mathieu Desnoyers [Wed, 18 Apr 2012 21:14:14 +0000 (17:14 -0400)] 
Update version to 1.0.0-rc1

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix: -n "field names" option should allow "none"
Mathieu Desnoyers [Wed, 18 Apr 2012 21:11:41 +0000 (17:11 -0400)] 
Fix: -n "field names" option should allow "none"

- Update manpage, help, and cmd line arg parsing.
- Clarify that the default behavior is "payload,context", implying
  that specifying -n ... overrides the default behavior.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix: Show context field name by default
Mathieu Desnoyers [Wed, 18 Apr 2012 15:37:05 +0000 (11:37 -0400)] 
Fix: Show context field name by default

Everyone seems to be baffled by "what is this { 0 }", so change default
behavior to show the context field name: will show e.g. { cpu_id = 0 }.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoManpage fix: babeltrace-log manpage should refer to lttng(1)
Mathieu Desnoyers [Tue, 17 Apr 2012 20:44:14 +0000 (16:44 -0400)] 
Manpage fix: babeltrace-log manpage should refer to lttng(1)

Fixes #217

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoClarify warning message for events discarded
Mathieu Desnoyers [Mon, 16 Apr 2012 14:33:55 +0000 (10:33 -0400)] 
Clarify warning message for events discarded

Reported-by: Fredrik Oestman <Fredrik_Oestman@mentor.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix: babeltrace should skip erroneous traces
Mathieu Desnoyers [Wed, 11 Apr 2012 21:24:25 +0000 (17:24 -0400)] 
Fix: babeltrace should skip erroneous traces

When opening a trace collection, if one of the traces has an error,
don't forbid opening the entire collection because of it: just print a
warning and continue.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix: put explicit error messages and warnings when opening a trace
Mathieu Desnoyers [Wed, 11 Apr 2012 21:20:19 +0000 (17:20 -0400)] 
Fix: put explicit error messages and warnings when opening a trace

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix: segfault on error handling
Mathieu Desnoyers [Wed, 11 Apr 2012 21:05:58 +0000 (17:05 -0400)] 
Fix: segfault on error handling

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix: enum must use last value + 1 as next item value
Mathieu Desnoyers [Wed, 11 Apr 2012 20:58:32 +0000 (16:58 -0400)] 
Fix: enum must use last value + 1 as next item value

.. for omitted values.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoFix: warn, and don't assert, when reading a value outside enum range
Mathieu Desnoyers [Wed, 11 Apr 2012 11:41:30 +0000 (07:41 -0400)] 
Fix: warn, and don't assert, when reading a value outside enum range

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAPI Fix : missing list fields of event decl
Julien Desfossez [Tue, 10 Apr 2012 21:43:31 +0000 (17:43 -0400)] 
API Fix : missing list fields of event decl

This patchs allows the user to list the fields (in all scopes) for each
event declarations (so as soon as the trace is opened).
It uses a lazy allocation, so the memory for storing the fields is only
allocated if the users asks for the list and it is allocated per event.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAPI fix : fill the values for timestamp begin and end
Julien Desfossez [Thu, 5 Apr 2012 15:49:40 +0000 (11:49 -0400)] 
API fix : fill the values for timestamp begin and end

The API functions were defined and exported but not implemented.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAPI : list of events in the trace
Julien Desfossez [Wed, 4 Apr 2012 00:14:56 +0000 (20:14 -0400)] 
API : list of events in the trace

This function exports the list of events enabled in a trace.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoUUID field should be optional, as specified by CTF spec
Mathieu Desnoyers [Tue, 3 Apr 2012 18:54:05 +0000 (14:54 -0400)] 
UUID field should be optional, as specified by CTF spec

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoBabeltrace ctf-text duplicated error message
Fredrik Oestman [Tue, 3 Apr 2012 12:55:42 +0000 (08:55 -0400)] 
Babeltrace ctf-text duplicated error message

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoAPI fix/breakage : reexporting bt_ctf_event
Julien Desfossez [Mon, 2 Apr 2012 22:02:00 +0000 (18:02 -0400)] 
API fix/breakage : reexporting bt_ctf_event

Replaces the ctf_event_definition to keep the bt_ namespace.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agofix/breakage API : replace bt_ctf_event
Julien Desfossez [Fri, 30 Mar 2012 19:50:12 +0000 (15:50 -0400)] 
fix/breakage API : replace bt_ctf_event

Following the namespace cleanup, the bt_ctf_event structure is now a
ctf_event_definition structure. Users of the API only have to do this
substitution.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoadd ctf_event_definition pointer to ctf_stream_definition
Julien Desfossez [Fri, 30 Mar 2012 19:49:01 +0000 (15:49 -0400)] 
add ctf_event_definition pointer to ctf_stream_definition

also remove two unnecessary forward declarations of
ctf_stream_definition.

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoRename ctf_event to ctf_event_declaration
Julien Desfossez [Fri, 30 Mar 2012 19:48:32 +0000 (15:48 -0400)] 
Rename ctf_event to ctf_event_declaration

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoRename ctf_stream to ctf_stream_definition
Julien Desfossez [Fri, 30 Mar 2012 19:48:00 +0000 (15:48 -0400)] 
Rename ctf_stream to ctf_stream_definition

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoRename ctf_stream_event to ctf_event_definition
Julien Desfossez [Fri, 30 Mar 2012 19:47:37 +0000 (15:47 -0400)] 
Rename ctf_stream_event to ctf_event_definition

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
12 years agoRename ctf_stream_class to ctf_stream_declaration
Julien Desfossez [Fri, 30 Mar 2012 19:47:13 +0000 (15:47 -0400)] 
Rename ctf_stream_class to ctf_stream_declaration

Signed-off-by: Julien Desfossez <julien.desfossez@efficios.com>
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
This page took 0.040522 seconds and 4 git commands to generate.