From b11abb674e50c67e3410ab2bd5d0a263e88b73ba Mon Sep 17 00:00:00 2001 From: Paul Woegerer Date: Fri, 28 Feb 2014 10:02:00 +0100 Subject: [PATCH] Turn base address dump into experimental feature Instead of having base address state dump enabled by default make it necessary to explicitly enable it with environment variable LTTNG_UST_WITH_EXPERIMENTAL_BADDR_STATEDUMP. Documentation is updated to reflect this change and explain about the experimental nature of this feature. Signed-off-by: Paul Woegerer Signed-off-by: Mathieu Desnoyers --- doc/man/lttng-ust.3 | 10 +++++++--- liblttng-ust/lttng-ust-baddr.c | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/doc/man/lttng-ust.3 b/doc/man/lttng-ust.3 index 2fb287ac..2c58fba1 100644 --- a/doc/man/lttng-ust.3 +++ b/doc/man/lttng-ust.3 @@ -366,9 +366,13 @@ Pthread identifier. Can be used on architectures where pthread_t maps nicely to an unsigned long type. .PP -.SH "BASE ADDRESS STATEDUMP" +.SH "BASE ADDRESS STATEDUMP (Experimental feature)" .PP +Warning: This is an experimental feature known to cause deadlocks when the +traced application uses fork, clone or daemon. Only use it for debugging and +testing. Do NOT use it in production. + If an application that uses liblttng-ust.so becomes part of a session, information about its currently loaded shared objects will be traced to the session at session-enable time. To record this information, the following event @@ -405,8 +409,8 @@ specified in milliseconds. The value 0 means "don't wait". The value recommended for applications with time constraints on the process startup time. .PP -.IP "LTTNG_UST_WITHOUT_BADDR_STATEDUMP" -Prevent liblttng-ust to perform a base-address statedump on session-enable. +.IP "LTTNG_UST_WITH_EXPERIMENTAL_BADDR_STATEDUMP" +Experimentally allow liblttng-ust to perform a base-address statedump on session-enable. .PP .SH "SEE ALSO" diff --git a/liblttng-ust/lttng-ust-baddr.c b/liblttng-ust/lttng-ust-baddr.c index 922899b4..dec7e82d 100644 --- a/liblttng-ust/lttng-ust-baddr.c +++ b/liblttng-ust/lttng-ust-baddr.c @@ -176,7 +176,7 @@ int lttng_ust_baddr_statedump(void *owner) { struct extract_data data; - if (getenv("LTTNG_UST_WITHOUT_BADDR_STATEDUMP")) + if (!getenv("LTTNG_UST_WITH_EXPERIMENTAL_BADDR_STATEDUMP")) return 0; data.owner = owner; -- 2.34.1