rtems-record-lttng: Corrupted timestamps after translating to CTF

Jan.Sommer at dlr.de Jan.Sommer at dlr.de
Fri Mar 5 15:11:08 UTC 2021


Hello,

I try to do some performance measurements with the rtems-record functionality.
Since the target doesn't have Ethernet, but a lot of RAM, I collect all events in a large buffer during runtime and flush the events via the "record_dump_zlib_base64" method in the end.
This RTEMS side works well. 
I then translate the recorded events to CTF via rtems-record-lttng.
Some of the resulting CTF events have a very large timestamp. This only occurs for events of which are created by CPUs other than CPU0, but not all of them.
I ran rtems-record-lttng in gdb and could track it to record-client.c:176 (https://git.rtems.org/rtems-tools/tree/trace/record/record-client.c#n176).
There the (delta * ctx->to_bt_scaler ) causes an overflow and sets per_cpu->uptime.bt to a very large negative number which then later becomes a very large (positive) timestamp.

I have some trouble figuring out what is going wrong here. The timestamps which are read from the rtems record events looks quite reasonable to me.
The to_bt_scaler is quite a large value and I don't fully get what it scales. Does someone have some hints?

Best regards,

    Jan

Deutsches Zentrum für Luft- und Raumfahrt e. V. (DLR)
German Aerospace Center
Institute for Software Technology | Software for Space Systems and Interactive Visualization | Lilienthalplatz 7 | 38108 Braunschweig | Germany



More information about the users mailing list