<font size=2 face="sans-serif">Hi,</font>
<br>
<br><font size=2 face="sans-serif">We are using babeltrace 1.2.4 and LTTng
Trace Control 2.5.3.  Continously giving babeltrace is throwing this
error.  I am actually getting this while reading a snapshot session
. I have given continously babeltrace and path to read the traces . Then
I am getting this error.</font>
<br>
<br><font size=2 color=#ff0041 face="Calibri">************************************************</font><font size=1 color=#ff0041 face="Arial">
</font><font size=2 color=#ff0041 face="Calibri"><br>
[error] Unexpected end of packet. Either the trace data stream is corrupted
or metadata description does not match data layout.</font><font size=1 color=#ff0041 face="Arial">
</font><font size=2 color=#ff0041 face="Calibri"><br>
[error] Reading event failed.</font><font size=1 color=#ff0041 face="Arial">
</font><font size=2 color=#ff0041 face="Calibri"><br>
Error printing trace.</font><font size=1 color=#ff0041 face="Arial"> <br>
 </font><font size=2 color=#ff0041 face="Calibri"><br>
************************************************</font><font size=1 color=#ff0041 face="Arial">
</font>
<br><font size=1 face="Arial">As you said previously "</font><font size=2 face="Arial"><b>The
corrupted stream probably can't be handled by Babeltrace anymore at that
point.</b></font><font size=1 face="Arial">" </font>
<br>
<br><font size=2 face="sans-serif">Please see the  below code snippet
how we are using the lttng calls to handle our requirement</font>
<br><font size=2 face="sans-serif"><b>creation of session:</b></font>
<br><font size=2 face="sans-serif">           lttng
create s1 --snapshot -o /pramfs/telog</font>
<br><font size=2 face="sans-serif">           lttng
enable-channel ch1 -u --buffers-uid --subbuf-size 4096 --num-subbuf 16</font>
<br><font size=2 face="sans-serif">           #
Enable default events</font>
<br><font size=2 face="sans-serif">           lttng
enable-event -u -c ch1 --loglevel TRACE_INFO '*'</font>
<br>
<br><font size=2 face="sans-serif">After succesful creation of the session
we are able to read the traces using babeltrace successfully. But we have
written a wrappers for using lttng API calls in such a way to meet our
requirement which is reading only traces inside the buffer at that instant
by writing into a file by removing previously created snapshots.</font>
<br>
<br><font size=2 face="sans-serif">lttng_sessions[0].path contains</font><font size=2 color=blue face="sans-serif">
/pramfs/telog</font>
<br><font size=2 face="sans-serif">myrm is a function pointer which cleans
the directory and returns 770 permissions to that particular snapshot path.</font>
<br>
<br><font size=2 face="sans-serif">        if (ted_ss_reboot
== SS_RB_CONF) {</font>
<br><font size=2 face="sans-serif">           
    /* Only read snapshot from last reboot once */</font>
<br><font size=2 face="sans-serif">           
    ted_ss_reboot = SS_RB_DONE;</font>
<br><font size=2 face="sans-serif">           
    extra = FCORRELATE;</font>
<br><font size=2 face="sans-serif">        } else {</font>
<br><font size=2 face="sans-serif">           
    /* Remove all previous snapshots from output folder</font>
<br><font size=2 face="sans-serif">           
     * This way filesystem will not be flooded by snapshots</font>
<br><font size=2 face="sans-serif">           
     * taken every time user reads the log. OBS, All dirs
under</font>
<br><font size=2 face="sans-serif">           
     * path will be deleted.</font>
<br><font size=2 face="sans-serif">           
     */</font>
<br><font size=2 face="sans-serif">           
    if (nftw(lttng_sessions[0].path, myrm, FOPEN_MAX, FTW_DEPTH)
< 0) {</font>
<br><font size=2 face="sans-serif">           
            ERR("Failed to clean path,
%s", lttng_sessions[0].path);</font>
<br><font size=2 face="sans-serif">           
            goto send_rsp;</font>
<br><font size=2 face="sans-serif">           
    }</font>
<br><font size=2 face="sans-serif">        }</font>
<br>
<br><font size=2 face="sans-serif">        /*</font>
<br><font size=2 face="sans-serif">         *
Take a snapshot of lttng buffers  for a given session</font>
<br><font size=2 face="sans-serif">         */</font>
<br><font size=2 face="sans-serif">        /* Create
a output handle */</font>
<br><font size=2 face="sans-serif">        if ((lttng_out
= </font><font size=2 color=blue face="sans-serif">lttng_snapshot_output_create</font><font size=2 face="sans-serif">())
== NULL) {</font>
<br><font size=2 face="sans-serif">           
    ERR("lttng_snapshot_output_create failed");</font>
<br><font size=2 face="sans-serif">           
    ret = -1;</font>
<br><font size=2 face="sans-serif">           
    goto send_rsp;</font>
<br><font size=2 face="sans-serif">        }</font>
<br>
<br><font size=2 face="sans-serif">        /* Take
a snapshot, output path used is same as configured for the session */</font>
<br><font size=2 face="sans-serif">        ret =</font><font size=2 color=blue face="sans-serif">
lttng_snapshot_record</font><font size=2 face="sans-serif">(lttng_sessions[0].name,
lttng_out, 0);</font>
<br><font size=2 face="sans-serif">        if (ret
< 0) {</font>
<br><font size=2 face="sans-serif">           
    ERR("lttng_snapshot_record failed, ses:%s, %s",</font>
<br><font size=2 face="sans-serif">           
        lttng_sessions[0].name, lttng_strerror(ret));</font>
<br><font size=2 face="sans-serif">           
    ret = -1;</font>
<br><font size=2 face="sans-serif">           
    goto send_rsp;</font>
<br><font size=2 face="sans-serif">        }</font>
<br>
<br>
<br><font size=2 face="sans-serif">        lttng_snapshot_output_destroy(lttng_out);</font>
<br>
<br><font size=2 face="sans-serif">        /*</font>
<br><font size=2 face="sans-serif">         *
snapshot folder created by root lttng-sessiond and all its</font>
<br><font size=2 face="sans-serif">         *
subfolders have permissions set to 770, meaning non-privileged</font>
<br><font size=2 face="sans-serif">         *
user cant read/write from/to that folder. A regular user should</font>
<br><font size=2 face="sans-serif">         *
be able to read traces generated by root sessiond.</font>
<br><font size=2 face="sans-serif">         *
Changing permissions to this file tree.</font>
<br><font size=2 face="sans-serif">         */</font>
<br><font size=2 face="sans-serif">        nftw(lttng_sessions[0].path,
mychmod, FOPEN_MAX, FTW_DEPTH);<br>
</font>
<br><font size=2 face="sans-serif">babeltrace --clock-date  --clock-force-correlate
/pramfs/telog</font>
<br><font size=2 face="sans-serif">which was giving the logs which we were
expecting but if we keep this process repeatedly above mentioned error
was coming. I am sharing the log file (there te log read is the wrapper
call for above process which I mentioned).Please tell if any other logs
were required.</font>
<br>
<br>
<br>
<br><font size=2 face="sans-serif"><br>
Thanks & Regards<br>
Venkata Ranganadh Kantimahanthi<br>
</font><p>=====-----=====-----=====<br>
Notice: The information contained in this e-mail<br>
message and/or attachments to it may contain <br>
confidential or privileged information. If you are <br>
not the intended recipient, any dissemination, use, <br>
review, distribution, printing or copying of the <br>
information contained in this e-mail message <br>
and/or attachments to it are strictly prohibited. If <br>
you have received this communication in error, <br>
please notify us by reply e-mail or telephone and <br>
immediately and permanently delete the message <br>
and any attachments. Thank you</p>

<p></p>