Alexander Grigoriev | 30 Sep 15:23 2014

Problem with perf:thread in 2.5

Hello,

I use lttng-2.5 and linux-3.8.13. When I try to add context with several performance counters after start program with tracepoints, I get the following error:

> app_with_lttng &  // { tracepoint(test, test, 1); sleep(1000); }
[1] 19297

> lttng destroy -a
No session found, nothing to do.

> lttng -vvv create test
DEBUG3 - 14:54:42.713573 [19313/19313]: URI string: file:///home/alexgri/lttng-traces/test-20140930-145442 (in uri_parse() at uri.c:293)
DEBUG3 - 14:54:42.713607 [19313/19313]: URI file destination: /home/alexgri/lttng-traces/test-20140930-145442 (in uri_parse() at uri.c:330)
DEBUG3 - 14:54:42.713616 [19313/19313]: URI dtype: 3, proto: 0, host: , subdir: , ctrl: 0, data: 0 (in uri_parse() at uri.c:507)
DEBUG1 - 14:54:42.713667 [19313/19313]: LSM cmd type : 8 (in send_session_msg() at lttng-ctl.c:131)
Session test created.
Traces will be written in /home/alexgri/lttng-traces/test-20140930-145442
DEBUG1 - 14:54:42.715819 [19313/19313]: Init config session in /home/alexgri (in config_init() at conf.c:295)

> lttng -vvv add-context -u -t vpid -t perf:thread:cpu-cycles -t perf:thread:instructions -t perf:thread:cache-misses -s test
DEBUG1 - 14:54:52.124745 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)
DEBUG1 - 14:54:52.133393 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)
UST context vpid added to all channels
DEBUG1 - 14:54:52.153445 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)
DEBUG1 - 14:54:52.153499 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)
UST context perf:thread:cpu-cycles added to all channels
DEBUG1 - 14:54:52.154356 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)
DEBUG1 - 14:54:52.154392 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)
Error: perf:thread:instructions: UST context already exist
DEBUG1 - 14:54:52.154469 [19316/19316]: Adding context... (in add_context() at commands/add_context.c:600)
DEBUG1 - 14:54:52.154525 [19316/19316]: LSM cmd type : 0 (in send_session_msg() at lttng-ctl.c:131)
Error: perf:thread:cache-misses: UST context already exist
Warning: Some command(s) went wrong
DEBUG1 - 14:54:52.154620 [19316/19316]: Clean exit (in clean_exit() at lttng.c:167)

'lttng-sessiond -vvv' logs in attachment

Thanks,
Alexander
Attachment (lttng-sessiond-vvv.log): application/octet-stream, 59 KiB
_______________________________________________
lttng-dev mailing list
lttng-dev <at> lists.lttng.org
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
Mathieu Desnoyers | 26 Sep 21:24 2014

lttng-modules: close on exec warning with 3.2.x kernels

Hi Julien,

Can you investigate ? It happens when building lttng-modules
master against a v3.2.62 Linux kernel.

In file included from include/linux/bitops.h:22:0,
                 from include/linux/kernel.h:17,
                 from include/linux/cache.h:4,
                 from include/linux/time.h:7,
                 from include/linux/stat.h:60,
                 from include/linux/module.h:10,
                 from /home/compudj/git/lttng-modules/lttng-statedump-impl.c:30:
/home/compudj/git/lttng-modules/lttng-statedump-impl.c: In function ‘lttng_dump_one_fd’:
/home/compudj/git/linux/arch/x86/include/asm/bitops.h:338:29: warning: passing argument 2 of
‘constant_test_bit’ from incompatible pointer type
   ? constant_test_bit((nr), (addr)) \
                             ^
/home/compudj/git/lttng-modules/lttng-statedump-impl.c:240:27: note: in expansion of macro ‘test_bit’
  if (fd < fdt->max_fds && test_bit(fd, fdt->close_on_exec))
                           ^
/home/compudj/git/linux/arch/x86/include/asm/bitops.h:309:28: note: expected ‘const volatile
long unsigned int *’ but argument is of type ‘struct fd_set *’
 static __always_inline int constant_test_bit(unsigned int nr, const volatile unsigned long *addr)
                            ^
