[lttng-dev] [PATCH lttng-ust v2] Multisession compatible fix for statedump with JUL tracing

Paul Woegerer paul_woegerer at mentor.com
Fri Nov 29 08:32:53 EST 2013


Unfortunately, the first version of the deadlock fix broke the multi-session
usecase as a side effect.  This revised version works fine even for
multi-session scenarios.

I used the following bash-script for verification:

#!/bin/bash
function session_start {
	lttng create $1
	local SARG="-s $1"
	lttng enable-event -j -a $SARG
	lttng enable-channel -u test $SARG
	lttng enable-event -u -a -c test $SARG
	lttng start $1
}
function session_stop {
	lttng stop $1
}
function session_destroy {
	lttng destroy $1
}

session_start s1
session_start s2
session_start s3
(sleep 6 && session_start a1)&
(sleep 12 && session_start a2)&
(sleep 18 && session_start a3)&

./run

session_stop s1
session_stop s2
session_stop s3
session_stop a1
session_stop a2
session_stop a3

# start a new bash session to allow browsing the results (e.g. lttng view a1, ...)
# exit that session to do the cleanup.
PS1="(browse results) " bash -i

session_destroy s1
session_destroy s2
session_destroy s3
session_destroy a1
session_destroy a2
session_destroy a3
# script-end

Paul Woegerer (1):
  Fix: baddr_statedump deadlock with JUL tracing

 include/lttng/ust-events.h       |  6 ++++++
 liblttng-ust/lttng-events.c      | 19 ++++++++++++++++++-
 liblttng-ust/lttng-tracer-core.h |  3 +--
 liblttng-ust/lttng-ust-comm.c    | 30 +++++++++++++++++-------------
 4 files changed, 42 insertions(+), 16 deletions(-)

-- 
1.8.4




More information about the lttng-dev mailing list