Using PTRACE_POKEDATA failed
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 35/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp, linux
- Domain
- operating-systems, reverse-engineering
Research direction
Start with Task.cc:630 in exit_syscall(), then read Task::record_local, write_mem(), and ReplaySession::exit_syscall(), including apply_all_data_records_from_trace(). Compare the behavior with issue #1561 and trace how PTRACE_POKEDATA is handled during replay. Done means the requested memory modification works without the assertion or wrong-address-space behavior, with appropriate coverage if the existing tests expose this path.
Written by the indexing model from the issue text.
Description
Hi,
I'm trying to use PTRACE_POKEDATA to modify the memory at some address in replay session. However, I got the below wrong:
[FATAL /home/ziao/rr_muplay/src/Task.cc:630:exit_syscall()]
(task 8703 (rec:31648) at time 150)
-> Assertion 'session().is_recording()' failed to hold.
I also tried to use write_mem() function, but still no good. I saw #1561 has similar problem with mine, and it is because
you have to record the modified data using Task::record_local
ReplaySession::exit_syscall calls t->apply_all_data_records_from_trace(), it will write to the wrong address space
I'm wondering if this issue is addressed or not. Thank you!
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
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.
More from rr-debugger/rr
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
rr-debugger/rr#4096 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
rr-debugger/rr#4093 · 6 comments ·
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
rr-debugger/rr#4090 · 1 comment ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
rr-debugger/rr#4060 · 5 comments ·
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
rr-debugger/rr#4059 · 1 comment ·
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
Sensor initialization takes very long when `--initial-sim-time` is set to current UNIX timestamp Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
gazebosim/gz-sensors#662 · 1 comment ·
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
comp-datalake
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
ClickHouse/ClickHouse#121222 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
LadybirdBrowser/ladybird#12123 ·