[lttng-dev] [BUG] lttng-sessiond

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Fri Apr 24 14:32:15 EDT 2015


----- Original Message -----
> Hello,
> 
> >> Can you share with us the code of your "hello" probe ?
> I used the example code from
> http://lttng.org/docs/#doc-instrumenting-linux-kernel-itself .
> 
> >> Which version or git commit of lttng-modules are you
> >> using ?
> I used the current master of the github mirrors, specifically:
> lttng-tools: 94ffb05d6777efc0c40394d3df44a04feed92953
> lttng-modules: d0558de29ca516e83b388b8028651f8b69288e4e
> lttng-ust: 4bc1ccd721114691c6f0dbd65335b3c43c9f895f
> 
> > I think the two issues should be fixed by this new
> > git commit in lttng-modules master branch:
> > 
> > commit 66fd8d5e4a6080f1b2db0f525c26c07e5b723aab
> > Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> > Date:   Thu Apr 23 16:11:15 2015 -0400
> > 
> >    Fix: double-unlock of session mutex
> > 
> >    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> > 
> > Can you give it a try ?
> Yes, the mutex error goes away.

Good!

> However, loading multiple probes with
> either --kmod-probes or --extra-kmod-probes still does not work:
> $ sudo lttng-sessiond -vvv --extra-kmod-probes=sched,napi
> [...]
> DEBUG1 - 11:42:18.492870 [5358/5358]: Modprobe successfully lttng-probe-napi
> (in modprobe_lttng() at modprobe.c:285)
> sh: 1: Syntax error: "(" unexpected
> DEBUG1 - 11:42:18.495037 [5358/5358]: Unable to load optional module (null);
> continuing (in modprobe_lttng() at modprobe.c:281)
> [...]

Why do you need to load those explicitly ? They should be
already loaded by default. I don't get those errors here.
Which shell are you using (sh symlink) ? Can you reproduce
using bash ?

> 
> Also, lttng-probe-regmap does not compile, but that might have to do
> with my kernel version of 4.0.0-rc4 (commit
> b314acaccd7e0d55314d96be4a33b5f50d0b3344 from
> https://github.com/torvalds/linux):
> 
> lttng-modules$ make KERNELDIR=/usr/src/linux-4.0.0-rc4-atlas+
> make -C /usr/src/linux-4.0.0-rc4-atlas+
> M=/home/hannesweisbach/atlas/lttng-modules modules
> make[1]: Entering directory '/usr/src/linux-4.0.0-rc4-atlas+'
>   CC [M]
>   /home/hannesweisbach/atlas/lttng-modules/probes/lttng-probe-regmap.o
> In file included from
> /home/hannesweisbach/atlas/lttng-modules/probes/../instrumentation/events/lttng-module/../../../probes/define_trace.h:100:0,
>                  from
>                  /home/hannesweisbach/atlas/lttng-modules/probes/../instrumentation/events/lttng-module/regmap.h:278,
>                  from
>                  /home/hannesweisbach/atlas/lttng-modules/probes/lttng-probe-regmap.c:41:
> /home/hannesweisbach/atlas/lttng-modules/probes/../instrumentation/events/lttng-module/../../../probes/lttng-events.h:134:6:
> error: conflicting types for ‘trace_regmap_reg_write’
>  void trace_##_name(_proto);
>       ^
> /home/hannesweisbach/atlas/lttng-modules/probes/../instrumentation/events/lttng-module/../../../probes/lttng-events.h:99:2:
> note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP’
>   LTTNG_TRACEPOINT_EVENT_INSTANCE_MAP(template, name, name, PARAMS(proto),
>   PARAMS(args))
>   ^
> /home/hannesweisbach/atlas/lttng-modules/probes/../instrumentation/events/lttng-module/../../../probes/../instrumentation/events/lttng-module/regmap.h:34:1:
> note: in expansion of macro ‘LTTNG_TRACEPOINT_EVENT_INSTANCE’
>  LTTNG_TRACEPOINT_EVENT_INSTANCE(regmap_reg, regmap_reg_write,
>  ^
> In file included from include/trace/events/regmap.h:8:0,
>                  from
>                  /home/hannesweisbach/atlas/lttng-modules/probes/lttng-probe-regmap.c:32:
> include/linux/tracepoint.h:169:21: note: previous definition of
> ‘trace_regmap_reg_write’ was here
>   static inline void trace_##name(proto)    \
>                      ^
> include/linux/tracepoint.h:325:3: note: in expansion of macro
> ‘__DECLARE_TRACE’
>    __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), 1, \
>    ^
> include/linux/tracepoint.h:448:2: note: in expansion of macro ‘DECLARE_TRACE’
>   DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
>   ^
> include/trace/events/regmap.h:40:1: note: in expansion of macro
> ‘DEFINE_EVENT’
>  DEFINE_EVENT(regmap_reg, regmap_reg_write,
>  ^
> 
> [ and so on, and so on … ]
> 
> Since I don't need the regmap probe I simply disabled it in
> probes/Makefile.  Unfortunately, I don't have time to debug it myself.
> If you want me to try another version, let me know.

For regmap, you'll have to try with Linux 4.0 final, it works here.

Thanks,

Mathieu

> 
> Best regards,
> Hannes
> 
> 

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



More information about the lttng-dev mailing list