<div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Kienan,</div><div dir="ltr"><br></div><div>Took a while to gather your grocery list but I think I have most of it below ;)</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 18, 2024 at 10:27 AM Kienan Stewart <<a href="mailto:kstewart@efficios.com">kstewart@efficios.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Brian,<br>
<br>
<br>
On 7/17/24 12:27 PM, Brian Hutchinson wrote:<br>
> <br>
> <br>
> On Wed, Jul 17, 2024 at 10:13 AM Kienan Stewart <<a href="mailto:kstewart@efficios.com" target="_blank">kstewart@efficios.com</a> <br>
> <mailto:<a href="mailto:kstewart@efficios.com" target="_blank">kstewart@efficios.com</a>>> wrote:<br>
> <br>
>     Hi Brian,<br>
> <br>
>     thanks! I'll take a look at these and see if I can get any ideas<br>
>     from them.<br>
> <br>
>     To go back to your original e-mail, a detail that I hadn't noticed in<br>
>     your original backtrace was pointed out to me and I'd like to verify<br>
>     with you:<br>
> <br>
>     ```<br>
>     Core was generated by `./my_app'.<br>
>     Program terminated with signal SIGSEGV, Segmentation fault.<br>
>     #0  __strlen_asimd () at ../sysdeps/aarch64/multiarch/strlen_asimd.S:96<br>
>     96      ../sysdeps/aarch64/multiarch/strlen_asimd.S: No such file or<br>
>     directory.<br>
>     [Current thread is 1 (Thread 0xffffb8e2d040 (LWP 757))]<br>
>     (gdb) bt<br>
>     #0  __strlen_asimd () at ../sysdeps/aarch64/multiarch/strlen_asimd.S:96<br>
>     #1  0x0000ffffb86c5330 in lttng_ust_tracepoint_module_register () from<br>
>     /usr/lib/liblttng-ust-tracepoint.so.1<br>
>     #2  0x0000aaaab4c8da18 in lttng_ust__tracepoints__ptrs_init () at<br>
>     /opt/poky/4.0.18/sysroots/cortexa53-crypto-poky-linux/usr/include/lttng/tracepoint.h:629<br>
>     #3  0x0000ffffb872b30c in call_init (env=<optimized out>,<br>
>     argv=0xffffe2d66098, argc=1) at ../csu/libc-start.c:145<br>
>     #4  __libc_start_main_impl (main=0xaaaab4bd94e0 <main>, argc=1,<br>
>     argv=0xffffe2d66098, init=<optimized out>, fini=<optimized out>,<br>
>     rtld_fini=<optimized out>, stack_end=<optimized out>) at<br>
>     ../csu/libc-start.c:376<br>
>     #5  0x0000aaaab4bd9230 in _start () at ../sysdeps/aarch64/start.S:81<br>
>     ```<br>
> <br>
>     The library loaded at frame 1 is<br>
>     `/usr/lib/liblttng-ust-tracepoint.so.1`; however, in frame 2 the<br>
>     reference is from<br>
>     `/opt/poky/4.0.18/sysroots/cortexa53-crypto-poky-linux/usr/include/lttng/tracepoint.h`.<br>
> <br>
> <br>
>     Are the LTTng libraries in `/usr/lib` the exact same version as the<br>
>     headers in<br>
>     `/opt/poky/4.0.18/sysroots/cortexa53-cryptop-poky-linux/usr/include/lttng`?<br>
> <br>
> <br>
> Yes.  The sdk was created by yocto using populate_sdk which includes the <br>
> target image sysroot in the sdk.  Hopefully I explained that right. The <br>
> target image drives the contents of the sdk and the generated sdk is <br>
> what is used to cross compile the application specifically for the <br>
> target we are running on (NXP imx8mm).<br>
<br>
I think that makes sense - the debug information has stored the path of <br>
the build environment which is the sysroot portion.<br>
<br>
> <br>
> <br>
>     If some of your app is compiled using one version of headers and a<br>
>     different version of the library is loaded at runtime, there could<br>
>     be an<br>
>     ABI mismatch.<br>
> <br>
> <br>
>     You could check what the include paths are during compilation and<br>
>     `LD_LIBRARY_PATH` at runtime. Running with the environment variable<br>
>     `LD_DEBUG=bindings,libs` (see `man ld.so` for more info).<br>
> <br>
> I've been down that road a few times before with the same line of <br>
> thinking (ABI issue) and believe I've proven I don't have those issues.  <br>
> That's one of the reasons I hand built lttng-ust in native environment <br>
> (on the actual target) to verify it wasn't an issue with a yocto recipe, <br>
> cross compiling etc..<br>
> <br>
> I've been thru this process with different OS versions (yocto Dunfell <br>
> before), kernel version, toolchain version etc., and now the same with <br>
> Kirkstone based components.<br>
> <br>
>     In any case, I'll take a look over the most recent backtraces and<br>
>     see if<br>
>     anything else jumps out.<br>
> <br>
<br>
I don't see anything more that stands out.<br>
<br>
I'm going to step back a bit to make sure I have correct understanding <br>
of your situation.<br>
<br>
Based on your previous statements, it sounded like you weren't sure if <br>
your application is statically linked or not. This is different than <br>
using a statically linked probe provider.<br>
<br>
You can verify by running `ldd /path/to/my_app`. lttng-ust doesn't <br>
support being statically linked, it is always loaded dynamically. The <br>
trace probe providers (TPPs) may be statically linked, which is different.<br>
<br>
You mentioned earlier that the building scenario you were using <br>
resembles the hello world example. To confirm my understanding, do you <br>
mean the hello-static-lib example in lttng-ust/doc/examples? In the <br>
docs, this is called "The instrumented application is statically linked <br>
with the tracepoint provider package archive file". Note that the final <br>
application still uses dynamic linking (`-ldl -llttng-ust`, and the <br>
absence of `-static -static-libc` when creating the final executable).<br></blockquote><div><br></div><div><div>I may have not been clear.  Most of the application components are 
statically linked but I think there are some that are built as shared 
objects (.so's) so that's what I was referring to.  I know that 
lttng-ust is dynamically linked ... I think the lttng-ust docs say this 
is only option but also makes reference to the fact static linking was 
once possible (in some versions of the documentation) but not supported 
anymore (I probably have the docs memorized by now ha, ha ... I've 
looked at many, many versions of them).</div><div><br></div><div>Just for full disclosure my ldd looks like:</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">       linux-vdso.so.1 (0x0000ffffab196000)
</span><br>        libfcgi.so.0 => /usr/lib/libfcgi.so.0 (0x0000ffffa57f0000)
<br>        liblttng-ust.so.1 => /usr/lib/liblttng-ust.so.1 (0x0000ffffa5750000)
<br>        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x0000ffffa55d0000)
<br>        librt.so.1 => /lib/librt.so.1 (0x0000ffffa55b0000)
<br>        libm.so.6 => /lib/libm.so.6 (0x0000ffffa5510000)
<br>        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0000ffffa52f0000)
<br>        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0000ffffa52c0000)
<br>        libc.so.6 => /lib/libc.so.6 (0x0000ffffa5110000)
<br>        /lib/ld-linux-aarch64.so.1 (0x0000ffffab15d000)
<br>        liblttng-ust-common.so.1 => /usr/local/lib/liblttng-ust-common.so.1 (0x0000ffffa50e0000)
<br>        liblttng-ust-tracepoint.so.1 => /usr/local/lib/liblttng-ust-tracepoint.so.1 (0x0000ffffa50a0000)
<br>        libpthread.so.0 => /lib/libpthread.so.0 (0x0000ffffa5080000)
<br>        libz.so.1 => /lib/libz.so.1 (0x0000ffffa5050000)</span></div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Further along in stepping back:<br>
<br>
  - Does make check for lttng-ust pass in your environment?<br></blockquote><div><br></div><div><div>So I'm glad you mentioned this.  I didn't try to run make check 
because #1 have never seen anything in the documentation about it and 
what it does and #2 It said that it depended on Perl and since this is 
an embedded system, I really didn't want to pull it and its dependencies
 in.</div><div><br></div><div>Nevertheless, I ran it on my native target
 build I setup to see what would happen.  I didn't notice it complaining
 about perl so then I checked my manifest and perl is in fact in our 
image (I guess some other recipe pulled it in and I never paid attention
 to that):</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">Making check in include
</span><br>make[1]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/include'
<br>make[1]: Nothing to be done for 'check'.
<br>make[1]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/include'
<br>Making check in src
<br>make[1]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src'
<br>Making check in common
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/common'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/common'
<br>Making check in lib
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib'
<br>Making check in lttng-ust-common
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-common'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-common'
<br>Making check in lttng-ust-tracepoint
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-tracepoint'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-tracepoint'
<br>Making check in lttng-ust
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust'
<br>Making check in lttng-ust-ctl
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-ctl'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-ctl'
<br>Making check in lttng-ust-fd
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-fd'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-fd'
<br>Making check in lttng-ust-fork
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-fork'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-fork'
<br>Making check in lttng-ust-cyg-profile
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-cyg-profile'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-cyg-profile'
<br>Making check in lttng-ust-libc-wrapper
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-libc-wrapper'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-libc-wrapper'
<br>Making check in lttng-ust-pthread-wrapper
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-pthread-wrapper'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-pthread-wrapper'
<br>Making check in lttng-ust-dl
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-dl'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib/lttng-ust-dl'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib'
<br>make[3]: Nothing to be done for 'check-am'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src/lib'
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src'
<br>make[2]: Nothing to be done for 'check-am'.
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src'
<br>make[1]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/src'
<br>Making check in tools
<br>make[1]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tools'
<br>make[1]: Nothing to be done for 'check'.
<br>make[1]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tools'
<br>Making check in doc
<br>make[1]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc'
<br>Making check in .
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc'
<br>make[2]: Nothing to be done for 'check-am'.
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc'
<br>Making check in man
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/man'
<br>make[2]: Nothing to be done for 'check'.
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/man'
<br>Making check in examples
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/easy-ust'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/easy-ust'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/demo'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/demo'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/hello-static-lib'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/hello-static-lib'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/demo-tracef'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/demo-tracef'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/clock-override'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/clock-override'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/getcpu-override'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/getcpu-override'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/demo-tracelog'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/demo-tracelog'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/gen-tp'
<br>make[3]: Nothing to be done for 'all'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples/gen-tp'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc/examples'
<br>make[1]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/doc'
<br>Making check in tests
<br>make[1]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>Making check in utils
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/utils'
<br>make  tap-driver.sh tap.sh utils.sh
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/utils'
<br>make[3]: Nothing to be done for 'tap-driver.sh'.
<br>make[3]: Nothing to be done for 'tap.sh'.
<br>make[3]: Nothing to be done for 'utils.sh'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/utils'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/utils'
<br>Making check in unit
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit'
<br>Making check in gcc-weak-hidden
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/gcc-weak-hidden'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/gcc-weak-hidden'
<br>Making check in libcommon
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/libcommon'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/libcommon'
<br>Making check in libmsgpack
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/libmsgpack'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/libmsgpack'
<br>Making check in libringbuffer
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/libringbuffer'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/libringbuffer'
<br>Making check in pthread_name
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/pthread_name'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/pthread_name'
<br>Making check in snprintf
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/snprintf'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/snprintf'
<br>Making check in ust-elf
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-elf'
<br>make  test_ust_elf
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-elf'
<br>make[4]: Nothing to be done for 'test_ust_elf'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-elf'
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-elf'
<br>Making check in ust-error
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-error'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-error'
<br>Making check in ust-utils
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-utils'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-utils'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit'
<br>make[3]: Nothing to be done for 'check-am'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit'
<br>Making check in compile
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile'
<br>Making check in api0
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0'
<br>Making check in ctf-types
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/ctf-types'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/ctf-types'
<br>Making check in hello
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/hello'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/hello'
<br>Making check in hello-many
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/hello-many'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/hello-many'
<br>Making check in same_line_tracepoint
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/same_line_tracepoint'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0/same_line_tracepoint'
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0'
<br>make[4]: Nothing to be done for 'check-am'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0'
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api0'
<br>Making check in api1
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1'
<br>Making check in ust-fields
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/ust-fields'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/ust-fields'
<br>Making check in hello
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/hello'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/hello'
<br>Making check in hello-many
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/hello-many'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/hello-many'
<br>Making check in same_line_tracepoint
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/same_line_tracepoint'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/same_line_tracepoint'
<br>Making check in test-app-ctx
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/test-app-ctx'
<br>make[4]: Nothing to be done for 'check'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1/test-app-ctx'
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1'
<br>make[4]: Nothing to be done for 'check-am'.
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1'
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile/api1'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile'
<br>make[3]: Nothing to be done for 'check-am'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/compile'
<br>Making check in benchmark
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/benchmark'
<br>make[2]: Nothing to be done for 'check'.
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/benchmark'
<br>Making check in regression
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/regression'
<br>Making check in abi0-conflict
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/regression/abi0-conflict'
<br>make[3]: Nothing to be done for 'check'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/regression/abi0-conflict'
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/regression'
<br>make[3]: Nothing to be done for 'check-am'.
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/regression'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/regression'
<br>make[2]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>make  check-TESTS
<br>make[3]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>make[4]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>PASS: unit/libringbuffer/test_shm 1 - Open a POSIX shm fd
<br>PASS: unit/libringbuffer/test_shm 2 - Create a shm object table
<br>PASS: unit/libringbuffer/test_shm 3 - Allocate the shm object table
<br>PASS: unit/libringbuffer/test_shm 4 - Allocate an object in the shm with sufficient space
<br>PASS: unit/libringbuffer/test_shm 5 - Allocate an object in the shm with insufficient space
<br># unit/gcc-weak-hidden/test_gcc_weak_hidden: Address of weak 
symbol with hidden visibility match between compile units within same 
module for main program (4 bytes integer object)
<br># unit/gcc-weak-hidden/test_gcc_weak_hidden: Address of weak 
symbol with hidden visibility match between compile units within same 
module for main program (pointer object)
<br># unit/gcc-weak-hidden/test_gcc_weak_hidden: Address of weak 
symbol with hidden visibility match between compile units within same 
module for main program (24 bytes structure object)
<br># unit/gcc-weak-hidden/test_gcc_weak_hidden: Address of weak 
symbol with hidden visibility match between compile units within same 
module for shared library (4 bytes integer object)
<br># unit/gcc-weak-hidden/test_gcc_weak_hidden: Address of weak 
symbol with hidden visibility match between compile units within same 
module for shared library (pointer object)
<br># unit/gcc-weak-hidden/test_gcc_weak_hidden: Address of weak 
symbol with hidden visibility match between compile units within same 
module for shared library (24 bytes structure object)
<br>PASS: unit/gcc-weak-hidden/test_gcc_weak_hidden 1 - Weak-hidden behavior is the same for 4 bytes integer and pointer objects within main program
<br>PASS: unit/gcc-weak-hidden/test_gcc_weak_hidden 2 - Weak-hidden behavior is the same for 4 bytes integer and pointer objects within shared library
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 1 - test_get_cpu_mask_from_sysfs - without '\n' expected: '', result: ''
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 2 - test_get_cpu_mask_from_sysfs - with '\n' expected: '', result: ''
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 3 - test_get_cpu_mask_from_sysfs - without '\n' expected: '0', result: '0'
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 4 - test_get_cpu_mask_from_sysfs - with '\n' expected: '0', result: '0'
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 5 - test_get_cpu_mask_from_sysfs - without '\n' expected: '0-3', result: '0-3'
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 6 - test_get_cpu_mask_from_sysfs - with '\n' expected: '0-3', result: '0-3'
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 7 - test_get_cpu_mask_from_sysfs - without '\n' expected: '0,3-7,9', result: '0,3-7,9'
<br>PASS: unit/libcommon/test_get_cpu_mask_from_sysfs 8 - test_get_cpu_mask_from_sysfs - with '\n' expected: '0,3-7,9', result: '0,3-7,9'
<br># unit/libcommon/test_get_max_cpuid_from_mask: Testing smp helpers
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 1 - get_max_cpuid_from_mask '', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 2 - get_max_cpuid_from_mask 'abc', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 3 - get_max_cpuid_from_mask ',,,', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 4 - get_max_cpuid_from_mask '--', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 5 - get_max_cpuid_from_mask ',', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 6 - get_max_cpuid_from_mask '-', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 7 - get_max_cpuid_from_mask '2147483647', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 8 - get_max_cpuid_from_mask '18446744073709551615', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 9 - get_max_cpuid_from_mask '0-2147483647', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 10 - get_max_cpuid_from_mask '0-18446744073709551615', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 11 - get_max_cpuid_from_mask '0', expected: '0', result: '0'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 12 - get_max_cpuid_from_mask '1', expected: '1', result: '1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 13 - get_max_cpuid_from_mask '0-1', expected: '1', result: '1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 14 - get_max_cpuid_from_mask '1-3', expected: '3', result: '3'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 15 - get_max_cpuid_from_mask '0,2', expected: '2', result: '2'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 16 - get_max_cpuid_from_mask '1,2', expected: '2', result: '2'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 17 - get_max_cpuid_from_mask '0,4-6,127', expected: '127', result: '127'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 18 - get_max_cpuid_from_mask '0-4095', expected: '4095', result: '4095'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 19 - get_max_cpuid_from_mask '
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 20 - get_max_cpuid_from_mask 'abc
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 21 - get_max_cpuid_from_mask ',,,
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 22 - get_max_cpuid_from_mask '--
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 23 - get_max_cpuid_from_mask ',
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 24 - get_max_cpuid_from_mask '-
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 25 - get_max_cpuid_from_mask '2147483647
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 26 - get_max_cpuid_from_mask '18446744073709551615
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 27 - get_max_cpuid_from_mask '0-2147483647
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 28 - get_max_cpuid_from_mask '0-18446744073709551615
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 29 - get_max_cpuid_from_mask '0
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 30 - get_max_cpuid_from_mask '1
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 31 - get_max_cpuid_from_mask '0-1
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 32 - get_max_cpuid_from_mask '1-3
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 33 - get_max_cpuid_from_mask '0,2
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 34 - get_max_cpuid_from_mask '1,2
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 35 - get_max_cpuid_from_mask '0,4-6,127
<br>PASS: unit/libcommon/test_get_max_cpuid_from_mask 36 - get_max_cpuid_from_mask '0-4095
<br># unit/libcommon/test_get_max_cpuid_from_sysfs: get_max_cpuid_from_sysfs
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 1 - get_max_cpuid_from_sysfs - cpu set: 'cpu0', expected: '0', result: '0'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 2 - get_max_cpuid_from_sysfs - cpu set: 'cpu0 cpu1', expected: '1', result: '1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 3 - get_max_cpuid_from_sysfs - cpu set: 'cpu1 cpu0', expected: '1', result: '1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 4 - get_max_cpuid_from_sysfs - cpu set: 'cpu3', expected: '3', result: '3'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 5 - get_max_cpuid_from_sysfs - cpu set: 'cpu99', expected: '99', result: '99'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 6 - get_max_cpuid_from_sysfs - cpu set: 'cpu0 cpu3', expected: '3', result: '3'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 7 - get_max_cpuid_from_sysfs - cpu set: 'cpufreq cpuidle cpu0 cpu1 cpu2 cpu3', expected: '3', result: '3'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 8 - get_max_cpuid_from_sysfs - cpu set: 'cpu cpu0', expected: '0', result: '0'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 9 - get_max_cpuid_from_sysfs - cpu set: 'cpu cpu5', expected: '5', result: '5'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 10 - get_max_cpuid_from_sysfs - cpu set: 'toto', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 11 - get_max_cpuid_from_sysfs - cpu set: 'cpu', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 12 - get_max_cpuid_from_sysfs - cpu set: 'cpua cpud', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_max_cpuid_from_sysfs 13 - get_max_cpuid_from_sysfs - cpu set: 'cpufreq cpuidle', expected: '-1', result: '-1'
<br>PASS: unit/libcommon/test_get_possible_cpus_array_len 1 - get_possible_cpus_array_len (4 > 0)
<br>PASS: unit/libcommon/test_get_possible_cpus_array_len 2 - get_num_possible_cpus_fallback (4 > 0)
<br># unit/libmsgpack/test_msgpack: Testing msgpack implementation
<br>PASS: unit/libmsgpack/test_msgpack 1 - NIL object
<br>PASS: unit/libmsgpack/test_msgpack 2 - String "bye" object
<br>PASS: unit/libmsgpack/test_msgpack 3 - Unsigned integer "1337" object
<br>PASS: unit/libmsgpack/test_msgpack 4 - Unsigned integer "127" object
<br>PASS: unit/libmsgpack/test_msgpack 5 - Unsigned integer "128" object
<br>PASS: unit/libmsgpack/test_msgpack 6 - Unsigned integer "256" object
<br>PASS: unit/libmsgpack/test_msgpack 7 - Unsigned integer "65536" object
<br>PASS: unit/libmsgpack/test_msgpack 8 - Unsigned integer "65535" object
<br>PASS: unit/libmsgpack/test_msgpack 9 - Unsigned integer "4294967295" object
<br>PASS: unit/libmsgpack/test_msgpack 10 - Unsigned integer "4294967296" object
<br>PASS: unit/libmsgpack/test_msgpack 11 - Signed integer "-32" object
<br>PASS: unit/libmsgpack/test_msgpack 12 - Signed integer "-33" object
<br>PASS: unit/libmsgpack/test_msgpack 13 - Signed integer "-129" object
<br>PASS: unit/libmsgpack/test_msgpack 14 - Signed integer "-32768" object
<br>PASS: unit/libmsgpack/test_msgpack 15 - Signed integer "-32769" object
<br>PASS: unit/libmsgpack/test_msgpack 16 - Signed integer "-2147483648" object
<br>PASS: unit/libmsgpack/test_msgpack 17 - Signed integer "-2147483649" object
<br>PASS: unit/libmsgpack/test_msgpack 18 - double "0.0" object
<br>PASS: unit/libmsgpack/test_msgpack 19 - double "PI" object
<br>PASS: unit/libmsgpack/test_msgpack 20 - double "-PI" object
<br>PASS: unit/libmsgpack/test_msgpack 21 - Array of double object
<br>PASS: unit/libmsgpack/test_msgpack 22 - Map object
<br>PASS: unit/libmsgpack/test_msgpack 23 - Complete capture object
<br>PASS: unit/pthread_name/test_pthread_name 1 - Get the thread name: 'test_pthread_na'
<br>PASS: unit/pthread_name/test_pthread_name 2 - Set a too long thread name: 'thisnameistoolong'
<br>PASS: unit/pthread_name/test_pthread_name 3 - Get the thread name: 'test_pthread_na'
<br>PASS: unit/pthread_name/test_pthread_name 4 - Compare the initial thread name: 'test_pthread_na' == 'test_pthread_na'
<br>PASS: unit/pthread_name/test_pthread_name 5 - Set a short thread name: 'labatt50'
<br>PASS: unit/pthread_name/test_pthread_name 6 - Get a short thread name: 'labatt50'
<br>PASS: unit/pthread_name/test_pthread_name 7 - Compare the short thread name: 'labatt50' == 'labatt50'
<br>PASS: unit/pthread_name/test_pthread_name 8 - Compare the short UST thread name: 'labatt50-ust' == 'labatt50-ust'
<br>PASS: unit/pthread_name/test_pthread_name 9 - Set a long thread name: 'procrastinating'
<br>PASS: unit/pthread_name/test_pthread_name 10 - Get a long thread name: 'procrastinating'
<br>PASS: unit/pthread_name/test_pthread_name 11 - Compare the long thread name: 'procrastinating' == 'procrastinating'
<br>PASS: unit/pthread_name/test_pthread_name 12 - Compare the long UST thread name: 'procrastina-ust' == 'procrastina-ust'
<br>PASS: unit/snprintf/test_snprintf 1 - Got expected output string with format string "header %d, %s, %03d, '%*d'"
<br>PASS: unit/ust-elf/test_ust_elf 1 - Invoke as: /home/iadmin/lttng-ust/lttng-ust-2.13.8/tests/unit/ust-elf/.libs/lt-ust-elf <path>
<br># unit/ust-elf/test_ust_elf: Testing x86 support
<br>PASS: unit/ust-elf/test_ust_elf 2 - lttng_ust_elf_create
<br>PASS: unit/ust-elf/test_ust_elf 3 - lttng_ust_elf_get_memsz returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 4 - memsz - expected: 5732, got: 5732
<br>PASS: unit/ust-elf/test_ust_elf 5 - lttng_ust_elf_get_build_id returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 6 - build id marked as found
<br>PASS: unit/ust-elf/test_ust_elf 7 - build_id_len - expected: 20, got: 20
<br>PASS: unit/ust-elf/test_ust_elf 8 - build_id has expected value
<br>PASS: unit/ust-elf/test_ust_elf 9 - lttng_ust_elf_get_debug_link returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 10 - debug link marked as found
<br>PASS: unit/ust-elf/test_ust_elf 11 - debug link filename - expected: main.elf.debug, got: main.elf.debug
<br>PASS: unit/ust-elf/test_ust_elf 12 - debug link crc - expected: 0x1531f73c, got: 0x1531f73c
<br># unit/ust-elf/test_ust_elf: Testing x86_64 support
<br>PASS: unit/ust-elf/test_ust_elf 13 - lttng_ust_elf_create
<br>PASS: unit/ust-elf/test_ust_elf 14 - lttng_ust_elf_get_memsz returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 15 - memsz - expected: 2099376, got: 2099376
<br>PASS: unit/ust-elf/test_ust_elf 16 - lttng_ust_elf_get_build_id returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 17 - build id marked as found
<br>PASS: unit/ust-elf/test_ust_elf 18 - build_id_len - expected: 20, got: 20
<br>PASS: unit/ust-elf/test_ust_elf 19 - build_id has expected value
<br>PASS: unit/ust-elf/test_ust_elf 20 - lttng_ust_elf_get_debug_link returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 21 - debug link marked as found
<br>PASS: unit/ust-elf/test_ust_elf 22 - debug link filename - expected: main.elf.debug, got: main.elf.debug
<br>PASS: unit/ust-elf/test_ust_elf 23 - debug link crc - expected: 0xa048a98f, got: 0xa048a98f
<br># unit/ust-elf/test_ust_elf: Testing armeb support
<br>PASS: unit/ust-elf/test_ust_elf 24 - lttng_ust_elf_create
<br>PASS: unit/ust-elf/test_ust_elf 25 - lttng_ust_elf_get_memsz returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 26 - memsz - expected: 34196, got: 34196
<br>PASS: unit/ust-elf/test_ust_elf 27 - lttng_ust_elf_get_build_id returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 28 - build id marked as found
<br>PASS: unit/ust-elf/test_ust_elf 29 - build_id_len - expected: 20, got: 20
<br>PASS: unit/ust-elf/test_ust_elf 30 - build_id has expected value
<br>PASS: unit/ust-elf/test_ust_elf 31 - lttng_ust_elf_get_debug_link returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 32 - debug link marked as found
<br>PASS: unit/ust-elf/test_ust_elf 33 - debug link filename - expected: main.elf.debug, got: main.elf.debug
<br>PASS: unit/ust-elf/test_ust_elf 34 - debug link crc - expected: 0x9d40261b, got: 0x9d40261b
<br># unit/ust-elf/test_ust_elf: Testing aarch64_be support
<br>PASS: unit/ust-elf/test_ust_elf 35 - lttng_ust_elf_create
<br>PASS: unit/ust-elf/test_ust_elf 36 - lttng_ust_elf_get_memsz returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 37 - memsz - expected: 67632, got: 67632
<br>PASS: unit/ust-elf/test_ust_elf 38 - lttng_ust_elf_get_build_id returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 39 - build id marked as found
<br>PASS: unit/ust-elf/test_ust_elf 40 - build_id_len - expected: 20, got: 20
<br>PASS: unit/ust-elf/test_ust_elf 41 - build_id has expected value
<br>PASS: unit/ust-elf/test_ust_elf 42 - lttng_ust_elf_get_debug_link returned successfully
<br>PASS: unit/ust-elf/test_ust_elf 43 - debug link marked as found
<br>PASS: unit/ust-elf/test_ust_elf 44 - debug link filename - expected: main.elf.debug, got: main.elf.debug
<br>PASS: unit/ust-elf/test_ust_elf 45 - debug link crc - expected: 0x2b8cedce, got: 0x2b8cedce
<br>PASS: unit/ust-elf/test_ust_elf 46 - hello.exec is not PIC
<br>PASS: unit/ust-elf/test_ust_elf 47 - hello.pie is PIC
<br>PASS: unit/ust-elf/test_ust_elf 48 - hello.pic is PIC
<br>PASS: unit/ust-error/test_ust_error 1 - lttng_ust_strerror - Positive LTTNG_UST_OK returns 'Success' (Success)
<br>PASS: unit/ust-error/test_ust_error 2 - lttng_ust_strerror - Negative LTTNG_UST_OK returns 'Success' (Success)
<br>PASS: unit/ust-error/test_ust_error 3 - lttng_ust_strerror - Positive large int returns 'Unknown error' (Unknown error)
<br>PASS: unit/ust-error/test_ust_error 4 - lttng_ust_strerror - Negative large int returns 'Unknown error' (Unknown error)
<br>PASS: unit/ust-error/test_ust_error 5 - lttng_ust_strerror - Positive LTTNG_UST_ERR_NR returns 'Unknown error' (Unknown error)
<br>PASS: unit/ust-error/test_ust_error 6 - lttng_ust_strerror - Negative LTTNG_UST_ERR_NR returns 'Unknown error' (Unknown error)
<br>PASS: unit/ust-error/test_ust_error 7 - lttng_ust_strerror - 
Positive LTTNG_UST_ERR_NR + 1 returns 'Unknown error' (Unknown error)
<br>PASS: unit/ust-error/test_ust_error 8 - lttng_ust_strerror - 
Negative LTTNG_UST_ERR_NR - 1 returns 'Unknown error' (Unknown error)
<br>PASS: unit/ust-error/test_ust_error 9 - lttng_ust_strerror - 
Positive LTTNG_UST_ERR_NOENT returns 'Unknown error' (Unknown error)
<br>PASS: unit/ust-error/test_ust_error 10 - lttng_ust_strerror - Negative LTTNG_UST_ERR_NOENT returns 'No entry' (No entry)
<br>PASS: unit/ust-error/test_ust_error 11 - lttng_ust_strerror - 
Positive LTTNG_UST_ERR_PEERCRED_PID returns 'Unknown error' (Unknown 
error)
<br>PASS: unit/ust-error/test_ust_error 12 - lttng_ust_strerror - 
Negative LTTNG_UST_ERR_PEERCRED_PID returns 'Peer credentials PID is 
invalid. Socket appears to belong to a distinct, non-nested pid 
namespace.' (Peer credentials PID is invalid. Socket appears to belong 
to a disti)
<br>PASS: unit/ust-utils/test_ust_utils 1 - lttng_ust_stringify - literal integer
<br>PASS: unit/ust-utils/test_ust_utils 2 - lttng_ust_stringify - identifier
<br>PASS: unit/ust-utils/test_ust_utils 3 - lttng_ust_is_signed_type - 'signed char' is signed
<br>PASS: unit/ust-utils/test_ust_utils 4 - lttng_ust_is_signed_type - 'short' is signed
<br>PASS: unit/ust-utils/test_ust_utils 5 - lttng_ust_is_signed_type - 'int' is signed
<br>PASS: unit/ust-utils/test_ust_utils 6 - lttng_ust_is_signed_type - 'long' is signed
<br>PASS: unit/ust-utils/test_ust_utils 7 - lttng_ust_is_signed_type - 'long long' is signed
<br>PASS: unit/ust-utils/test_ust_utils 8 - lttng_ust_is_signed_type - 'float' is signed
<br>PASS: unit/ust-utils/test_ust_utils 9 - lttng_ust_is_signed_type - 'double' is signed
<br>PASS: unit/ust-utils/test_ust_utils 10 - lttng_ust_is_signed_type - 'long double' is signed
<br>PASS: unit/ust-utils/test_ust_utils 11 - lttng_ust_is_signed_type - 'int8_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 12 - lttng_ust_is_signed_type - 'int16_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 13 - lttng_ust_is_signed_type - 'int32_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 14 - lttng_ust_is_signed_type - 'int64_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 15 - lttng_ust_is_signed_type - 'intmax_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 16 - lttng_ust_is_signed_type - 'ssize_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 17 - lttng_ust_is_signed_type - 'ptrdiff_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 18 - lttng_ust_is_signed_type - 'intptr_t' is signed
<br>PASS: unit/ust-utils/test_ust_utils 19 - lttng_ust_is_signed_type - 'unsigned char' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 20 - lttng_ust_is_signed_type - 'unsigned short' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 21 - lttng_ust_is_signed_type - 'unsigned int' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 22 - lttng_ust_is_signed_type - 'unsigned long' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 23 - lttng_ust_is_signed_type - 'unsigned long long' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 24 - lttng_ust_is_signed_type - 'uint8_t' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 25 - lttng_ust_is_signed_type - 'uint16_t' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 26 - lttng_ust_is_signed_type - 'uint32_t' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 27 - lttng_ust_is_signed_type - 'uint64_t' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 28 - lttng_ust_is_signed_type - 'uintmax_t' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 29 - lttng_ust_is_signed_type - '_Bool' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 30 - lttng_ust_is_signed_type - 'size_t' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 31 - lttng_ust_is_signed_type - 'void *' is unsigned
<br>PASS: unit/ust-utils/test_ust_utils 32 - lttng_ust_is_integer_type - 'char' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 33 - lttng_ust_is_integer_type - 'short' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 34 - lttng_ust_is_integer_type - 'int' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 35 - lttng_ust_is_integer_type - 'long' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 36 - lttng_ust_is_integer_type - 'long long' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 37 - lttng_ust_is_integer_type - 'signed char' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 38 - lttng_ust_is_integer_type - 'signed short' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 39 - lttng_ust_is_integer_type - 'signed int' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 40 - lttng_ust_is_integer_type - 'signed long' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 41 - lttng_ust_is_integer_type - 'signed long long' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 42 - lttng_ust_is_integer_type - 'unsigned char' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 43 - lttng_ust_is_integer_type - 'unsigned short' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 44 - lttng_ust_is_integer_type - 'unsigned int' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 45 - lttng_ust_is_integer_type - 'unsigned long' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 46 - lttng_ust_is_integer_type - 'unsigned long long' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 47 - lttng_ust_is_integer_type - 'int8_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 48 - lttng_ust_is_integer_type - 'int16_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 49 - lttng_ust_is_integer_type - 'int32_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 50 - lttng_ust_is_integer_type - 'int64_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 51 - lttng_ust_is_integer_type - 'intmax_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 52 - lttng_ust_is_integer_type - 'uint8_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 53 - lttng_ust_is_integer_type - 'uint16_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 54 - lttng_ust_is_integer_type - 'uint32_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 55 - lttng_ust_is_integer_type - 'uint64_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 56 - lttng_ust_is_integer_type - 'uintmax_t' is an integer
<br>PASS: unit/ust-utils/test_ust_utils 57 - lttng_ust_is_integer_type - 'float' is not an integer
<br>PASS: unit/ust-utils/test_ust_utils 58 - lttng_ust_is_integer_type - 'double' is not an integer
<br>PASS: unit/ust-utils/test_ust_utils 59 - lttng_ust_is_integer_type - 'long double' is not an integer
<br>PASS: unit/ust-utils/test_ust_utils 60 - lttng_ust_is_integer_type - 'void *' is not an integer
<br>PASS: unit/ust-utils/test_ust_utils 61 - lttng_ust_is_pointer_type - 'char' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 62 - lttng_ust_is_pointer_type - 'short' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 63 - lttng_ust_is_pointer_type - 'int' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 64 - lttng_ust_is_pointer_type - 'long' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 65 - lttng_ust_is_pointer_type - 'long long' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 66 - lttng_ust_is_pointer_type - 'signed char' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 67 - lttng_ust_is_pointer_type - 'signed short' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 68 - lttng_ust_is_pointer_type - 'signed int' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 69 - lttng_ust_is_pointer_type - 'signed long' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 70 - lttng_ust_is_pointer_type - 'signed long long' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 71 - lttng_ust_is_pointer_type - 'unsigned char' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 72 - lttng_ust_is_pointer_type - 'unsigned short' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 73 - lttng_ust_is_pointer_type - 'unsigned int' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 74 - lttng_ust_is_pointer_type - 'unsigned long' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 75 - lttng_ust_is_pointer_type - 'unsigned long long' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 76 - lttng_ust_is_pointer_type - 'int8_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 77 - lttng_ust_is_pointer_type - 'int16_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 78 - lttng_ust_is_pointer_type - 'int32_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 79 - lttng_ust_is_pointer_type - 'int64_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 80 - lttng_ust_is_pointer_type - 'intmax_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 81 - lttng_ust_is_pointer_type - 'uint8_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 82 - lttng_ust_is_pointer_type - 'uint16_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 83 - lttng_ust_is_pointer_type - 'uint32_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 84 - lttng_ust_is_pointer_type - 'uint64_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 85 - lttng_ust_is_pointer_type - 'uintmax_t' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 86 - lttng_ust_is_pointer_type - 'float' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 87 - lttng_ust_is_pointer_type - 'double' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 88 - lttng_ust_is_pointer_type - 'long double' is not a pointer
<br>PASS: unit/ust-utils/test_ust_utils 89 - lttng_ust_is_pointer_type - 'void *' is a pointer
<br>PASS: unit/ust-utils/test_ust_utils 90 - lttng_ust_is_pointer_type - 'void **' is a pointer
<br>PASS: unit/ust-utils/test_ust_utils 91 - lttng_ust_is_pointer_type - 'struct dummy *' is a pointer
<br>PASS: unit/ust-utils/test_ust_utils 92 - lttng_ust_is_pointer_type - 'int *' is a pointer
<br>PASS: unit/ust-utils/test_ust_utils 93 - lttng_ust_is_pointer_type - 'float *' is a pointer
<br>PASS: unit/ust-utils/test_ust_utils 94 - lttng_ust_is_pointer_type - 'double *' is a pointer
<br># regression/abi0-conflict/test_abi0_conflict: LD_PRELOAD
<br>PASS: regression/abi0-conflict/test_abi0_conflict 1 - LD_PRELOAD: no-ust app works
<br>PASS: regression/abi0-conflict/test_abi0_conflict 2 - LD_PRELOAD: no-ust app with abi0 preload succeeds
<br>PASS: regression/abi0-conflict/test_abi0_conflict 3 - LD_PRELOAD: no-ust app with abi0 and abi1 preload fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 4 - LD_PRELOAD: no-ust app with abi1 and abi0 preload fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 5 - LD_PRELOAD: ust app works
<br>PASS: regression/abi0-conflict/test_abi0_conflict 6 - LD_PRELOAD: ust app with abi0 preload fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 7 - LD_PRELOAD: ust app with abi0 and abi1 preload fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 8 - LD_PRELOAD: ust app with abi1 and abi0 preload fails
<br># regression/abi0-conflict/test_abi0_conflict: dlopen
<br>PASS: regression/abi0-conflict/test_abi0_conflict 9 - dlopen: no-ust app works
<br>PASS: regression/abi0-conflict/test_abi0_conflict 10 - dlopen: no-ust app with abi1 and abi1 succeeds
<br>PASS: regression/abi0-conflict/test_abi0_conflict 11 - dlopen: no-ust app with abi0 and abi1 fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 12 - dlopen: no-ust app with abi1 and abi0 fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 13 - dlopen: ust app works
<br>PASS: regression/abi0-conflict/test_abi0_conflict 14 - dlopen: ust app with abi0 fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 15 - dlopen: ust app with abi0 and abi1 fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 16 - dlopen: ust app with abi1 and abi0 fails
<br># regression/abi0-conflict/test_abi0_conflict: Indirect linking
<br>PASS: regression/abi0-conflict/test_abi0_conflict 17 - indirect: no-ust app with abi0 succeeds
<br>PASS: regression/abi0-conflict/test_abi0_conflict 18 - indirect: no-ust app with abi1 succeeds
<br>PASS: regression/abi0-conflict/test_abi0_conflict 19 - indirect: no-ust app with abi0 and abi1 fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 20 - indirect: ust app with abi0 fails
<br>PASS: regression/abi0-conflict/test_abi0_conflict 21 - indirect: ust app with abi1 succeeds
<br>PASS: regression/abi0-conflict/test_abi0_conflict 22 - indirect: ust app with abi0 and abi1 fails
<br>============================================================================
<br>Testsuite summary for lttng-ust 2.13.8
<br>============================================================================
<br><span style="font-weight:bold;color:rgb(0,0,0);background-color:rgb(255,255,255)"># TOTAL: 278</span><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">
</span><br># PASS:  278
<br># SKIP:  0
<br># XFAIL: 0
<br># FAIL:  0
<br># XPASS: 0
<br># ERROR: 0
<br>============================================================================
<br>make[4]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>make[3]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>make[2]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>make[1]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/tests'
<br>Making check in extras
<br>make[1]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/extras'
<br>make[1]: Nothing to be done for 'check'.
<br>make[1]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8/extras'
<br>make[1]: Entering directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8'
<br>make[1]: Nothing to be done for 'check-am'.
<br>make[1]: Leaving directory '/home/iadmin/lttng-ust/lttng-ust-2.13.8'</span></div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  - Does make check for lttng-tools pass in your environment?<br></blockquote><div><br></div><div>I'm still using lttng-tools built by yocto so I don't know how to run 
make check in that situation.  From devtool maybe???  I don't know, I'd 
have to look into that one.   I never upgraded lttng-tools either, only 
upgraded lttng-ust and built from source tar to get the fix you 
mentioned for TLS stuff.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  - Is this reproducible in non-yocto environments or on other <br>
architectures with the same project?<br></blockquote><div><br></div><div>Hmm, that's a good question.  I don't have any other embedded targets to
 try this on that are a different arch.  I think I heard at one point 
early on a heavily stubbed out version ran on a PC but I'd have to look 
into that.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  - Does running the traced application with `LTTNG_UST_DEBUG=1` yield <br>
more information?<br></blockquote><div><br></div><div><div>So far I've just been trying to get the app to run without even 
starting lttng just to get past segfault issue.  Here is what it looks 
like with debug turned on without starting lttng or a lttng-sessiond:</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">iblttng_ust_tracepoint[599/599]:
 Your compiler treats weak symbols with hidden visibility for integer 
objects as SAME address between compile units part of the same module. 
(in check_weak_hidden() at tracepoint.c:1012)
</span><br>liblttng_ust_tracepoint[599/599]: Your compiler treats 
weak symbols with hidden visibility for pointer objects as SAME address 
between compile units part of the same module. (in check_weak_hidden() 
at tracepoint.c:1016)
<br>liblttng_ust_tracepoint[599/599]: Your compiler treats weak 
symbols with hidden visibility for 24-byte structure objects as SAME 
address between compile units part of the same module. (in 
check_weak_hidden() at tracepoint.c:1020)
<br>liblttng_ust_tracepoint[599/599]: just registered a tracepoints section from 0xffffb91aec00 and having 26 tracepoints (in lttng_ust_tracepoint_module_register() at tracepoint.c:960)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_statedump:end" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_statedump:procname" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_statedump:debug_link" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_statedump:build_id" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_statedump:bin_info" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_statedump:start" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_lib:unload" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_lib:debug_link" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_lib:build_id" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_lib:load" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracef:event" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_LINE" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_FUNCTION" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_UNIT" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_MODULE" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROCESS" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_PROGRAM" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_DEBUG_SYSTEM" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_INFO" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_NOTICE" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_WARNING" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_ERR" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_CRIT" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_ALERT" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust_tracepoint[599/599]: registered tracepoint: "lttng_ust_tracelog:LTTNG_UST_TRACEPOINT_LOGLEVEL_EMERG" (in lttng_ust_tracepoint_module_register() at tracepoint.c:968)
<br>liblttng_ust[599/599]: Provider "lttng_ust_statedump" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_statedump" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_statedump" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_statedump" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_statedump" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_statedump" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_statedump" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: adding probe lttng_ust_statedump containing 6
 events to lazy registration list (in lttng_ust_probe_register() at 
lttng-probes.c:254)
<br>liblttng_ust[599/599]: Provider "lttng_ust_lib" accepted, version 
3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_lib" accepted, version 
3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_lib" accepted, version 
3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_lib" accepted, version 
3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_lib" accepted, version 
3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: adding probe lttng_ust_lib containing 4 
events to lazy registration list (in lttng_ust_probe_register() at 
lttng-probes.c:254)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracef" accepted, version
 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracef" accepted, version
 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: adding probe lttng_ust_tracef containing 1 
events to lazy registration list (in lttng_ust_probe_register() at 
lttng-probes.c:254)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: Provider "lttng_ust_tracelog" accepted, 
version 3.0 is compatible with LTTng UST provider version 3.0. (in 
check_provider_version() at lttng-probes.c:50)
<br>liblttng_ust[599/599]: adding probe lttng_ust_tracelog containing 15
 events to lazy registration list (in lttng_ust_probe_register() at 
lttng-probes.c:254)
<br>liblttng_ust[599/599]: dlopened liblttng-ust shared library (liblttng-ust.so.1). (in lttng_ust_ctor() at lttng-ust-comm.c:2217)
<br>libringbuffer-clients[599/599]: LTT : ltt ring buffer client "relay-metadata-mmap" init
<br> (in lttng_ring_buffer_metadata_client_init() at ../../src/common/ringbuffer-clients/metadata-template.h:364)
<br>libringbuffer-clients[599/599]: LTT : ltt ring buffer client "relay-overwrite-mmap" init
<br> (in lttng_ring_buffer_client_overwrite_init() at ../../src/common/ringbuffer-clients/template.h:826)
<br>libringbuffer-clients[599/599]: LTT : ltt ring buffer client "relay-overwrite-rt-mmap" init
<br> (in lttng_ring_buffer_client_overwrite_rt_init() at ../../src/common/ringbuffer-clients/template.h:826)
<br>libringbuffer-clients[599/599]: LTT : ltt ring buffer client "relay-discard-mmap" init
<br> (in lttng_ring_buffer_client_discard_init() at ../../src/common/ringbuffer-clients/template.h:826)
<br>libringbuffer-clients[599/599]: LTT : ltt ring buffer client "relay-discard-rt-mmap" init
<br> (in lttng_ring_buffer_client_discard_rt_init() at ../../src/common/ringbuffer-clients/template.h:826)
<br>liblttng_ust[599/601]: Info: sessiond not accepting connections to 
local apps socket (in ust_listener_thread() at lttng-ust-comm.c:1884)
<br>liblttng_ust[599/601]: Waiting for local apps sessiond (in wait_for_sessiond() at lttng-ust-comm.c:1758)
<br>liblttng_ust[599/600]: Info: sessiond not accepting connections to 
global apps socket (in ust_listener_thread() at lttng-ust-comm.c:1884)
<br>Segmentation fault</span></div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  - I'd also run lttng-sessiond with the environment variable <br>
`LTTNG_UST_DEBUG=1` set and `-vvv --verbose-consumer` in the program <br>
arguments and capture for stdout & stderr into a file for analysis.<br>
  - Verify if the main program is dynamically linked with `ldd`<br>
  - Verify which libraries are loaded at runtime and which calls are <br>
shimmed with `LD_DEBUG=libs,binding`<br></blockquote><div><br></div><div><div>I provided some of this above.</div><div>The output of LD_DEBUG=libs,bindings is attached as file <span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">ld_debug-libs-bindings.txt in attached tar file (had to use compression as system rejected this post as it was too large).<br></span></span></div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
  - Review in detail which gcc commands are executed to produce the <br>
tracepoint provider and link it to the main executable.<br></blockquote><div><br></div><div>Just like the hello example in the documentation</div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
My current understanding is that the statedump tracepoints are <br>
registered and those events communicated before the main program's init <br>
is run (at least for C programs). If you do the following test, I think <br>
you should be able to see the statedumps. Could you confirm if you have <br>
them or not?<br>
<br>
<br>
```<br>
LTTNG_UST_DEBUG=1 lttng-sessiond -vvv --verbose-consumer &> <br>
/tmp/sessiond.log &<br>
lttng create<br>
lttng enable-event -u --all<br>
lttng start<br>
<br>
unset LTTNG_UST_WITHOUT_BADDR_STATEDUMP<br>
unset LTTNG_UST_WITHOUT_PROCNAME_STATEDUMP<br>
LTTNG_UST_DEBUG=1 LTTNG_UST_REGISTER_TIMEOUT=-1 ./my_app<br>
# Segfault?<br></blockquote><div><br></div><div>Yes, still segfault.  The sessiond.log is in attached tar file.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
lttng stop<br>
lttng view # Here you should have the statedump events<br>
killall lttng-sessiond<br></blockquote><div><br></div><div><div>So the embedded target doesn't have babletrace so I archived the 
session and transferred it over to my dev PC and used tracecompas to 
view the lttng-session.</div><div><br></div><div>You can see that in the <span style="font-family:monospace"><span style="color:rgb(0,0,0);background-color:rgb(255,255,255)">my_session.csv file in the attached tar.<br></span></span></div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
```<br>
<br>
> <br>
> Thanks!  I'm running out of things to try.<br>
<br>
Ultimately, given the bespoke environment, build steps, and application <br>
it's tough to diagnose a lot of things that we would go over with a fine <br>
tooth comb: seeing how the TPPs are built and linked, seeing how the <br>
application is built and linked, analyzing what's happening at runtime, <br>
having a coredump that allows us to see the variables, etc.<br>
<br>
If you can provide a minimal reproducer, it's possible to dig further <br>
into it.<br>
<br>
Otherwise, to look in more detail at your specific project would be <br>
covered under a service contract (for which we can sign NDAs, etc. as <br>
needed). Feel free to reach out the <a href="mailto:sales@efficios.com" target="_blank">sales@efficios.com</a> to organise that.<br></blockquote><div><br></div><div><div>I understand but so far schedules & budget/priorities haven't 
aligned so once again I've been scheduled to look at this issue again 
since we last tried it on older Dunfell OS with older versions of lttng 
and it looks like we have the same problem as before.</div><div><br></div><div>Thanks for your help!</div><div><br></div><div>Regards,</div><div><br></div><div>Brian</div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
> <br>
> I don't fully understand the implications of some of this documentation, <br>
> but I have learned enough to know LD_PRELOAD means nothing if everything <br>
> is static built.  Our application is heavily multi threaded, uses fork, <br>
> clone and who knows if it's doing double closes or not ... so I've tried <br>
> these LD_PRELOAD "helpers" or whatever they are, before and didn't get a <br>
> different result, but now know it's only for shared library object.  So <br>
> now I will experiment with making our tpp a shared object and try <br>
> LD_PRELOAD of fork, fd and pthread helpers and starting my app that way.<br>
<br>
LD_PRELOAD has an effect if the application you are running is <br>
dynamically linked (note: the TPP can be statically linked inside an <br>
dynamically linked executable, and the preloads are still useful and/or <br>
needed in that case).<br>
<br>
The function of the helpers are to ensure that various system calls <br>
don't clobber things in use by lttng-ust. E.g., close() is shimmed by <br>
liblttng-ust-fd.so so that FDs that lttng-ust uses aren't suddenly shut <br>
by the program.<br>
<br>
If you want to see it in action, you could try an experiment with a <br>
slightly modified hello-static-lib application, with instructions in the <br>
top comment: <br>
<a href="https://gist.github.com/kienanstewart/299eb6a511d92d458569b210e4a418a8" rel="noreferrer" target="_blank">https://gist.github.com/kienanstewart/299eb6a511d92d458569b210e4a418a8</a><br>
<br>
The effect of the preloads such as liblttng-ust-fd.so are independent of <br>
how the TPP is built and linked to the application or library.<br>
<br>
thanks,<br>
kienan<br>
<br>
> <br>
> This is what I'm referring to above from the lttng docs:<br>
> <br>
> <br>
>           Use LTTng-UST with daemons<br>
>           <<a href="https://lttng.org/docs/v2.13/#doc-using-lttng-ust-with-daemons" rel="noreferrer" target="_blank">https://lttng.org/docs/v2.13/#doc-using-lttng-ust-with-daemons</a>><br>
> <br>
> If your instrumented application calls fork(2) <br>
> <<a href="https://man7.org/linux/man-pages/man2/fork.2.html" rel="noreferrer" target="_blank">https://man7.org/linux/man-pages/man2/fork.2.html</a>>, clone(2) <br>
> <<a href="https://man7.org/linux/man-pages/man2/clone.2.html" rel="noreferrer" target="_blank">https://man7.org/linux/man-pages/man2/clone.2.html</a>>, or BSD’s rfork(2) <br>
> <<a href="http://www.freebsd.org/cgi/man.cgi?query=rfork&sektion=2&manpath=FreeBSD+4.10-RELEASE" rel="noreferrer" target="_blank">http://www.freebsd.org/cgi/man.cgi?query=rfork&sektion=2&manpath=FreeBSD+4.10-RELEASE</a>>, without a following exec(3) <<a href="https://man7.org/linux/man-pages/man3/exec.3.html" rel="noreferrer" target="_blank">https://man7.org/linux/man-pages/man3/exec.3.html</a>>-family system call, you must preload the |liblttng-ust-fork.so| shared object when you start the application.<br>
> <br>
> LD_PRELOAD=liblttng-ust-fork.so ./my-app<br>
> <br>
> If your tracepoint provider package is a shared library which you also <br>
> preload, you must put both shared objects in |LD_PRELOAD|:<br>
> <br>
> LD_PRELOAD=liblttng-ust-fork.so:/path/to/tp.so ./my-app<br>
> <br>
> <br>
>           Use LTTng-UST with applications which close file descriptors<br>
>           that don’t belong to them<br>
>           <<a href="https://lttng.org/docs/v2.13/#doc-liblttng-ust-fd" rel="noreferrer" target="_blank">https://lttng.org/docs/v2.13/#doc-liblttng-ust-fd</a>><br>
> <br>
> Since 2.9<br>
> <br>
> If your instrumented application closes one or more file descriptors <br>
> which it did not open itself, you must preload the |liblttng-ust-fd.so| <br>
> shared object when you start the application:<br>
> <br>
> LD_PRELOAD=liblttng-ust-fd.so ./my-app<br>
> <br>
> Typical use cases include closing all the file descriptors after fork(2) <br>
> <<a href="https://man7.org/linux/man-pages/man2/fork.2.html" rel="noreferrer" target="_blank">https://man7.org/linux/man-pages/man2/fork.2.html</a>> or rfork(2) <br>
> <<a href="http://www.freebsd.org/cgi/man.cgi?query=rfork&sektion=2&manpath=FreeBSD+4.10-RELEASE" rel="noreferrer" target="_blank">http://www.freebsd.org/cgi/man.cgi?query=rfork&sektion=2&manpath=FreeBSD+4.10-RELEASE</a>> and buggy applications doing “double closes”.<br>
> <br>
> <br>
> Thanks,<br>
> <br>
> Brian<br>
> <br>
> <br>
</blockquote></div></div>