rr-debugger / rr-debugger/rr

crash when using reverse-cont in Firefox replay session

Open
#1,727 14 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

Debugging Firefox, I can repeatedly get the following assert/crash:
[FATAL /home/mfroman/rr/rr/src/Task.cc:2021:write_bytes_helper() errno: EIO](task 19627 %28rec:19195%29 at time 820829)
-> Assertion `nwritten == buf_size' failed to hold. Should have written 614400 bytes to 0x7f30c1e68000, but only wrote -1

Linux 4.2.0-36-generic #42~14.04.1-Ubuntu SMP Fri May 13 17:27:22 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
I'm on the lastest git commit for rr (3710623f9fbec963a8f8096092de1240f82a0091).
Debugging on mozilla-central changeset: d98f20c25fee
./mach run --debugger=rr https://web.ciscospark.com
I start a call on spark (currently debugging a video freeze), and then quit after I see the freeze.
rr replay
b rtcp_utility.cc:1516
b rtcp_receiver.cc:1107
c
c
reverse-cont
boom!

Let me know if you need additional info, or if I can clarify anything.

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

The failure is reported at rr/src/Task.cc:2021 in write_bytes_helper(); start there and reproduce with the supplied Firefox/rr recording. Then inspect the reverse-cont sequence and the breakpoints in rtcp_utility.cc:1516 and rtcp_receiver.cc:1107. Done means the reported replay no longer asserts; the issue provides no named regression test.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
operating-systems, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.