rr-debugger / rr-debugger/rr

Handling of scratch-needed-but-not-allowed syscalls is poor

Open
#1,272 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
10.7k
Forks
662
Avg merge
2d 3h
Merged PRs (30d)
2

Description

Nonexistent?

This popped up in the context of #16: valgrind is doing a sigtimedwait from a context that can't use scratch (which I need to poke at more), and the code to process the syscall outparams doesn't handle the scratch-aborted case.

The naive fixes for this are messy and verbose. I'm going to paper over the valgrind issue and leave this open for a cleaner general solution, if one exists.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the context in issue #16 and inspect how syscall outparams are processed when scratch use is unavailable. Investigate the valgrind sigtimedwait case and the scratch-aborted path. Done means a general solution handles these outparams cleanly without relying on the mentioned paper-over.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
operating-systems, reverse-engineering
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.