Resources
[New Release] Undo Suite 7.3 for C/C++
Release 7.3 introduces the Undo Suite name which refers collectively to UDB, LiveRecorder, and the other tools shipped with Undo releases.
This Undo Suite release includes a number of headline product improvements and changes to system requirements as described in the sections below.
Further product changes are described in the changelog files included in your Undo release directory:
changelog.txt
for changes to UDBkeyserver/changelog.txt
for changes to the Undo Keyserverundolr/changelog.txt
for changes to LiveRecorder
Headline improvements for UDB users
Full support for 64-bit ARM architectures up to ARMv8.2
Following the early access release of our ARM64 product in 7.0, the 7.3 release introduces full support for 64-bit ARM architectures up to ARMv8.2.
Improvements since the 7.2 release include support for 64 kB memory pages, improved handling of watchpoints and improved performance when attaching to programs with a large number of threads.
Note that the optional Scalable Vector Extension to ARMv8.2 remains unsupported in this release.
To evaluate our ARM64 product, please contact us at [email protected].
Headline improvements for LiveRecorder users
Early-access support for replaying recordings on a remote replay service
Undo is developing a new recording replay service which can be deployed within your network to allow recordings to be replayed remotely, avoiding portability problems when recordings use CPU features that are unavailable on the local system. Release 7.3 adds the ability for UDB to load recordings on replay service instances. This could be used, for example, to replay recordings of ARM processes while running UDB on an Intel CPU.
UDB will automatically replay recordings remotely if they cannot be replayed locally. If a replay service is configured, the uload
command in UDB will automatically use it when the recording cannot be replayed locally. It’s also possible to force remote load with uload -remote
or local load with uload -local
.
If you are interested in evaluating the replay service, please contact us at [email protected].
Replay service: example of arm replay
Improved load time for previously loaded programs or Undo recordings
In release 7.3, UDB enables GDB’s symbol index cache by default, allowing faster loading of program symbols that were already loaded in a previous UDB session. Our experiments have shown that commands requiring debug symbol information that has not yet been loaded in the current session can run up to twice as fast when the index cache is enabled. See https://sourceware.org/gdb/current/onlinedocs/gdb.html/Index-Files.html for more details.
New –disable-aslr option
In release 7.3, the live-record
tool accepts the new command-line option --disable-aslr
, which disables address-space-layout randomization (ASLR) in the recorded program. This can be used to improve the consistency of program behavior between successive runs of a recorded application.
Improved recording portability
A number of issues affecting recording portability have been fixed in release 7.3. Some bugs in the Undo Engine’s emulation of AVX-512 instructions have been addressed and the product now determines more accurately whether recordings are replayable on the current machine.
System requirements
Release 7.3 offers support for an updated set of Linux distributions.
The following distributions are now supported:
- Red Hat Enterprise Linux 8.10 and 9.4
- Fedora 40
The following distributions are no longer supported:
- Red Hat Enterprise Linux 8.9 and 9.0
- Fedora 38
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.
*Cornish Yarg
We ❤️ cheese, so we name all of our releases after some of them. Cornish Yarg is a cheese that is made by being wrapped nettle leaves, and the name came from it’s original cheesemaker, Alan Gray, whose surname reversed is Yarg.