Resources
[New Release] Undo Suite 9.0 for C/C++/Go/Rust
This Undo release introduces a number of headline product improvements and updated system requirements. For more information about Undo Releases, click here.
Some product improvements are marked with a public beta label in the text below – this indicates that we are seeking user feedback on these features before full productization. Please let us know if you find them useful, as features that are known to be in use are more likely to be prioritized for further improvement.
Improvements in UDB
All Undo users are licensed to use UDB, Undo’s interactive time travel debugger. Release 9.0 benefits from the improvements listed below.
Improved performance with multi-threaded applications
On certain systems, particularly Red Hat Enterprise Linux / CentOS 7 and 8, some applications which use spinlocks experienced pathological slowdowns while being recorded with previous Undo releases.
We identified a scenario where the Linux scheduler on these distributions does not switch threads even after waking a waiting thread. To address this, Undo 9.0 can detect when unfair scheduling happens and mitigate the resulting poor performance. This can provide a significant performance improvement for some multi-threaded applications – one customer application runs 5.1x faster than it did with Undo 8.3.
Read the full article for more information: https://undo.io/resources/our-fastest-ever-release-performance-improvements-in-undo-9-0/
Full support for the ARMv9.0 architecture
Undo 9.0 introduces full support for CPUs based on the ARMv9.0 architecture, such as AWS Graviton4. This includes the Scalable Vector Extension 2 (SVE2) and Branch Target Identification (BTI) architecture features.
For more information, see the full blog post here: https://undo.io/resources/armv9-support-in-undo/
To evaluate our ARM64 product, please contact our support team.
New dashboard UI – public beta
For a long time GDB has shipped with an alternative user interface called the Text User Interface (TUI). This interface is convenient because it is built into the debugger and it works in a terminal, meaning it is always available wherever you end up debugging.
As of release 9.0, UDB now has the capability to extend TUI mode with new types of windows and layouts:
The new layout shows information that is useful when navigating around the source code of an application.
- The Local Variables window shows you the value of the local variables in the current function frame.
- The Backtrace window shows you where you are in your code base and how you got here.
- The Timeline window shows you where you are in the execution history in relation to other interesting points in time, such as bookmarks and the boundaries of your recording.
These new windows are available as a public beta feature in UDB 9.0. You can activate the dashboard layout with the command layout dashboard.
For more information, and to see TUI dashboard in action, read the full article: https://undo.io/resources/tui-dashboard-new-in-undo-9-0/
Improved performance with applications using shared memory
Applications using shared memory can be recorded and debugged faster in Undo 9.0. By updating the default size of an internal cache that is used when recording such applications, Undo’s recording performance is improved by up to 10% in benchmarks such as Postgres TPC-H.
For applications with heavier shared memory usage, you can now specify a larger cache size by setting the UNDO_shmem_turbo_cache_size environment variable. The value you provide will be automatically rounded up to the nearest power of two.
Read the full article for more information: https://undo.io/resources/our-fastest-ever-release-performance-improvements-in-undo-9-0/
Full support for Amazon Linux
Amazon Linux 2 and Amazon Linux 2023 are fully supported on x86 and ARM64 platforms in Undo 9.0.
Bundled GDB distribution updated to version 15
GDB is the debugger frontend which communicates with the Undo Engine to enable time travel debugging.
In release 9.0, the version of GDB that is bundled with UDB is updated from 13.2 to 15.2. Improvements in GDB 15.2 are listed at https://www.sourceware.org/gdb/news/.
More…
Further product changes relating to UDB are described in the CHANGELOG-udb.txt file included in your Undo release archive.
Improvements in Undo Team & OEM Editions
Undo Team & OEM Editions v9.0 benefit from the improvements in UDB described above, plus a number of others listed below.
Production release: Multi-process correlation in applications communicating using sockets
Undo 8.0 introduced beta support for following UDP or TCP socket communications between recorded processes.
In Undo 9.0 this is now available for production use with the following new commands:
- The
load-correlationcommand loads all recordings in a directory and identifies the socket connections between them. - The
ugo sendercommand finds the most recent socket receive call in the current recording, locates the corresponding send call in another recording, and goes to that location. Similarly theugo receivercommand finds the location where the most recently sent socket data was received.
Cross-page-size replay on ARM64
In ARM’s 64-bit architecture, the translation granule, or smallest page size, is not fixed at 4k (as it is in x86) but can be configured by the operating system to be either 4k, 16k or 64k. Previous Undo versions required that the page size on the CPU replaying a recording had to be the same as the page size on the CPU where the recording had been made.
In Undo 9.0, we alter the arguments to system calls such as mmap and mprotect during replay, so as to request the OS to modify regions of a size that always matches the size which would have been affected at record time. This means we can now support replaying on CPUs with a page size less than or equal to the page size used at the time of recording.
More…
Further product changes relating to Undo Team & OEM Editions are described in the following changelog files included in your Undo release archive:
- undolr/CHANGELOG.txt for changes to LiveRecorder
- keyserver/CHANGELOG.txt for changes to Undo Keyserver
IDE support
There are no changes to IDE integrations in the 9.0 release.
IDE integrations supported by Undo are listed at https://docs.undo.io/ under the “IDE integration” heading.
Life cycle
Release 9.0 is expected to:
- receive necessary patches for a 6-month period ending at the end of February 2026;
- produce Undo recordings that can be loaded in future versions of UDB released within the 3-year period ending at the end of August 2028.
System requirements
Support for the following Linux distributions has been added in Undo 9.0. We expect that this support will be maintained in future Undo releases until the respective end-of-life dates for each distribution.
- Amazon Linux 2
- Amazon Linux 2023
- Red Hat Enterprise Linux 9.6
- Red Hat Enterprise Linux 10.0
- Ubuntu 25.04
The following distributions have reached their end of life and are unsupported in this release:
- Ubuntu 20.04
For a list of the system requirements for a given release, see the documentation at docs/userguide/html/SystemRequirements.html in the release directory. The system requirements for the latest Undo release are always provided in full at https://docs.undo.io/SystemRequirements.html.