/home/compudj/git/linux/arch/x86/include/asm/bitops.h:339:29: warning: passing argument 2 of
‘variable_test_bit’ from incompatible pointer type
   : variable_test_bit((nr), (addr)))
                             ^
/home/compudj/git/lttng-modules/lttng-statedump-impl.c:240:27: note: in expansion of macro ‘test_bit’
  if (fd < fdt->max_fds && test_bit(fd, fdt->close_on_exec))
                           ^
/home/compudj/git/linux/arch/x86/include/asm/bitops.h:315:19: note: expected ‘const volatile
long unsigned int *’ but argument is of type ‘struct fd_set *’
 static inline int variable_test_bit(int nr, volatile const unsigned long *addr)
                   ^

Thanks,

Mathieu

--

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

_______________________________________________
lttng-dev mailing list
lttng-dev <at> lists.lttng.org
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
nitin.a.kamble | 26 Sep 03:19 2014
Picon

[Patch v2 0/1] fix lttng-modules build with kernel v3.17

From: Nitin A Kamble <nitin.a.kamble <at> intel.com>

The commit I sent earlier is further modified here, to avoid build
breakage with the older kernel version. Now the change to asoc.h is
conditional on the kernel version, and depending on the kernel
version used it chooses right fields for the sound codec.

Thanks,
Nitin

The following changes since commit 91c2dd86ac5ef716c039f30668f4126d019a3a4b:

  Fix: OOT lttng_logger tracepoint not visible with signed kernels (2014-09-16 12:10:37 -0400)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib nitin/lttng-modules
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=nitin/lttng-modules

Nitin A Kamble (1):
  asoc.h: fix build with v3.17 kernel

 instrumentation/events/lttng-module/asoc.h | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

--

-- 
1.8.1.4
nitin.a.kamble | 26 Sep 02:12 2014
Picon

[PATCH 0/1] Fix lttng-modules build with v3.17 kernel

From: Nitin A Kamble <nitin.a.kamble <at> intel.com>

Hi Mathieu,

The lttng-modules build was failing with th v3.17 kernel. The accompanied commit fixes the issue.

Thanks,
Nitin

The following changes since commit 91c2dd86ac5ef716c039f30668f4126d019a3a4b:

  Fix: OOT lttng_logger tracepoint not visible with signed kernels (2014-09-16 12:10:37 -0400)

are available in the git repository at:

  git://git.yoctoproject.org/poky-contrib nitin/lttng-modules
  http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=nitin/lttng-modules

Nitin A Kamble (1):
  asoc.h: fix build with v3.17 kernel

 instrumentation/events/lttng-module/asoc.h | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

--

-- 
1.8.1.4
Christian Babeux | 25 Sep 18:08 2014

[PATCH lttng-ust] Cleanup: Remove the no longer needed liblttng-ust-jul folder

Signed-off-by: Christian Babeux <christian.babeux <at> efficios.com>
---
 liblttng-ust-jul/org/lttng/ust/jul/LTTngAgent.java | 138 ---------------------
 .../org/lttng/ust/jul/LTTngLogHandler.java         |  80 ------------
 2 files changed, 218 deletions(-)
 delete mode 100644 liblttng-ust-jul/org/lttng/ust/jul/LTTngAgent.java
 delete mode 100644 liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java

diff --git a/liblttng-ust-jul/org/lttng/ust/jul/LTTngAgent.java b/liblttng-ust-jul/org/lttng/ust/jul/LTTngAgent.java
deleted file mode 100644
index 7c8e98e..0000000
--- a/liblttng-ust-jul/org/lttng/ust/jul/LTTngAgent.java
+++ /dev/null
 <at>  <at>  -1,138 +0,0  <at>  <at> 
