[ltt-dev] Flight-recording mode

Mathieu Desnoyers compudj at krystal.dyndns.org
Tue Nov 1 15:46:02 EDT 2011


* Gerlando Falauto (gerlando.falauto at keymile.com) wrote:
> On 11/01/2011 07:41 PM, Mathieu Desnoyers wrote:
>
>>> I am having problems seeing those traces on LTTv though.
>>> I had to come up with a workaround by patching LLTv and doing some weird
>>> stuff after loading the trace in order to have LTTv not crash.
>>
>> That's not supposed to be necessary. Which lttv version are you using ?
>> A gdb backtrace of the crash, with lttv compiled with make clean; make
>> CFLAGS=-g   would be helpful.
>
> Actually, I had already sent a trace which breaks lttv to Alexandre.
> He was able to reproduce it and said he forwarded it To Whom It May  
> Concern (R).
> Anyway, you can find it attached, and here is my "report":
>
> ============================
> If you delete flight-irq-state_0 (so you're left off with metadata_0  
> alone) everything works fine.
> As soon as you add it back, lttv crashes on load.
>
> I also have found (by chance of course) a complicated workaround, if you  
> want to make a comparison. Just do as follows:
>
> - untargz lttv
> - ./configure && make
> - Apply the attached patch
> - Run make && sudo make install
> - Open lttv
> - Destroy the control flow viewer
> - Open the trace
> - DO NOT TOUCH ANYTHING, just click on the "New window icon"
> - Work on the newly opened window, and LEAVE THE FIRST WINDOW ALONE!!!
>
> As soon as you click on some event on the first window, the application  
> will crash.
> ============================
>
>>> And also, half the times I cannot see some of the process names (of
>>> course, the ones I am really interested in). Is there any explanation
>>> for this?
>>
>> The flight recording mode does not have the events of the statedump done
>> at the beginning of the trace. You might wait to try saving the
>> statedump-related events into separate channels, which are in "normal"
>> mode (not flight recorder).
>
> Sorry, I don't understand your last sentence. If you mean "you might  
> WANT to...", how do I do that?
>
>>>> by specifying flight recorder mode, lttctl is supposed to launch lttd
>>>> only on non-overwrite mode buffers (metadata) first, and only upon trace
>>>> teardown does it hook lttd on the flight recorder buffers.
>>>
>>> If you don't mind me asking, what's the point of having lttd running in
>>> background in that case (all channels in flight recorder mode)?

"want", yes. This can be done by specifying that the "state" channel
should be in non-overwrite mode. You'll have to look into lttctl option
parameters to specify different behavior on a per-channel basis.

>>
>> the metadata channel is always in "normal" mode (not flight recorder),
>> so we need a consumer to get the information as the trace is recorded.
>
> Uhm, so the consumer is needed all along? (i.e., it also records  
> information during the trace, not only at startup?)

If you load a module while tracing is active, you need to add
information about the events located in the loaded modules to the
metadata.

Sorry I don't have time to look into the lttv crash. Focusing on UST 2.0
for now.

Best regards,

Mathieu

>
> Thanks!
> Gerlando


> diff -Nur lttv-0.12.38-21032011/lttv/modules/gui/detailedevents/events.c lttv-0.12.38-21032011.mine/lttv/modules/gui/detailedevents/events.c
> --- lttv-0.12.38-21032011/lttv/modules/gui/detailedevents/events.c	2011-01-25 16:29:18.000000000 +0100
> +++ lttv-0.12.38-21032011.mine/lttv/modules/gui/detailedevents/events.c	2011-10-20 17:07:28.000682000 +0200
> @@ -518,7 +521,7 @@
>    if(event_viewer_data->background_info_waiting == 0) {
>      g_message("event viewer : background computation data ready.");
>  
> -    evd_redraw_notify(event_viewer_data, NULL);
> +    //evd_redraw_notify(event_viewer_data, NULL);
>    }
>  
>    return 0;
> diff -Nur lttv-0.12.38-21032011/lttv/lttv/lttv-gui lttv-0.12.38-21032011.mine/lttv/lttv/lttv-gui
> --- lttv-0.12.38-21032011/lttv/lttv/lttv-gui	2011-10-21 10:38:06.000234000 +0200
> +++ lttv-0.12.38-21032011.mine/lttv/lttv/lttv-gui	2011-10-20 17:06:23.000083000 +0200
> @@ -6,6 +6,8 @@
>  
>  LTTV_CMD=`echo $0 | sed 's/-gui$//'`
>  
> -$LTTV_CMD.real -m lttvwindow -m guievents -m guifilter -m guicontrolflow -m resourceview \
> -    -m guistatistics -m guitracecontrol $*
> +#$LTTV_CMD.real -m lttvwindow -m guievents -m guifilter -m guicontrolflow -m resourceview \
> +#    -m guistatistics -m guitracecontrol $*
> +$LTTV_CMD.real -m lttvwindow  -m guievents -m guicontrolflow \
> +    $*
>  


-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com




More information about the lttng-dev mailing list