Project

General

Profile

Bug #793

lttng stop never finishes when using overwrite mode (not in snapshot mode)

Added by Jérémie Galarneau almost 6 years ago. Updated almost 6 years ago.

Status:
Resolved
Priority:
High
Assignee:
Target version:
Start date:
04/29/2014
Due date:
% Done:

100%

Estimated time:

Description

The lttng stop command never stops waiting for data availability with the following command sequence.

[jgalar@XThink ~/lttng-traces]$ lttng create test
Session test created.
Traces will be written in /home/jgalar/lttng-traces/test-20140429-172712
[jgalar@XThink ~/lttng-traces]$ lttng enable-channel test-chan -k --subbuf-size 12M --num-subbuf 1 --overwrite
Warning: The subbuf size (12582912) is rounded to the next power of 2 (16777216)
Kernel channel test-chan enabled for session test
[jgalar@XThink ~/lttng-traces]$ lttng enable-event -k -a -c test-chan
All Kernel events are enabled in channel test-chan
[jgalar@XThink ~/lttng-traces]$ lttng start
Tracing started for session test
[jgalar@XThink ~/lttng-traces]$ lttng stop
Waiting for data availability...............................................................................................................................................................................................................................................
pre>
#1

Updated by David Goulet almost 6 years ago

  • Status changed from New to Confirmed
  • Priority changed from Normal to High
  • Target version changed from 2.5 to 2.3

There seems to be an issue with the --overwrite alone where in 2.4 and master, --snapshot is used for the purpose of flight recorder. One thing certain is that you can't use this option with a session with an output defined thus the enable-channel should have fail because the session is not set in --no-output.

I'm also going to link this one with the open issue for the deprecation of --no-output

#2

Updated by David Goulet almost 6 years ago

After investigation, the flush/stop of the kernel in overwrite mode does not actually write data on disk (not even the padding) thus the "output_written" of the stream always equal 0 which keeps the data pending in a loop waiting for at least some data.

A destroy fixes the issue and provide a readable trace but only stops actually makes the trace unreadable.

#3

Updated by David Goulet almost 6 years ago

  • Status changed from Confirmed to Resolved
  • % Done changed from 0 to 100

Also available in: Atom PDF