[lttng-dev] Duplicate registration of tracepoint probes

Adam Crume 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.
:)

Adam

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
> with:
>
> 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?
>
> Thanks,
> Adam



More information about the lttng-dev mailing list