Replaying FF mochitest-chrome: "Failed to stat .../libjsctypès-tëßt.so: replay is impossible"
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
The test appears to copy libjsctypes-test.so to this unicode path and then remove the unicode name. For some reason that temp file seems to be mmap'd by something. That file breaks rr's avoid-copying-on-mmap heuristics because it's read-only and executable and not on tmpfs, so removing it during recording breaks replay.
I would probably be OK punting this problem for 1.0. Another option is to make our avoid-copying-mmap'd-file heuristics less aggressive. They were tuned by optimizing FF startup time, but that's less important over minutes-long test suites. Depends on what we want to optimize for. Or maybe there's some other clever thing we can do (f.e. keep a record of mmap'd files that pass the don't-need-to-copy heuristic, and if one of them is unlink()d during recording, copy it).
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
Start by reproducing the Firefox mochitest-chrome replay failure and trace rr's avoid-copying-on-mmap heuristics around the removed libjsctypes-test.so file. Compare the recording and replay behavior when a read-only executable mmap'd file is unlinked. Done means the test can be recorded and replayed without the “Failed to stat” error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- devtools, operating-systems, performance, testing-qa
- Issue type
- Bug
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100