RTEMS | rtems: The counter conversions overflow above a few seconds (#5806)
Sebastian Huber (@sebhub)
gitlab at rtems.org
Thu Oct 8 06:15:36 UTC 2026
Issue created by Sebastian Huber: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5806
`rtems_counter_ticks_to_sbintime()` and `rtems_counter_ticks_to_nanoseconds()` in `cpukit/sapi/src/cpucounterconverter.c` multiply the counter ticks with a 64-bit scaler. The 64-bit product overflows.
| Function | Wrong result from |
| -------- | ----------------- |
| `rtems_counter_ticks_to_sbintime()` | 2 s |
| `rtems_counter_ticks_to_nanoseconds()` | 4.29 s, where the cast to 32 bits also truncates the result |
The test framework measures durations with `rtems_counter_ticks_to_sbintime()`. On a 25 MHz counter, the performance test suite reported 107 s for a run of 731 s. On the 62.5 MHz counter of Qemu `xlnx-zcu102`, `rtems_counter_ticks_to_nanoseconds()` returns a wrong value for the maximum counter ticks.
The test `spcpucounter01` checks the conversions at one second alone.
Found while measuring the runtime of the red-black tree on several boards. This description was created with Claude Code assistance.
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/work_items/5806
You're receiving this email because of your account on gitlab.rtems.org. Unsubscribe from this thread: https://gitlab.rtems.org/-/namespace/49/sent_notifications/6-3vrcr1zqfpcjl9ttscxypo5h2-1d/unsubscribe | Manage all notifications: https://gitlab.rtems.org/-/profile/notifications | Help: https://gitlab.rtems.org/help
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20261008/e3fac929/attachment.htm>
More information about the bugs
mailing list