Fix two cases of unexpected entrance/exit to syscallbuf code range

These were causing the signal handler to defer signal delivery
when it shouldn't have.
These were probably more likely to happen on aarch64 since the counter
we use counts all the branches and not just conditional ones.
2 files changed
tree: b68c5ed7728ca02cd68c332e0c823cb7f281b3b7
  1. .buildkite/
  2. include/
  3. scripts/
  4. snap/
  5. src/
  6. third-party/
  7. .clang-format
  8. .gitignore
  9. CMakeLists.txt
  10. CODE_OF_CONDUCT.md
  11. configure
  12. CONTRIBUTING.md
  13. LICENSE
  14. README.md
  15. rr.spec
  16. Vagrantfile
README.md

Overview

Build status

rr is a lightweight tool for recording, replaying and debugging execution of applications (trees of processes and threads). Debugging extends gdb with very efficient reverse-execution, which in combination with standard gdb/x86 features like hardware data watchpoints, makes debugging much more fun. More information about the project, including instructions on how to install, run, and build rr, is at https://rr-project.org. The best technical overview is currently the paper Engineering Record And Replay For Deployability: Extended Technical Report.

Or go directly to the installation and building instructions.

Please contribute! Make sure to review the pull request checklist before submitting a pull request.

If you find rr useful, please add a testimonial.

rr development is sponsored by Pernosco and was originated by Mozilla.

System requirements

  • Linux kernel ≥ 3.11 is required (for PTRACE_SETSIGMASK).
  • rr currently requires either:
  • Running in a VM guest is supported, as long as the VM supports virtualization of hardware performance counters. (VMware and KVM are known to work; Xen does not.)