Christian Babeux | 31 Oct 20:33 2014

[PATCH lttng-ust] Fix: Warn when log4j version is too old

Signed-off-by: Christian Babeux <christian.babeux <at>>
 liblttng-ust-java-agent/java/org/lttng/ust/agent/ | 1 +
 1 file changed, 1 insertion(+)

diff --git a/liblttng-ust-java-agent/java/org/lttng/ust/agent/ b/liblttng-ust-java-agent/java/org/lttng/ust/agent/
index 47b4519..f7e1e38 100644
--- a/liblttng-ust-java-agent/java/org/lttng/ust/agent/
+++ b/liblttng-ust-java-agent/java/org/lttng/ust/agent/
 <at>  <at>  -119,6 +119,7  <at>  <at>  public class LTTngAgent {
 		try {
 		} catch (NoSuchMethodException e) {
+			System.err.println("Warning: The loaded log4j library is too old. Log4j tracing with LTTng will be disabled.");
 			return false;
 		} catch (NullPointerException e) {
 			/* Should never happen */

Christian Babeux | 31 Oct 20:33 2014

[PATCH lttng-ust] Update Java agent documentation

Signed-off-by: Christian Babeux <christian.babeux <at>>
 doc/           |  2 +-
 doc/java-agent.txt        | 51 +++++++++++++++++++++++++++++++++++++++++++++++
 doc/java-util-logging.txt | 41 -------------------------------------
 3 files changed, 52 insertions(+), 42 deletions(-)
 create mode 100644 doc/java-agent.txt
 delete mode 100644 doc/java-util-logging.txt

diff --git a/doc/ b/doc/
index 72dcde2..ba21e9f 100644
--- a/doc/
+++ b/doc/
 <at>  <at>  -5,4 +5,4  <at>  <at>  dist_man_MANS = man/lttng-gen-tp.1 \
 	man/lttng-ust-dl.3 \

-dist_doc_DATA = java-util-logging.txt
+dist_doc_DATA = java-agent.txt
diff --git a/doc/java-agent.txt b/doc/java-agent.txt
new file mode 100644
index 0000000..51b0e8c
--- /dev/null
+++ b/doc/java-agent.txt
 <at>  <at>  -0,0 +1,51  <at>  <at> 
+The agent can now be built in three different configurations:
+1) Java agent with JUL support:
+$ ./configure --enable-java-agent-jul
(Continue reading)

Jérémie Galarneau | 31 Oct 19:03 2014

[PATCH lttng-ust] Fix: Try loading classes using the thread context class loader

LTTngAgent should load classes using the current thread context's
class loader and then try using the system class loader if a
ClassNotFoundException is thrown.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau <at>>
 .../java/org/lttng/ust/agent/       | 26 +++++++++++++++++-----
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/liblttng-ust-java-agent/java/org/lttng/ust/agent/ b/liblttng-ust-java-agent/java/org/lttng/ust/agent/
index 293ac84..47b4519 100644
--- a/liblttng-ust-java-agent/java/org/lttng/ust/agent/
+++ b/liblttng-ust-java-agent/java/org/lttng/ust/agent/
 <at>  <at>  -94,8 +94,7  <at>  <at>  public class LTTngAgent {
 		Class<?> logging;

 		try {
-			ClassLoader loader = ClassLoader.getSystemClassLoader();
-			logging = loader.loadClass("org.apache.log4j.spi.LoggingEvent");
+			logging = loadClass("org.apache.log4j.spi.LoggingEvent");
 		} catch (ClassNotFoundException e) {
 			/* Log4j classes not found, no need to create the relevant objects */
 			return false;
 <at>  <at>  -131,10 +130,26  <at>  <at>  public class LTTngAgent {
 		return true;

+	private Class<?> loadClass(String className) throws ClassNotFoundException {
+		ClassLoader loader;
+		Class<?> loadedClass;
(Continue reading)

Marc-André Laperle | 29 Oct 22:39 2014

Listing live sessions after a session is destroyed

I have a viewer connected to relayd and attached to a session named "live". The session is started then destroyed. Then I list the sessions using the same viewer and it returns the destroyed session. If I try to attach to it, it returns a status LTTNG_VIEWER_ATTACH_ALREADY. I think this session should not be listed or there should be a status that indicates that the session doesn't exist anymore. Or is it expected that I create a new viewer before listing the sessions again?

Thank you for the help!
lttng-dev mailing list
lttng-dev <at>
Nathan Lynch | 28 Oct 03:00 2014

[PATCH] lttng-tools: remove bogus argument from prove invocation

An argument of "$2" was added to the prove command line in
tests/ by 68270f0f604e "Mi test: Basic test structure".  This is
harmless since is never called with more than one argument, but
it is confusing, and it breaks patches in OE that add support for
running tests on the target.

Signed-off-by: Nathan Lynch <nathan_lynch <at>>
 tests/ | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/ b/tests/
index ce51639f7626..c6c50fd9cff9 100755
--- a/tests/
+++ b/tests/
 <at>  <at>  -19,4 +19,4  <at>  <at> 

 [ -z "$1" ] && echo "Error: No testlist. Please specify a testlist to run." && exit 1

-prove $2 --merge --exec '' - < $1
+prove --merge --exec '' - < $1

Charles Briere | 27 Oct 21:49 2014

Fixes for Android

The following patch set allows compilation of lttng-tools for Android.
This have been tested with AOSP and may not work if compiling with
Android's NDK toolchain.

The patch concerning the shm compatibility layer is there in preparation
for patches around lttng-ust which will follow soon.
Jonathan Rajotte | 27 Oct 02:21 2014

[PATCH lttng-tools] Fix: mi test: possible race between listing UST events and testapp start

Signed-off-by: Jonathan Rajotte <jonathan.r.julien <at>>
 tests/regression/tools/mi/test_mi | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tests/regression/tools/mi/test_mi b/tests/regression/tools/mi/test_mi
index fa46b51..7acec18 100755
--- a/tests/regression/tools/mi/test_mi
+++ b/tests/regression/tools/mi/test_mi
 <at>  <at>  -507,6 +507,11  <at>  <at>  function test_list_ust_event ()

 	#Begin testing
 	$TESTAPP_BIN $NR_USEC_WAIT & 2>/dev/null
+	pid=$!
+	#Wait for TESTAPP to run
+	while ! kill -0 $pid 2> /dev/null; do :; done
 	list_lttng_with_opts "-u -f"
 	ok $? "Mi test: list ust event xsd validation"

Stefan Seefeld | 25 Oct 22:56 2014

bug reporting link(s) on new website


Looking for the bug trackers for lttng-ust and lttng-tools, I notice, which looks rather incomplete. Is there a
reason it doesn't link the lttng-ust and ltng-tools trackers
( and ?



Stefan Seefeld
CodeSourcery / Mentor Embedded
Mathieu Desnoyers | 25 Oct 14:51 2014

Progress on system crash traces with LTTng using DAX and pmem

Hi Matthew, Hi Ross,

A quick follow up on my progress on using DAX and pmem with
LTTng. I've been able to successfully gather a user-space
trace into buffers mmap'd into an ext4 filesystem within
a pmem block device mounted with -o dax to bypass the page
cache. After a soft reboot, I'm able to mount the partition
again, and gather the very last data collected in the buffers
by the applications. I created a "lttng-crash" program that
extracts data from those buffers and converts the content
into a readable Common Trace Format trace. So I guess
you have a use-case for your patchsets on commodity hardware
right there. :)

I've been asked by my customers if DAX would work well with
mtd-ram, which they are using. To you foresee any roadblock
with this approach ?

FYI, the main reason why my customer wants to go with a
"trace into memory that survives soft reboot" approach
rather than to use things like kexec/kdump is that they
care about the amount of time it takes to reboot their
machines. They want a solution where they can extract the
detailed crash data after reboot, after the machine is
back online, rather than requiring a few minutes of offline
time to extract the crash details.

So I guess next year I'll probably be looking into
allocating the LTTng kernel tracer buffers into an mmap'd file
within a ext2/4-DAX-over-pmem/mtd-ram filesystem. It's going
to be exciting! :)

Please keep me in CC on your next patch versions. I'm willing
to spend some more time reviewing them if needed. By the way,
do you guys have a target time-frame/kernel version you aim
at for getting this work upstream ?




Mathieu Desnoyers
EfficiOS Inc.
David Goulet | 23 Oct 18:01 2014

A kind of farewell :)

Greetings everyone!

This email is to announce that I will be leaving EfficiOS Inc. on
November 1st 2014 thus *not* working full time anymore on the LTTng

<dreamy paragraph>

I've been involved for 5 years in the project of which 4 years
maintaining the lttng-tools code base so rest assure it's with some
sadness that I'm leaving. I'll be tackling new challenges that hopefully
will include a LTTng component :).

</dreamy paragraph>

For now, I will still act as the maintainer but a transition has
started. Jérémie Galarneau (jgalar) will be co-maintainer until he feels
confident to take on the responsabilities alone :). Now the only one
question remains, is Jérémie up to the challenge?! :P

In all seriousness, it's a blast to work on LTTng and rest assure, I
will still be around the LTTng community for a long time!

Thanks to everyone that I had the chance to work and collaborate with,
it has been an immense pleasure for me. I will certainly miss your well
(NOT) formatted patches and one liner bug reports! :P

Remember, LTTng all comes down to this debug output that I added 4 years
ago (and that segfault also on me... :):

	DEBUG1 - [27854/27854]: *** assert failed :-) *** ==> Matthew, BEET
	driven development works!

lttng-dev mailing list
lttng-dev <at>
Anette Schött | 23 Oct 09:10 2014

network namespace and LTTng



I have a question regarding network namespace and LTTng ’live streaming’.


Can you see any problems to have a user application using UST tracing in one network namespace and the lttng-sessiond daemon executing in another namespace?




lttng-dev mailing list
lttng-dev <at>