overlayfs results in pack warnings
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
I'm generating and packing an rr trace from within a sandboxed environment that uses overlayfs for the root:
$ mount
overlay on / type overlay (rw,relatime,lowerdir=/tmp/jl_JkU4oM,upperdir=/tmp/jl_nBQTiT/upper/rootfs,workdir=/tmp/jl_nBQTiT/work/rootfs,index=off,metacopy=off)
This works fine, but results in a deluge of warnings during rr pack:
[ERROR src/TraceStream.cc:1166:read_mapped_region() errno: ENOSYS] Metadata of /usr/lib/x86_64-linux-gnu/ld-2.28.so changed: replay divergence likely, but continuing anyway. inode: 687473/635070; mode: 33133/33133; uid: 1000/1000; gid: 1000/1000; size: 165632/165632; mtime: 1658868582/1658868582
It's obviously the same file being processed here, so there won't be a divergence IIUC. @Keno mentioned that this is due to overlayfs lying about inode numbers, maybe he can elaborate some more.
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 with TraceStream.cc:1166 and read_mapped_region(), then reproduce rr pack on a trace created over overlayfs. Investigate the reported inode metadata mismatch and determine what behavior should prevent the repeated warnings without masking a real replay divergence.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- 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