-/*
- * Copyright (C) 2013 - David Goulet <dgoulet <at> efficios.com>
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License, version 2.1 only,
- * as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.lttng.ust.jul;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.BufferedReader;
-import java.io.FileReader;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.TimeUnit;
-import java.util.logging.FileHandler;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.logging.LogManager;
-import java.util.Enumeration;
-
-public class LTTngAgent {
-
-	/* Possible that we have to threads handling two sessiond. */
-	private static LTTngLogHandler lttngHandlerRoot;
-	private static LTTngLogHandler lttngHandlerUser;
-	private static LTTngThread lttngThreadRoot;
-	private static LTTngThread lttngThreadUser;
-	private static Thread sessiondThRoot;
-	private static Thread sessiondThUser;
-
-	/* Singleton agent object. */
-	private static LTTngAgent curAgent = null;
-
-	/* Indicate if this object has been initialized. */
-	private static boolean initialized = false;
-
-	private static Semaphore registerSem;
-	private final static int semTimeout = 3; /* Seconds */
-
-	/*
-	 * Default value to connect to session daemon. Port number is dynamically
-	 * fetched from the port file that is created by a running session daemon.
-	 */
-	private static final String sessiondAddr = "127.0.0.1";
-
-	/*
-	 * Constructor is private. This is a singleton and a reference should be
-	 * acquired using getLTTngAgent().
-	 */
-	private LTTngAgent() throws IOException {
-		this.logManager = LogManager.getLogManager();
-		this.lttngHandlerUser = new LTTngLogHandler();
-		this.lttngHandlerRoot = new LTTngLogHandler();
-		this.lttngHandlerRoot.is_root = 1;
-		this.registerSem = new Semaphore(0, true);
-	}
-
-	/*
-	 * Public getter to acquire a reference to this singleton object.
-	 */
-	public static synchronized LTTngAgent getLTTngAgent() throws IOException {
-		if (curAgent == null) {
-			curAgent = new LTTngAgent();
-			curAgent.init();
-		}
-
-		return curAgent;
-	}
-
-	/*
-	 * Initialize LTTngAgent. This will attach the log handler to all Logger
-	 * returned by the logManager.
-	 */
-	private synchronized void init() throws SecurityException, IOException {
-		int nr_acquires = 0;
-
-		if (this.initialized) {
-			return;
-		}
-
-		/* Handle user session daemon if any. */
-		this.lttngThreadUser = new LTTngThread(this.sessiondAddr,
-				this.lttngHandlerUser, this.registerSem);
-		this.sessiondThUser = new Thread(lttngThreadUser);
-		this.sessiondThUser.setDaemon(true);
-		this.sessiondThUser.start();
-		/* Wait for registration done of per-user sessiond */
-		nr_acquires++;
-
-		/* Handle root session daemon. */
-		this.lttngThreadRoot = new LTTngThread(this.sessiondAddr,
-				this.lttngHandlerRoot, this.registerSem);
-		this.sessiondThRoot = new Thread(lttngThreadRoot);
-		this.sessiondThRoot.setDaemon(true);
-		this.sessiondThRoot.start();
-		/* Wait for registration done of system-wide sessiond */
-		nr_acquires++;
-
-		/* Wait for each registration to end. */
-		try {
-			this.registerSem.tryAcquire(nr_acquires, semTimeout,
-					TimeUnit.SECONDS);
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-
-		this.initialized = true;
-	}
-
-	public void dispose() throws IOException {
-		this.lttngJULThreadUser.dispose();
-		this.lttngJULThreadRoot.dispose();
-
-		/* Remove handlers from the root logger */
-		Logger rootLogger = LogManager.getLogManager().getLogger("");
-		rootLogger.removeHandler(this.lttngHandlerUser);
-		rootLogger.removeHandler(this.lttngHandlerRoot);
-
-		try {
-			this.sessiondThUser.join();
-			this.sessiondThRoot.join();
-		} catch (InterruptedException e) {
-			e.printStackTrace();
-		}
-	}
-}
diff --git a/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java b/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java
deleted file mode 100644
index 008b105..0000000
--- a/liblttng-ust-jul/org/lttng/ust/jul/LTTngLogHandler.java
+++ /dev/null
 <at>  <at>  -1,80 +0,0  <at>  <at> 
