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