[lttng-dev] Using lttng-ust 2.13.6 from Yocto Kirkstone and getting weird segfault saying strlen_asimd.S can't be found.
Brian Hutchinson
b.hutchman at gmail.com
Tue Jul 23 00:48:42 EDT 2024
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 <kstewart at efficios.com>
wrote:
> Hi Brian,
>
>
> On 7/17/24 12:27 PM, Brian Hutchinson wrote:
> >
> >
> > On Wed, Jul 17, 2024 at 10:13 AM Kienan Stewart <kstewart at efficios.com
> > <mailto:kstewart at efficios.com>> 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=<optimized out>,
> > argv=0xffffe2d66098, argc=1) at ../csu/libc-start.c:145
> > #4 __libc_start_main_impl (main=0xaaaab4bd94e0 <main>, argc=1,
> > argv=0xffffe2d66098, init=<optimized out>, fini=<optimized out>,
> > rtld_fini=<optimized out>, stack_end=<optimized out>) 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
<path>
# 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 at 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)
> > <https://man7.org/linux/man-pages/man2/fork.2.html>, clone(2)
> > <https://man7.org/linux/man-pages/man2/clone.2.html>, 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
> > <https://lttng.org/docs/v2.13/#doc-liblttng-ust-fd>
> >
> > 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)
> > <https://man7.org/linux/man-pages/man2/fork.2.html> 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
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20240723/0f66c0ec/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: log-files.tar.xz
Type: application/x-xz
Size: 61500 bytes
Desc: not available
URL: <https://lists.lttng.org/pipermail/lttng-dev/attachments/20240723/0f66c0ec/attachment-0001.xz>
More information about the lttng-dev
mailing list