seek-ticks N often gets stuck in a loop
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
I see this with recordings of just the JS shell starting up, for example. With the latest recording I can seek-ticks 1700000 but if I then seek-ticks 1800000, rr hangs. Running with RR_LOG=all I get the following lines repeated forever, it looks like an iloop:
[PerfCounters] Resetting counters with period 1152921504606846976
[Task] resuming execution of 762427 with PTRACE_SYSEMU_SINGLESTEP tick_period -1 wait 0
[Task] going into blocking waitid(762427) ...
[Task] Task 762427 changed status to 0x57f (STOP-SIGTRAP)
[Task] (refreshing register cache)
[Task] Requesting registers from tracee 762427
[Session] finished debugger stepi
... more of the same ...
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the recording scenario by running seek-ticks 1700000 followed by seek-ticks 1800000 with RR_LOG=all, then inspect the repeated PTRACE_SYSEMU_SINGLESTEP and debugger stepi messages. Done means the second seek completes instead of hanging in the repeated loop.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- devtools, operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100