Hi Mathieu, On Fri, May 12, 2023 at 9:33 AM Mathieu Desnoyers <mathieu.desnoy...@efficios.com> wrote: > > On 2023-05-12 00:10, Brian Hutchinson wrote: > > Hmm, I missed this earlier somehow. > > > > So, I'm not the greatest at updating OE and Yocto recipes. I'm > > currently using this recipe: > > http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-kernel/lttng/lttng-ust_2.13.5.bb?h=master > > > > ... and it looks like the commit you are talking about is newer. > > > > I always think, oh, I'll just update the source URI in the recipe but > > it's never that simple ... and there are patches in the recipe etc. > > > > I've got a sdk (external toolchain) built for my embedded platform. > > Would it be too hard to just download stable-2.13 of everything and > > cross compile it outside of Yocto? > > > > What do you suggest? > > > > And do I need to do anything besides just get 2.13 stable working? I > > was kind of confused if I need to put a #define > > LTTNG_TRACEPOINT_DEFINE somewhere in my code. I'm not using a > > tracepoint provider packages at this point > > Hi Brian, > > You might want to provide a trimmed-down reproducer of your issue: > example .c compile unit instrumented with tracepoints, example .c > compile unit containing the tracepoint probes, and the log of the > console when this application is run with LTTNG_UST_DEBUG=1.
The code has two different areas where I'm trying to use tracef. The way the app is put together, each of these areas end up becoming static libs that all get lumped together to make the final executable (which is then linked with -llttng-ust and -ldl). If I'm reading between the lines correctly with respect to the commit you pointed out (that I'm missing), if I reduce the inclusion of I #include <lttng/tracef.h> to one instance (like with the hello world that worked), I'm thinking the version I have might work. I don't know how I could trim down the large multi threaded app I'm trying to debug to share. Another dynamic I should mention in full disclosure, the app in question has been ported from a different OS and was on a single core cpu. The new host ( imx8) is a quad core A53 and since the app wasn't written for multicore, the cpu's are isolated and systemd is starting the app on cpu 0 but once it's up it switches it's affinity to cpu 1 so I don't know if that's a factor here or not so just mentioning it. I did try with LTTNG_UST_DEBUG=1 last night and it didn't put out much: export LTTNG_UST_DEBUG=1 # systemctl start my_app #lttng create my_tc_trace --output=/tmp/my_tc_trace Spawning a session daemon libringbuffer-clients[711/711] : LTT : ltt ring buffer client "relay-metadata-mmap" init (in lttng_ring_buffer_metadata_client_init() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/metadata-template.h:364) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-overwrite-mmap" init (in lttng_ring_buffer_client_overwrite_init() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:826) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-overwrite-rt-mmap" init (in lttng_ring_buffer_client_overwrite_rt_init() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:826) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-discard-mmap" init (in lttng_ring_buffer_client_discard_init() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:826) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-discard-rt-mmap" init (in lttng_ring_buffer_client_discard_rt_init() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:826) [ 179.384456] LTTng: Loaded modules v2.13.9 (Nordicit�é) [ 179.390366] LTTng: Experimental bitwise enum enabled. libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-discard-rt-mmap" exit (in lttng_ring_buffer_client_discard_rt_exit() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:833) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-discard-mmap" exit (in lttng_ring_buffer_client_discard_exit() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:833) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-overwrite-rt-mmap" exit (in lttng_ring_buffer_client_overwrite_rt_exit() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:833) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-overwrite-mmap" exit (in lttng_ring_buffer_client_overwrite_exit() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/template.h:833) libringbuffer-clients[711/711]: LTT : ltt ring buffer client "relay-metadata-mmap" exit (in lttng_ring_buffer_metadata_client_exit() at ../../../lttng-ust-2.13.5/src/common/ringbuffer-clients/metadata-template.h:371) Session my_tc_trace created. Traces will be output to /tmp/my_tc_trace # lttng enable-event --userspace 'lttng_ust_tracef:*' ust event lttng_ust_tracef:* created in channel channel0 # lttng start Tracing started for session my_tc_trace # lttng destroy Destroying session my_tc_trace.. Session my_tc_trace destroyed root@localhost:/tmp/my_tc_trace/ust/uid/0# cd 64-bit/ root@localhost:/tmp/my_tc_trace/ust/uid/0/64-bit# ls channel0_0 channel0_1 channel0_2 channel0_3 index metadata root@localhost:/tmp/my_tc_trace/ust/uid/0/64-bit# ls -al total 20 drwxrwx--- 3 root root 160 Sep 20 10:48 . drwxrwx--- 3 root root 60 Sep 20 10:48 .. -rw-rw---- 1 root root 4096 Sep 20 10:48 channel0_0 -rw-rw---- 1 root root 4096 Sep 20 10:48 channel0_1 -rw-rw---- 1 root root 4096 Sep 20 10:48 channel0_2 -rw-rw---- 1 root root 4096 Sep 20 10:48 channel0_3 drwxrwx--- 2 root root 120 Sep 20 10:48 index -rw-rw---- 1 root root 4096 Sep 20 10:48 metadata root@localhost:/tmp/my_tc_trace/ust/uid/0/64-bit# cd index/ root@localhost:/tmp/my_tc_trace/ust/uid/0/64-bit/index# ls channel0_0.idx channel0_1.idx channel0_2.idx channel0_3.idx root@localhost:/tmp/my_tc_trace/ust/uid/0/64-bit/index# ls -al total 16 drwxrwx--- 2 root root 120 Sep 20 10:48 . drwxrwx--- 3 root root 160 Sep 20 10:48 .. -rw-rw---- 1 root root 88 Sep 20 10:48 channel0_0.idx -rw-rw---- 1 root root 88 Sep 20 10:48 channel0_1.idx -rw-rw---- 1 root root 88 Sep 20 10:48 channel0_2.idx -rw-rw---- 1 root root 88 Sep 20 10:48 channel0_3.idx No events in the logs, if it were working there would be tons of stuff in there. But it sounds like my main problem is I need stable-2.13 and I need to figure out the best way to do that. Compile from lttng source outside of yocto (probably not a good idea with all the dependencies that would also need to be cross compiled) with my generated sdk for the imx8 or try to update the OE recipe that I'm currently using. Regards, Brian > > Thanks, > > Mathieu > > -- > Mathieu Desnoyers > EfficiOS Inc. > https://www.efficios.com > _______________________________________________ lttng-dev mailing list lttng-dev@lists.lttng.org https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev