Skip to content

Releases: rr-debugger/rr

5.8.0

20 May 11:41
Compare
Choose a tag to compare

As usual, this release contains many small bug fixes and updates for new syscalls and CPU microarchitectures.

There is some support for lldb now. rr replay -d lldb will launch LLDB and connect it to rr just like we do for gdb. LLDB does not expose reverse-execution commands so for now, you can only replay forwards. (Of course you can still replay a recording as many times as you need to.)

5.7.0

03 Oct 09:14
Compare
Choose a tag to compare

This release includes many bug fixes, improvements to system call coverage, and incremental performance improvements. In particular, performance is improved for applications with thousands of threads (partly via the new WaitManager). A lot of rare intermittent bugs have been fixed, partly due to significant reworking of how unexpected task exits are handled.

The required Linux kernel version has been bumped to 4.7 (because we require waitid() to support __WALL). The required CMake version has been bumped to 3.5.0.

New infrastructure for building and testing rr releases in AWS EC2 instances has been constructed. This should make it easier to make more frequent and more reliable rr releases. As part of that work, we are now building Aarch64 packages.

5.6.0

07 Aug 09:32
Compare
Choose a tag to compare

This release includes many bug fixes, improvements to system call coverage, and incremental performance improvements. Plus:

  • ARM Aarch64 support is now production quality (features implemented and tests pass), with some caveats. Recent iterations of Cortex and Neoverse (AWS Graviton) chips are supported, as is Apple M1 (when running Linux on bare metal M1). LDREX/STREX are not supported; userspace code must use Large System Extensions atomics only. Thanks to Yichao Yu and Keno Fischer for this work! We don't have prebuilt ARM packages yet.
  • Recording applications that use RDTSC heavily should be much faster than in previous versions of rr.
  • The rseq system call is now supported (via emulation).

5.5.0

20 Sep 10:42
Compare
Choose a tag to compare

As usual there are many bug fixes, improvements to system call coverage, and incremental performance improvements. Thanks to all our contributors.

5.4.0

28 Oct 23:48
Compare
Choose a tag to compare

As usual there are many bug fixes, improvements to system call coverage, and incremental performance improvements. Thanks to all our contributors.

AMD Zen CPUs are now supported, with some caveats. Special thanks to the people who reverse-engineered Zen details to enable this.

There is experimental support for ARM AArch64 platforms that avoid the STREX instruction.

rr record has a new option --nested=detach which lets nested rr recordings run "detached" to create a separate recording.

5.3.0

18 Dec 11:25
Compare
Choose a tag to compare

This is primarily a maintenance release. There are many bug fixes, improvements to system call coverage, and incremental performance improvements. Thanks to all our contributors.

The rr sources, rr buildid and rr traceinfo commands have been added to make it easier for external tools to work with rr traces. rr ls has been added to improve management of traces.

rr no longer depends on Python 2. Python 3 is required.

5.2.0

26 May 09:42
Compare
Choose a tag to compare

Maintenance update to handle issues arising from Ubuntu 18.04 and Fedora 28.
Improvements to chaos mode.
Improvements to trace portability: https://robert.ocallahan.org/2018/04/cpuid-features-xsave-and-rr-trace.html
Various bug fixes.

5.1.0

14 Dec 04:37
Compare
Choose a tag to compare

gdb info proc map supported.
Maintenance update to handle issues arising from Ubuntu 17.10 and Fedora 27.
Various bugs fixed.
No 32-bit release packages included because my 32-bit VM broke. Let's see if anyone complains.

5.0.0

07 Sep 04:24
Compare
Choose a tag to compare

Introduction of Cap'n Proto to stabilize the recording format. Recordings created in this rr release should be replayable in any future rr release.
New rr pack command makes recordings self-contained.
Recordings can be made on one machine and replayed on a different machine by trapping CPUID instructions when supported on the replay machine.
Brotli compression for smaller traces and lower recording overhead.
rr replay command line argument -- can be followed by any number of arguments to be passed to the debugger.
rr now chooses replay as the default subcommand if the first argument is a directory.
Performance improvements.
Syscall support expanded.
Many bugs fixed.

4.5.0

04 Feb 09:25
Compare
Choose a tag to compare

Work around a Linux kernel bug induced by DirtyCOW fix.
Support for Hardware Lock Elision, with detection of a KVM PMU virtualization bug that breaks HLE support.
Make syscall-buffering use an alternate stack (makes Go programs work).
Syscall support expanded (especially ptrace subcalls).
Support for Knights Landing and Kaby Lake CPUs.
Many bugs fixed.
Great thanks to Keno Fischer for much of this work!