-/*
- * Copyright (C) 2013 - David Goulet <dgoulet <at> efficios.com>
- *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License, version 2.1 only,
- * as published by the Free Software Foundation.
- *
- * This library is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-package org.lttng.ust.jul;
-
-import java.lang.String;
-import java.util.logging.Handler;
-import java.util.logging.LogRecord;
-import java.util.logging.LogManager;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.lttng.ust.jul.LTTngUst;
-
-public class LTTngLogHandler extends Handler {
-	/* Am I a root Log Handler. */
-	public int is_root = 0;
-	public int refcount = 0;
-
-	/* Logger object attached to this handler that can trigger a tracepoint. */
-	public Map<String, LTTngEvent> enabledEvents =
-		Collections.synchronizedMap(new HashMap<String, LTTngEvent>());
-
-	/* Constructor */
-	public LTTngLogHandler() {
-		super();
-		/* Initialize LTTng UST tracer. */
-		LTTngUst.init();
-	}
-
-	/*
-	 * Cleanup this handler state meaning put it back to a vanilla state.
-	 */
-	public void clear() {
-		this.enabledEvents.clear();
-	}
-
-	 <at> Override
-	public void close() throws SecurityException {}
-
-	 <at> Override
-	public void flush() {}
-
-	 <at> Override
-	public void publish(LogRecord record) {
-		/*
-		 * Specific tracepoing designed for JUL events. The source class of the
-		 * caller is used for the event name, the raw message is taken, the
-		 * loglevel of the record and the thread ID.
-		 */
-		if (this.is_root == 1) {
-			LTTngUst.tracepointS(record.getMessage(),
-					record.getLoggerName(), record.getSourceClassName(),
-					record.getSourceMethodName(), record.getMillis(),
-					record.getLevel().intValue(), record.getThreadID());
-		} else {
-			LTTngUst.tracepointU(record.getMessage(),
-					record.getLoggerName(), record.getSourceClassName(),
-					record.getSourceMethodName(), record.getMillis(),
-					record.getLevel().intValue(), record.getThreadID());
-		}
-	}
-}
--

-- 
2.1.0
Christian Babeux | 25 Sep 18:07 2014

[PATCH lttng-ust] Fix: Wrong CLASSPATH when building liblttng-ust-java oot

Signed-off-by: Christian Babeux <christian.babeux <at> efficios.com>
---
 liblttng-ust-java/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/liblttng-ust-java/Makefile.am b/liblttng-ust-java/Makefile.am
index 203a9ff..fee9b7d 100644
--- a/liblttng-ust-java/Makefile.am
+++ b/liblttng-ust-java/Makefile.am
 <at>  <at>  -20,7 +20,7  <at>  <at>  $(jarfile): classnoinst.stamp
 org_lttng_ust_LTTngUst.h: jni-header.stamp

 jni-header.stamp: $(dist_noinst_JAVA)
-	$(JAVAH) -cp . $(JAVAHFLAGS) org.lttng.ust.LTTngUst && \
+	$(JAVAH) -cp $(srcdir) $(JAVAHFLAGS) org.lttng.ust.LTTngUst && \
 	echo "JNI header generated" > jni-header.stamp

 all-local: org_lttng_ust_LTTngUst.h
--

-- 
2.1.0
Christian Babeux | 24 Sep 21:44 2014

[PATCH lttng-ust] Fix: Wrong CLASSPATH when building liblttng-ust-java-agent oot

Signed-off-by: Christian Babeux <christian.babeux <at> efficios.com>
---
 liblttng-ust-java-agent/java/Makefile.am | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/liblttng-ust-java-agent/java/Makefile.am b/liblttng-ust-java-agent/java/Makefile.am
