[lttng-dev] Duplicate registration of tracepoint probes
adamcrume at gmail.com
Mon Jul 28 12:18:13 EDT 2014
I figured it out. The duplicate __tracepoint__init_urcu_sym symbols
apparently aren't an issue. The problem is that I had tracepoints in
a static library that was then linked into the main executable as well
as a dynamic library loaded by the executable. (It wasn't obvious
because the relevant symbols in the dynamic library were not
exported.) Anyway, mixing static and dynamic linking is a bad idea.
On Wed, Jul 23, 2014 at 5:06 PM, Adam Crume <adamcrume at gmail.com> wrote:
> I have an application which compiles and links fine, but at runtime it fails
> LTTng-UST: Error (-17) while registering tracepoint probe. Duplicate
> registration of tracepoint probes having the same name is not allowed.
> Aborted (core dumped)
> What's the best way to debug this? I've seen this before when a library
> gets linked in multiple times, but that doesn't seem to be the case this
> time (as far as I can tell). I ran nm on the app, and all of the probes
> (__event_probe__*) are unique. I do see duplicates for
> __tracepoint__init_urcu_sym, type 't'. I also see duplicates for
> __tracepoint_ptrs_registered, __tracepoint_registered, and
> tracepoint_dlopen, all of type 'V'.
> I have multiple *.tp files, which each get compiled and linked into their
> own library, and I'm using -DTRACEPOINT_PROBE_DYNAMIC_LINKAGE.
> Can anyone tell me what's wrong, or how to fix it?
More information about the lttng-dev