LTTng bugs repository: Issueshttps://bugs.lttng.org/https://bugs.lttng.org/themes/lttng/favicon/a.ico?14249722912023-10-26T19:32:57ZLTTng bugs repository
Redmine LTTng-UST - Bug #1398 (New): reserved identifier violationhttps://bugs.lttng.org/issues/13982023-10-26T19:32:57ZMarkus Elfring
<p>I would like to point out that some identifiers do eventually not fit to the expected naming convention of the C language standard.<br /><a class="external" href="https://www.securecoding.cert.org/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier">https://www.securecoding.cert.org/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier</a></p>
<p>Would you like to adjust your selection for unique names?</p>
Examples:
<ul>
<li>_UST_COMMON_CLOCK_H<br /> <a class="external" href="https://github.com/lttng/lttng-ust/blob/8bc1125eb851b2c52d3263c2992e6806017e98e7/src/common/clock.h#L7-L8">https://github.com/lttng/lttng-ust/blob/8bc1125eb851b2c52d3263c2992e6806017e98e7/src/common/clock.h#L7-L8</a></li>
<li>__lttng_ust_siov<br /> <a class="external" href="https://github.com/lttng/lttng-ust/blob/8bc1125eb851b2c52d3263c2992e6806017e98e7/src/common/snprintf/fvwrite.h#L18">https://github.com/lttng/lttng-ust/blob/8bc1125eb851b2c52d3263c2992e6806017e98e7/src/common/snprintf/fvwrite.h#L18</a></li>
</ul> Userspace RCU - Bug #1396 (New): reserved identifier violationhttps://bugs.lttng.org/issues/13962023-10-26T15:17:27ZMarkus Elfring
<p>I would like to point out that a few identifiers do eventually not fit to the expected naming convention of the C language standard.<br /><a class="external" href="https://www.securecoding.cert.org/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier">https://www.securecoding.cert.org/confluence/display/c/DCL37-C.+Do+not+declare+or+define+a+reserved+identifier</a></p>
<p>Would you like to adjust your selection for unique names?</p>
Examples:
<ul>
<li>_URCU_WAIT_H<br /> <a class="external" href="https://github.com/urcu/userspace-rcu/blob/008a71ef213f23c8d403e086563155121b286c0c/src/urcu-wait.h#L5">https://github.com/urcu/userspace-rcu/blob/008a71ef213f23c8d403e086563155121b286c0c/src/urcu-wait.h#L5</a></li>
<li>__cds_wfcq_init<br /> <a class="external" href="https://github.com/urcu/userspace-rcu/blob/008a71ef213f23c8d403e086563155121b286c0c/include/urcu/wfcqueue.h#L136">https://github.com/urcu/userspace-rcu/blob/008a71ef213f23c8d403e086563155121b286c0c/include/urcu/wfcqueue.h#L136</a></li>
</ul> Userspace RCU - Feature #1368 (New): Integrate RCU implementation from libside into liburcuhttps://bugs.lttng.org/issues/13682023-02-14T14:26:10ZMathieu Desnoyersmathieu.desnoyers@efficios.com
<p>libside features a multi-domain RCU implementation semantically similar to the Linux kernel's SRCU's implementation. It tracks grace periods with per-cpu counters rather than per-thread state.</p>
<p><a class="external" href="https://github.com/efficios/libside/blob/master/src/rcu.h">https://github.com/efficios/libside/blob/master/src/rcu.h</a><br /><a class="external" href="https://github.com/efficios/libside/blob/master/src/rcu.c">https://github.com/efficios/libside/blob/master/src/rcu.c</a></p>
<p>It is somewhat different from other urcu flavors because it supports multiple domains, whereas current liburcu flavors only have a single domain per process.</p>
<p>We would have to think thoroughly about the impacts of supporting multiple domains on other parts of liburcu such as the call_rcu worker thread. The worker thread would either have to be able to synchronize with multiple RCU domains, or we would have to require each worker thread to be associated with a single RCU domain.</p>
<p>Similar concerns arise with respect to data structures such as rculfhash which take a urcu flavor as parameter: with per-domain flavor, those would have to be associated with a specific RCU domain in addition to the flavor.</p> LTTng-UST - Bug #1320 (Feedback): Assert in lttng-ring-buffer-client.h:437: client_buffer_begin()https://bugs.lttng.org/issues/13202021-07-14T00:33:40ZSergei Dyshel
<p>We observed single case where process instrumented with LTTNG crashed on start with the following assert:<br />```<br />#0 0x00007f361008b495 in raise () from /lib64/libc.so.6<br />#1 0x00007f361008cc75 in abort () from /lib64/libc.so.6<br />#2 0x00007f361008460e in __assert_fail_base () from /lib64/libc.so.6<br />#3 0x00007f36100846d0 in __assert_fail () from /lib64/libc.so.6<br />#4 0x00007f361127c349 in client_buffer_begin (buf=0x7f35fbee7000, tsc=141244066318, subbuf_idx=0, handle=0x7f36080008c0) at lttng-ring-buffer-client.h:437<br />#5 0x00007f361128e5a0 in lib_ring_buffer_switch_old_start (buf=0x7f35fbee7000, chan=0x7f3608010a40, tsc=141244066318, handle=0x7f36080008c0, offsets=<optimized out>) at ring_buffer_frontend.c:1775<br />#6 0x00007f361128eb7c in lib_ring_buffer_reserve_slow (ctx=ctx@entry=0x7ffee79ab120, client_ctx=client_ctx@entry=0x7ffee79aadf0) at ring_buffer_frontend.c:2385<br /><a class="issue tracker-1 status-5 priority-5 priority-high2 closed" title="Bug: Double PID registering and unregistering race (Resolved)" href="https://bugs.lttng.org/issues/7">#7</a> 0x00007f361127fd4f in lib_ring_buffer_reserve (config=0x7f36112b0da0 <client_config>, client_ctx=0x7ffee79aadf0, ctx=0x7ffee79ab120) at ../libringbuffer/frontend_api.h:212<br />#8 lttng_event_reserve (ctx=<optimized out>, event_id=<optimized out>) at lttng-ring-buffer-client.h:760<br />```</p>
<p>LTTNG version: 2.12.2<br />Session parameters:<br />```<br />lttng create XXX --live<br />lttng enable-channel channel0 -u -s XXX --subbuf-size 1M --num-subbuf 8 --overwrite --tracefile-size 104857600 --tracefile-count 3<br />lttng enable-event 'XXX_*' -u -s XXX -c channel0<br />lttng add-context -u -t vpid -t vtid -s XXX -c channel0<br />lttng start XXX<br />```</p> LTTng-UST - Bug #1294 (New): add-context fails silently with perf_event_paranoid=4, no trace prod...https://bugs.lttng.org/issues/12942020-12-02T23:45:38ZJeff Trull
<p>Desired result:<br />A disallowed add-context (e.g. because of perf_event_paranoid) produces an error message and a non-zero exit code.</p>
<p>Actual result:<br />A disallowed add-context produces only a message in the system log, invisible to the normal user.<br />For example, when perf_event_paranoid forbids it you get a message of the form:</p>
<p><code>Error: UST app create channel context failed for app (pid: 76220) with ret -1024</code></p>
<p>But the only effects observable to the user are:</p>
<ol>
<li>no trace is produced, and</li>
<li>when you destroy the session there is a message like <code>Failed to perform a quiet rotation as part of the destruction of session "..."</code></li>
</ol>
<p>If other users are like me they will spend quite some time trying to figure out what is wrong in their code, setup etc. before figuring out what's wrong (or having someone on IRC identify it for them, as in my case).</p>
<p>This is Ubuntu 20.04.1, with lttng-ust 2.11.0</p> LTTng-UST - Bug #1285 (Feedback): about close file failed for lttng-ust modulehttps://bugs.lttng.org/issues/12852020-10-10T09:52:42Zkun song
<p>Hi,all</p>
<p>I found some relative modification for lttng-ust.<br />commit<br />20d1999d42392063fd530d1f6c00b93c25d178d6<br />793d29c9367a58c2a368bc1ccb11b01c2d2bdac2<br />48a143c09cc97bf7a2ace811277e7d60b294b5f6<br />96a6162e1925d4bd1dfc6f4167d75f396c0dbe4c<br />283f4bec47781f7a39dde82d02e53add02155f9c<br />c1be081a2f016fb6dcaef1d471389ede3aa00103<br />5a4d96d170a38f29bf147b84e248a47d45ee7d8e<br />7d34f27dce903a88241e96787c1f900b6ea08245<br />ba8dcc8ca5b8b7bebed4e10b3dd4fcbc783d529d</p>
<p>Test step<br />LD_PRELOAD=lttng-ust-fork.so dpdk-devbind.py -s<br />When exec command,close file failed.</p>
<p>#1 0x00007f31b9705524 in __GI_abort () at abort.c:79</p>
<p>[**ALERT: The abort() might not be exactly invoked from the following function line.<br />If the trail function contains multiple abort() calls, then you should cross check by other means to get correct abort() call location.<br />This is due to the optimized compilation which hides the debug info for multiple abort() calls in a given function.<br />Refer TR HU16995 for more information]<br />#2 0x00007f31b970540f in _<em>assert_fail_base (fmt=0x7f31b9862ec8<br />"%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f31b96bbcdd "0", file=0x7f31b96c4cd0 <del>Type <RET> for more, q to quit, c to continue without paging</del> "../../git/libringbuffer/shm.c", line=427, function=<optimized out>) at<br />assert.c:92<br />#3 0x00007f31b97127d2 in _GI</em>_assert_fail (assertion=assertion@entry =0x7f31b96bbcdd "0", file=file@entry=0x7f31b96c4cd0 "../../git/libringbuffer/shm.c", line=line@entry=427,<br />function=function@entry=0x7f31b96c4dc0 <_PRETTY_FUNCTION_.4744><br />"shmp_object_destroy") at assert.c:101<br />#4 0x00007f31b96b3f1d in shmp_object_destroy (obj=obj@entry=0x7f31b401 1740, consumer=consumer@entry=0) at ../../git/libringbuffer/shm.c:427<br />#5 0x00007f31b96b4d4f in shm_object_table_destroy (table=0x7f31b4011730, consumer=consumer@entry=0) at<br />../../git/libringbuffer/shm.c:451<br />#6 0x00007f31b96b034d in channel_free (consumer=0, handle=0x7f31b4012f10, chan=0x7f31b4011170) at<br />../../git/libringbuffer/ring_buffer_frontend.c:926<br /><a class="issue tracker-1 status-5 priority-5 priority-high2 closed" title="Bug: Double PID registering and unregistering race (Resolved)" href="https://bugs.lttng.org/issues/7">#7</a> channel_release (consumer=0, handle=0x7f31b4012f10,<br />chan=0x7f31b4011170) at<br />../../git/libringbuffer/ring_buffer_frontend.c:1129<br />#8 channel_destroy (chan=0x7f31b4011170, handle=0x7f31b4012f10,<br />consumer=consumer@entry=0) at</p>
<p>../../git/libringbuffer/ring_buffer_frontend.c:1161</p> LTTng-UST - Feature #1100 (New): Add (possibly symbolic) event whenever blocking occurs due to ex...https://bugs.lttng.org/issues/11002017-05-08T17:24:36ZRicardo Nabinger Sanchezrnsanchez@gmail.com
<p>When using <code>LTTNG_UST_BLOCKING_RETRY_TIMEOUT</code>, it is desirable to know when blocking occured. This way an analyst will stay informed of periods in the trace where precision of events had to be traded for completeness.</p>
<p>This has been discussed informally in the IRC channel:<br /><pre>
[09:08:06] rnsanchez such points could be of interest in my analysis :+)
[09:59:35] Compudj rnsanchez: no
[10:01:19] Compudj rnsanchez: but looking at event clusters in your trace will help
[10:01:36] rnsanchez Compudj: what about throwing a single/occasional event for a corresponding tid/pid that was ungraced due to excessive events?
[10:01:56] Compudj rnsanchez: with multi-session support, that would not be that easy
[10:02:04] Compudj we'd have to know which buffers are affected
[10:02:22] Compudj so we don't generate noise into other sessions
[10:02:36] rnsanchez I see
[10:02:37] rnsanchez sounds fair
[10:03:35] Compudj rnsanchez: if we add such info eventually, I'd be tempted to add a packet header field for that
[10:03:47] Compudj which could counts the "blocking" a buffer has had so far
[10:04:11] Compudj so we don't rely on events to relay information that is transport-level
[10:04:35] Compudj that would be doable (you may want to add a feature request on bugs.lttng.org)
[10:05:26] rnsanchez well that kind of info could be "rendered" into tools such as Trace Compass. it would be informative enough for the analyst to take a convolute period with a grain/spoon of salt
[10:05:57] rnsanchez Compudj: I can do that, sure
[10:06:04] Compudj rnsanchez: yes, and having those counters in the packet header would nicely match the spots where the situation occurs
[10:06:15] Compudj blocking always happen at sub-buffer (packet) boundary
[10:09:06] rnsanchez so it would act (briefly) as a relaxed clock? i.e., "between events En and En+1, we blocked, take that into account"
[10:09:24] rnsanchez (relaxed as in not actually probing clocks for a timestamp)
[10:10:43] Compudj yes, if we detect that the blocking counter increased between two consecutive packets, we can put a marker between timestamp end of the first packet and timestamp begin of the second packet saying that the source has been blocked during that time
[10:11:11] rnsanchez perfect
[10:12:19] Compudj you may want to paste this conversation into the bug tracker feature request, it will make it easier to remember the details when/if we get to implement it
[10:13:26] rnsanchez doing that as we speak
</pre></p> LTTng-UST - Feature #965 (New): Implement UST statedumphttps://bugs.lttng.org/issues/9652015-10-22T20:43:37ZMathieu Desnoyersmathieu.desnoyers@efficios.com
<p>Initial implementation: <a class="external" href="https://github.com/compudj/lttng-ust-dev/tree/statedump-notifier">https://github.com/compudj/lttng-ust-dev/tree/statedump-notifier</a></p>
<p>Missing tests in lttng-tools for this feature before we can merge it into lttng-ust.</p> Userspace RCU - Feature #941 (New): URCU flavor which can be used across processes using shared m...https://bugs.lttng.org/issues/9412015-09-26T16:23:20ZMathieu Desnoyersmathieu.desnoyers@efficios.com
<p>The appears to be interest for a URCU flavor which can be used across a set of processes communicating through shared memory.</p> Userspace RCU - Feature #940 (New): Wire up sys membarrier on each architecturehttps://bugs.lttng.org/issues/9402015-09-26T16:00:41ZMathieu Desnoyersmathieu.desnoyers@efficios.comLTTng-UST - Feature #508 (Feedback): arrays of floats are stored and/or displayed as arrays of intshttps://bugs.lttng.org/issues/5082013-04-19T20:33:41ZSébastien Barthélémybarthelemy@crans.org
<p>The attached patch modifies the hello.cxx test (from lttng-ust 2.1.1) to add an array of floats argument.<br />as you see in the following output (babeltrace v1.0.3 with the python bindings patchs), the field floatarrfield shows ints instead of the expected floats:</p>
<pre>
$ rm -rf ~/lttng-traces/ ; lttng create && lttng enable-event -a -u && lttng start && ./run && lttng stop && lttng destroy && babeltrace ~/lttng-traces | head -n 2
Session auto-20130419-222314 created.
Traces will be written in /home/sbarthelemy/lttng-traces/auto-20130419-222314
All UST events are enabled in channel channel0
Tracing started for session auto-20130419-222314
Hello, World!
Tracing... done.
Waiting for data availability
Tracing stopped for session auto-20130419-222314
Session auto-20130419-222314 destroyed
[22:23:14.605465399] (+?.?????????) ald-0987-de:hello:30232 ust_tests_hello:tptest: { cpu_id = 5 }, { intfield = 0, intfield2 = 0x0, longfield = 0, netintfield = 0, netintfieldhex = 0x0, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222.1, doublefield = 2.1, floatarrfield = [ [0] = 1066192077, [1] = 1074580685, [2] = 1079194419 ] }
[22:23:14.605470207] (+0.000004808) ald-0987-de:hello:30232 ust_tests_hello:tptest: { cpu_id = 5 }, { intfield = 1, intfield2 = 0x1, longfield = 1, netintfield = 1, netintfieldhex = 0x1, arrfield1 = [ [0] = 1, [1] = 2, [2] = 3 ], arrfield2 = "test", _seqfield1_length = 4, seqfield1 = [ [0] = 116, [1] = 101, [2] = 115, [3] = 116 ], _seqfield2_length = 4, seqfield2 = "test", stringfield = "test", floatfield = 2222.1, doublefield = 2.1, floatarrfield = [ [0] = 1066192077, [1] = 1074580685, [2] = 1079194419 ] }
</pre>
<p>as a workaround, the floating point value can be retrieved in python using:<br /><pre>
In [1]: import struct
In [2]: struct.unpack('f', struct.pack('i', 1066192077))
Out[2]: (1.100000023841858,)
</pre></p> LTTng-UST - Feature #440 (New): Tracepoint Documentationhttps://bugs.lttng.org/issues/4402013-02-11T19:11:15ZMatthew Khouzam
<p>It would be good to have an optional macro to document tracepoints such as "TRACEPOINT_DOCUMENT(provider, name, "MESSAGE");" this way people within the same organisation can query tracepoints and better understand if they should activate one or not.</p> LTTng-UST - Feature #395 (New): Enable channel after start sessionhttps://bugs.lttng.org/issues/3952012-11-08T18:16:35ZDavid Goulet
<p>Being able to enable a new channel after tracing is started.</p> LTTng-UST - Feature #65 (New): Helper script to generate the tracepoint shared libraryhttps://bugs.lttng.org/issues/652012-02-17T20:15:25ZAnonymous
<p>By default, the compiled probes live in a shared library separate from the main binary.</p>
<p>Extend the helper script of <a class="issue tracker-2 status-5 priority-3 priority-lowest closed behind-schedule" title="Feature: Helper script to generate the tracepoint library (Resolved)" href="https://bugs.lttng.org/issues/40">#40</a> to compile and load this library automatically, and potentially offer an option to link it statically with the binary.</p> LTTng-UST - Feature #51 (New): lttng-gen-tp: add python module output https://bugs.lttng.org/issues/512012-02-16T15:25:43ZYannick Brosseauyannick.brosseau@polymtl.ca