index c949bf8..01e81e5 100644
--- a/liblttng-ust-java-agent/java/Makefile.am
+++ b/liblttng-ust-java-agent/java/Makefile.am
 <at>  <at>  -43,11 +43,11  <at>  <at>  $(jarfile_old): classnoinst.stamp
 	$(pkgpath)/jul/*.class $(pkgpath_old)/*.class

 jul-jni-header.stamp: $(dist_noinst_JAVA)
-	$(JAVAH) -cp $(CLASSPATH):. -d $(juljniout) $(JAVAHFLAGS)
org.lttng.ust.agent.jul.LTTngLogHandler && \
+	$(JAVAH) -cp $(CLASSPATH):$(srcdir) -d $(juljniout) $(JAVAHFLAGS)
org.lttng.ust.agent.jul.LTTngLogHandler && \
 	echo "JUL JNI header generated" > jul-jni-header.stamp

 log4j-jni-header.stamp: $(dist_noinst_JAVA)
-	$(JAVAH) -cp $(CLASSPATH):. -d $(log4jjniout) $(JAVAHFLAGS)
org.lttng.ust.agent.log4j.LTTngLogAppender && \
+	$(JAVAH) -cp $(CLASSPATH):$(srcdir) -d $(log4jjniout) $(JAVAHFLAGS)
org.lttng.ust.agent.log4j.LTTngLogAppender && \
 	echo "Log4j JNI header generated" > log4j-jni-header.stamp

 all-local: $(stamp)
--

-- 
2.1.0
Jérémie Galarneau | 23 Sep 23:46 2014

[RFC PATCH lttng-tools] Fix: Propagate socket timeouts on lttcomm_accept_inet_sock()

Ensure that send/recv timeouts are applied to new sockets created
from a lttcomm_accept_inet_sock().

Signed-off-by: Jérémie Galarneau <jeremie.galarneau <at> efficios.com>
---
 src/common/sessiond-comm/inet.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/common/sessiond-comm/inet.c b/src/common/sessiond-comm/inet.c
index 2c959c5..cf06ecb 100644
--- a/src/common/sessiond-comm/inet.c
+++ b/src/common/sessiond-comm/inet.c
 <at>  <at>  -275,6 +275,7  <at>  <at>  struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock)
 	int new_fd;
 	socklen_t len;
 	struct lttcomm_sock *new_sock;
+	unsigned long timeout;

 	if (sock->proto == LTTCOMM_SOCK_UDP) {
 		/*
 <at>  <at>  -298,6 +299,19  <at>  <at>  struct lttcomm_sock *lttcomm_accept_inet_sock(struct lttcomm_sock *sock)
 		PERROR("accept inet");
 		goto error;
 	}
+	timeout = lttcomm_get_network_timeout();
+	if (timeout) {
+		int ret;
+
+		ret = lttcomm_setsockopt_rcv_timeout(new_fd, timeout);
+		if (ret) {
+			goto error;
+		}
+		ret = lttcomm_setsockopt_snd_timeout(new_fd, timeout);
+		if (ret) {
+			goto error;
+		}
+	}

 	new_sock->fd = new_fd;
 	new_sock->ops = &inet_ops;
--

-- 
2.1.0

_______________________________________________
lttng-dev mailing list
lttng-dev <at> lists.lttng.org
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
Mathieu Desnoyers | 23 Sep 18:51 2014

[RELEASE] Babeltrace 1.2.3

The Babeltrace project provides trace read and write libraries, as well
as a trace converter. Plugins can be created for any trace format to
allow its conversion to/from another trace format.

The main format expected to be converted to/from is the Common Trace
Format (CTF). The default input format of the "babeltrace" command is
CTF, and its default output format is a human-readable text log. The
"babeltrace-log" command converts from a text log to a CTF trace.

Changelog:
2014-09-23 Babeltrace 1.2.3
        * Fix: incorrect compiler warning
        * Fix: Don't assume that PROT_WRITE grants read permissions
        * Fix: align objstack on 8 bytes
        * Fix Python: Add a comment warning about an API limitation
        * Use BABELTRACE_HOST_NAME_MAX in test_ctf_writer.c
        * Add limits compatibility header
        * Fix: don't perform unaligned integer read/writes
        * Fix: Align buffers from objstack_alloc on sizeof(void *)
        * Fix: bt_ctf_field_type_structure_add_field argument validation

Project website: http://www.efficios.com/babeltrace
Download link: http://www.efficios.com/files/babeltrace/
CTF specification: http://www.efficios.com/ctf

--

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com
Mathieu Desnoyers | 22 Sep 18:39 2014

[PATCH lttng-tools] Fix: report UST consumer channel creation error

The session daemon reports no error whatsoever when the consumer daemon
fails to create a channel. We don't want to print errors when failing to
send the channel to the UST application though, because the application
may be concurrently exiting. So only print those errors when receiving
reply from the consumerd.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers <at> efficios.com>
---
 src/bin/lttng-sessiond/ust-app.c | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c
index 4a7fada..f8e9693 100644
--- a/src/bin/lttng-sessiond/ust-app.c
+++ b/src/bin/lttng-sessiond/ust-app.c
 <at>  <at>  -2450,6 +2450,8  <at>  <at>  static int create_channel_per_uid(struct ust_app *app,
 		/* Create the buffer registry channel object. */
 		ret = create_buffer_reg_channel(reg_uid->registry, ua_chan, &reg_chan);
 		if (ret < 0) {
+			ERR("Error creating the UST channel \"%s\" registry instance",
+				ua_chan->name);
 			goto error;
 		}
 		assert(reg_chan);
 <at>  <at>  -2461,6 +2463,9  <at>  <at>  static int create_channel_per_uid(struct ust_app *app,
 		ret = do_consumer_create_channel(usess, ua_sess, ua_chan,
 				app->bits_per_long, reg_uid->registry->reg.ust);
 		if (ret < 0) {
+			ERR("Error creating UST channel \"%s\" on the consumer daemon",
+				ua_chan->name);
+
 			/*
 			 * Let's remove the previously created buffer registry channel so
 			 * it's not visible anymore in the session registry.
 <at>  <at>  -2477,6 +2482,8  <at>  <at>  static int create_channel_per_uid(struct ust_app *app,
 		 */
 		ret = setup_buffer_reg_channel(reg_uid->registry, ua_chan, reg_chan);
 		if (ret < 0) {
+			ERR("Error setting up UST channel \"%s\"",
+				ua_chan->name);
 			goto error;
 		}

 <at>  <at>  -2485,6 +2492,10  <at>  <at>  static int create_channel_per_uid(struct ust_app *app,
 	/* Send buffers to the application. */
 	ret = send_channel_uid_to_ust(reg_chan, app, ua_sess, ua_chan);
 	if (ret < 0) {
+		/*
+		 * Don't report error to the console, since it may be
+		 * caused by application concurrently exiting.
+		 */
 		goto error;
 	}

 <at>  <at>  -2519,6 +2530,8  <at>  <at>  static int create_channel_per_pid(struct ust_app *app,
 	/* Create and add a new channel registry to session. */
 	ret = ust_registry_channel_add(registry, ua_chan->key);
 	if (ret < 0) {
+		ERR("Error creating the UST channel \"%s\" registry instance",
+			ua_chan->name);
 		goto error;
 	}

 <at>  <at>  -2526,11 +2539,17  <at>  <at>  static int create_channel_per_pid(struct ust_app *app,
 	ret = do_consumer_create_channel(usess, ua_sess, ua_chan,
 			app->bits_per_long, registry);
 	if (ret < 0) {
+		ERR("Error creating UST channel \"%s\" on the consumer daemon",
+			ua_chan->name);
 		goto error;
 	}

 	ret = send_channel_pid_to_ust(app, ua_sess, ua_chan);
 	if (ret < 0) {
+		/*
+		 * Don't report error to the console, since it may be
+		 * caused by application concurrently exiting.
+		 */
 		goto error;
 	}

--

-- 
2.1.0
Simon Marchi | 20 Sep 03:29 2014
Picon
Picon

[PATCH lttng-tools] Fix out-of-tree build

Signed-off-by: Simon Marchi <simon.marchi <at> polymtl.ca>
---
 tests/regression/tools/mi/Makefile.am | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tests/regression/tools/mi/Makefile.am b/tests/regression/tools/mi/Makefile.am
index 4c77f56..c4081db 100644
--- a/tests/regression/tools/mi/Makefile.am
+++ b/tests/regression/tools/mi/Makefile.am
 <at>  <at>  -1,4 +1,4  <at>  <at> 
-AM_CPPFLAGS = -I$(srcdir)/include
+AM_CPPFLAGS = -I$(top_srcdir)/include

 noinst_PROGRAMS = validate_xml extract_xml
 validate_xml_SOURCES = validate_xml.c
--

-- 
2.1.0

Gmane