rr-debugger / rr-debugger/rr

FATAL /home/jrmuizel/src/rr/src/ReplayTimeline.cc:221:mark_after_singlestep() errno: EIO

Open
#2,256 0 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

Continuing.
[FATAL /home/jrmuizel/src/rr/src/ReplayTimeline.cc:221:mark_after_singlestep() errno: EIO] 
 (task 30639 (rec:26205) at time 317015)
 -> Assertion `false' failed to hold.  expected to find {time:317015,ticks:185462448,st:6,regs_ip:0x7f3ff9489946} at index 43
Tail of trace dump:
{
  real_time:2433247.351725 global_time:316995, event:`SYSCALL: futex' (state:ENTERING_SYSCALL) tid:26366, ticks:12212
rax:0xffffffffffffffda rbx:0x7f9f3d9fffa0 rcx:0xffffffffffffffff rdx:0x0 rsi:0x189 rdi:0x7f9f3ec39cb0 rbp:0xca rsp:0x7f9f3d9ffe10 r8:0x0 r9:0xffffffff r10:0x7f9f55812dd0 r11:0x246 r12:0x7f9f40181c90 r13:0x7f9f3ec39cb0 r14:0x1 r15:0x7f9f3ec39cac rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7f9f55813700 gs_base:0x0
}
{
  real_time:2433247.351726 global_time:316996, event:`SYSCALLBUF_RESET' tid:26366, ticks:12212
}
{
  real_time:2433247.354644 global_time:316997, event:`SYSCALLBUF_FLUSH' tid:26361, ticks:2848321135
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
}
{
  real_time:2433247.354653 global_time:316998, event:`SCHED' tid:26361, ticks:2848321135
rax:0x0 rbx:0x7f9f31729390 rcx:0x0 rdx:0x0 rsi:0x0 rdi:0x7f9f31729390 rbp:0x7fffcb5ef210 rsp:0x7fffcb5ef210 r8:0x7f9f4c478c00 r9:0x7f9f4c478c08 r10:0x0 r11:0x0 r12:0x7f9f30b1f820 r13:0x7fffcb5ef5d0 r14:0x7f9f30b1e420 r15:0x7fffcb5ef3a0 rip:0x7f9f46250272 eflags:0x206 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xffffffffffffff09 fs_base:0x7f9f56dd8740 gs_base:0x0
}
{
  real_time:2433247.354656 global_time:316999, event:`SYSCALLBUF_RESET' tid:26361, ticks:2848321135
}
{
  real_time:2433247.354673 global_time:317000, event:`SYSCALL: futex' (state:EXITING_SYSCALL) tid:26178, ticks:293462
rax:0x0 rbx:0x7f3fea711fa0 rcx:0xffffffffffffffff rdx:0x0 rsi:0x80 rdi:0x7f3ff0a75578 rbp:0xca rsp:0x7f3fea711e10 r8:0x0 r9:0x7f40063a8b30 r10:0x7f3fea751ce0 r11:0x246 r12:0x7f3ff0a75520 r13:0x7f3ff0a75578 r14:0x1 r15:0x7f3ff0a75574 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7f3fea752700 gs_base:0x0
}
{
  real_time:2433247.354736 global_time:317001, event:`SYSCALLBUF_FLUSH' tid:26178, ticks:293693
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'futex', ret:0x0, size:0x14 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
}
{
  real_time:2433247.354740 global_time:317002, event:`SYSCALL: futex' (state:ENTERING_SYSCALL) tid:26178, ticks:293693
rax:0xffffffffffffffda rbx:0x7f3fea711fa0 rcx:0xffffffffffffffff rdx:0x0 rsi:0x80 rdi:0x7f3ff0a7557c rbp:0xca rsp:0x7f3fea711e10 r8:0x0 r9:0x7f40063a8b30 r10:0x7f3fea751ce0 r11:0x246 r12:0x7f3ff0a75520 r13:0x7f3ff0a7557c r14:0x1 r15:0x7f3ff0a75574 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7f3fea752700 gs_base:0x0
}
{
  real_time:2433247.354741 global_time:317003, event:`SYSCALLBUF_RESET' tid:26178, ticks:293693
}
{
  real_time:2433247.354761 global_time:317004, event:`SYSCALL: futex' (state:EXITING_SYSCALL) tid:26239, ticks:87420
rax:0x0 rbx:0x7fe445bfffa0 rcx:0xffffffffffffffff rdx:0x0 rsi:0x80 rdi:0x7fe449190208 rbp:0xca rsp:0x7fe445bffe10 r8:0x0 r9:0x0 r10:0x0 r11:0x246 r12:0x7fe449190208 r13:0x0 r14:0x1 r15:0x318 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7fe449248700 gs_base:0x0
}
{
  real_time:2433247.354794 global_time:317005, event:`SYSCALLBUF_FLUSH' tid:26239, ticks:87546
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'futex', ret:0x0, size:0x14 }
}
{
  real_time:2433247.354796 global_time:317006, event:`SYSCALL: futex' (state:ENTERING_SYSCALL) tid:26239, ticks:87546
rax:0xffffffffffffffda rbx:0x7fe445bfffa0 rcx:0xffffffffffffffff rdx:0x0 rsi:0x80 rdi:0x7fe44919020c rbp:0xca rsp:0x7fe445bffe10 r8:0x1 r9:0x0 r10:0x0 r11:0x246 r12:0x7fe44919020c r13:0x0 r14:0x1 r15:0x31b rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7fe449248700 gs_base:0x0
}
{
  real_time:2433247.354797 global_time:317007, event:`SYSCALLBUF_RESET' tid:26239, ticks:87546
}
{
  real_time:2433247.354828 global_time:317008, event:`SYSCALL: sched_yield' (state:EXITING_SYSCALL) tid:26184, ticks:22230797
rax:0x0 rbx:0x7f40078d8000 rcx:0xffffffffffffffff rdx:0x7f3ffa328b3c rsi:0x4 rdi:0x4 rbp:0x0 rsp:0x7f3fe3267508 r8:0x4 r9:0x7f3fe3265804 r10:0x7f3fe32636f8 r11:0x246 r12:0x7f3fe3267fc0 r13:0x0 r14:0x7f3fe9f30d30 r15:0x7ffcd06dbab0 rip:0x7f400768a447 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x18 fs_base:0x7f3fe3268700 gs_base:0x0
}
{
  real_time:2433247.354891 global_time:317009, event:`SYSCALL: sched_yield' (state:ENTERING_SYSCALL) tid:26184, ticks:22230923
rax:0xffffffffffffffda rbx:0x7f40078d8000 rcx:0xffffffffffffffff rdx:0x7f3ffa328b3c rsi:0x4 rdi:0x4 rbp:0x0 rsp:0x7f3fe3267508 r8:0x4 r9:0x7f3fe3265804 r10:0x7f3fe32636f8 r11:0x246 r12:0x7f3fe3267fc0 r13:0x0 r14:0x7f3fe9f30d30 r15:0x7ffcd06dbab0 rip:0x7f400768a447 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x18 fs_base:0x7f3fe3268700 gs_base:0x0
}
{
  real_time:2433247.354937 global_time:317010, event:`SYSCALL: futex' (state:EXITING_SYSCALL) tid:26182, ticks:5234631
rax:0xffffffffffffff92 rbx:0x7f3fe3868fa0 rcx:0xffffffffffffffff rdx:0x0 rsi:0x80 rdi:0x7f3fea0cfbc8 rbp:0xca rsp:0x7f3fe3868e10 r8:0x0 r9:0x7f3ff0a75550 r10:0x7f3fea0cfa30 r11:0x246 r12:0x7f3fea0cfb70 r13:0x7f3fea0cfbc8 r14:0x1 r15:0x7f3fea0cfbc4 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7f3fea0d0700 gs_base:0x0
}
{
  real_time:2433247.355009 global_time:317011, event:`SYSCALLBUF_FLUSH' tid:26182, ticks:5236970
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'futex', ret:0x0, size:0x14 }
  { syscall:'futex', ret:0x1, size:0x14 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'futex', ret:0x1, size:0x14 }
  { syscall:'futex', ret:0x1, size:0x14 }
  { syscall:'futex', ret:0x1, size:0x14 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
}
{
  real_time:2433247.355011 global_time:317012, event:`SYSCALL: futex' (state:ENTERING_SYSCALL) tid:26182, ticks:5236970
rax:0xffffffffffffffda rbx:0x7f3fe3868fa0 rcx:0xffffffffffffffff rdx:0x0 rsi:0x80 rdi:0x7f3fea0cfbc8 rbp:0xca rsp:0x7f3fe3868e10 r8:0x0 r9:0x7f3ff0a75550 r10:0x7f3fea0cfa30 r11:0x246 r12:0x7f3fea0cfb70 r13:0x7f3fea0cfbc8 r14:0x1 r15:0x7f3fea0cfbc4 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7f3fea0d0700 gs_base:0x0
}
{
  real_time:2433247.355012 global_time:317013, event:`SYSCALLBUF_RESET' tid:26182, ticks:5236970
}
{
  real_time:2433247.359308 global_time:317014, event:`SCHED' tid:26204, ticks:232515341
rax:0x0 rbx:0x1 rcx:0x0 rdx:0x20 rsi:0x20 rdi:0x0 rbp:0x1 rsp:0x7f3fe9eef928 r8:0x22f r9:0x7f3fe9eefcb0 r10:0x4 r11:0x7f3fe9ef0520 r12:0x7f3fe9efc2a0 r13:0x0 r14:0x7f3fe9ef3170 r15:0x7f3fe9ef3188 rip:0x7f3ff959c876 eflags:0x206 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xffffffffffffff09 fs_base:0x7f3fe9eff700 gs_base:0x0
}
{
  real_time:2433247.360200 global_time:317015, event:`SYSCALLBUF_FLUSH' tid:26205, ticks:185538124
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
}
{
  real_time:2433247.360202 global_time:317016, event:`SCHED' tid:26205, ticks:185538124
rax:0x7f3fd69f24ef rbx:0x7f3fd69fc4b8 rcx:0x1b8 rdx:0x1 rsi:0x1b9 rdi:0x7f3fd69f24ef rbp:0x0 rsp:0x7f3fd69f23d0 r8:0x0 r9:0x7f3fd69f1d01 r10:0x7f3fd69f1d18 r11:0x7f3fd69f1f48 r12:0x2 r13:0x7f3fd69fc1b8 r14:0x7f3fd69fac18 r15:0x7f3fd69f3908 rip:0x7f3ff915b3f8 eflags:0x202 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xffffffffffffff09 fs_base:0x7f3fd69ff700 gs_base:0x0
}
=== Start rr backtrace:
rr(_ZN2rr13dump_rr_stackEv+0x41)[0x55da65d4ff31]
rr(_ZN2rr9GdbServer15emergency_debugEPNS_4TaskE+0x5c5)[0x55da65c78f95]
rr(_ZN2rr21EmergencyDebugOstreamD2Ev+0x2e8)[0x55da65c86ff8]
rr(_ZN2rr14ReplayTimeline21mark_after_singlestepERKNS0_4MarkERKNS_12ReplayResultE+0x212)[0x55da65d11b22]
rr(_ZN2rr14ReplayTimeline18reverse_singlestepERKNS0_4MarkERKNS_10TaskishUidINS_4TaskEEElRKSt8functionIFbPNS_10ReplayTaskEEERKS9_IFbvEE+0x1c2a)[0x55da65d16baa]
rr(_ZN2rr14ReplayTimeline16reverse_continueERKSt8functionIFbPNS_10ReplayTaskEEERKS1_IFbvEE+0x129a)[0x55da65d1466a]
rr(_ZN2rr9GdbServer14debug_one_stepERNS_10GdbRequestE+0x85d)[0x55da65c76c9d]
rr(_ZN2rr9GdbServer12serve_replayERKNS0_15ConnectionFlagsE+0x6f3)[0x55da65c786f3]
rr(+0x106dff)[0x55da65cf1dff]
rr(_ZN2rr13ReplayCommand3runERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x570)[0x55da65cf2f70]
rr(main+0x393)[0x55da65c2c353]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7)[0x7fbc33d6bb97]
rr(_start+0x2a)[0x55da65c2c73a]

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

Start at src/ReplayTimeline.cc:221 and follow mark_after_singlestep(), reverse_singlestep(), and reverse_continue() from the reported rr backtrace. Use the provided trace and replay/debugger scenario to investigate why the expected mark at time 317015 is missing; done means reproducing the EIO failure and identifying a confirmed fix.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
devtools, operating-systems, reverse-engineering
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.