[FATAL src/ReplaySession.cc:516:cont_syscall_boundary()]
Open
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
This happened when replaying a recording of a 32-bit process.
I am using commit 0348e30.
[FATAL src/ReplaySession.cc:516:cont_syscall_boundary()]
(task 498914 (rec:325249) at time 762)
-> Assertion `false' failed to hold. Replay got unrecorded signal {signo:SIGSEGV,errno:SUCCESS,code:SEGV_ACCERR,addr:0xf62ffba4}
Tail of trace dump:
{
real_time:2184067.762886 global_time:742, event:`SYSCALL: mmap2' (state:EXITING_SYSCALL) tid:325249, ticks:1200877
eax:0xf0dea000 ecx:0x1000 edx:0x0 ebx:0xf0dea000 esp:0x681ffda0 ebp:0x0 esi:0x22 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
{ map_file:"<ZERO>", addr:0xf0dea000, length:0x1000, prot_flags:"---p", file_offset:0x0, device:0, inode:0, data_file:"", data_offset:0x0, file_size:0x1000 }
}
{
real_time:2184067.763099 global_time:743, event:`SYSCALLBUF_FLUSH' tid:325249, ticks:1204996
{ syscall:'openat', ret:0x3, size:0x10, desched:1 }
{ syscall:'readlinkat', ret:0x9, size:0x19 }
{ syscall:'dup', ret:0x4, size:0x10 }
{ syscall:'dup', ret:0x5, size:0x10 }
{ syscall:'clock_gettime64', ret:0x0, size:0x20 }
{ syscall:'gettid', ret:0x4f681, size:0x10 }
}
{
real_time:2184067.763101 global_time:744, event:`SYSCALL: mmap2' (state:ENTERING_SYSCALL) tid:325249, ticks:1204996
eax:0xffffffda ecx:0x200000 edx:0x3 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x22 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
}
{
real_time:2184067.763103 global_time:745, event:`SYSCALLBUF_RESET' tid:325249, ticks:1204996
}
{
real_time:2184067.763134 global_time:746, event:`SYSCALL: mmap2' (state:EXITING_SYSCALL) tid:325249, ticks:1204996
eax:0xf5500000 ecx:0x200000 edx:0x3 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x22 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
{ map_file:"<ZERO>", addr:0xf5500000, length:0x200000, prot_flags:"rw-p", file_offset:0x0, device:0, inode:0, data_file:"", data_offset:0x0, file_size:0x200000 }
}
{
real_time:2184067.763174 global_time:747, event:`SYSCALL: munmap' (state:ENTERING_SYSCALL) tid:325249, ticks:1205020
eax:0xffffffda ecx:0x100000 edx:0x5684e599 ebx:0xf5600000 esp:0x681ffda0 ebp:0x56c62918 esi:0x100000 edi:0x56c62918 eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0x5b
}
{
real_time:2184067.763206 global_time:748, event:`SYSCALL: munmap' (state:EXITING_SYSCALL) tid:325249, ticks:1205020
eax:0x0 ecx:0x100000 edx:0x5684e599 ebx:0xf5600000 esp:0x681ffda0 ebp:0x56c62918 esi:0x100000 edi:0x56c62918 eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0x5b
}
{
real_time:2184067.763533 global_time:749, event:`SYSCALLBUF_FLUSH' tid:325249, ticks:1372106
{ syscall:'gettid', ret:0x4f681, size:0x10 }
}
{
real_time:2184067.763536 global_time:750, event:`SYSCALL: mmap2' (state:ENTERING_SYSCALL) tid:325249, ticks:1372106
eax:0xffffffda ecx:0x200000 edx:0x3 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x22 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
}
{
real_time:2184067.763537 global_time:751, event:`SYSCALLBUF_RESET' tid:325249, ticks:1372106
}
{
real_time:2184067.763567 global_time:752, event:`SYSCALL: mmap2' (state:EXITING_SYSCALL) tid:325249, ticks:1372106
eax:0xf5300000 ecx:0x200000 edx:0x3 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x22 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
{ map_file:"<ZERO>", addr:0xf5300000, length:0x200000, prot_flags:"rw-p", file_offset:0x0, device:0, inode:0, data_file:"", data_offset:0x0, file_size:0x200000 }
}
{
real_time:2184067.763607 global_time:753, event:`SYSCALL: munmap' (state:ENTERING_SYSCALL) tid:325249, ticks:1372130
eax:0xffffffda ecx:0x100000 edx:0x5684e599 ebx:0xf5400000 esp:0x681ffda0 ebp:0x56c62918 esi:0x100000 edi:0x56c62918 eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0x5b
}
{
real_time:2184067.763638 global_time:754, event:`SYSCALL: munmap' (state:EXITING_SYSCALL) tid:325249, ticks:1372130
eax:0x0 ecx:0x100000 edx:0x5684e599 ebx:0xf5400000 esp:0x681ffda0 ebp:0x56c62918 esi:0x100000 edi:0x56c62918 eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0x5b
}
{
real_time:2184067.763824 global_time:755, event:`SYSCALLBUF_FLUSH' tid:325249, ticks:1414523
{ syscall:'clock_gettime64', ret:0x0, size:0x20 }
{ syscall:'gettid', ret:0x4f681, size:0x10 }
}
{
real_time:2184067.763827 global_time:756, event:`SYSCALL: mmap2' (state:ENTERING_SYSCALL) tid:325249, ticks:1414523
eax:0xffffffda ecx:0x7000 edx:0x3 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x22 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
}
{
real_time:2184067.763828 global_time:757, event:`SYSCALLBUF_RESET' tid:325249, ticks:1414523
}
{
real_time:2184067.763858 global_time:758, event:`SYSCALL: mmap2' (state:EXITING_SYSCALL) tid:325249, ticks:1414523
eax:0xf74f4000 ecx:0x7000 edx:0x3 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x22 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
{ map_file:"<ZERO>", addr:0xf74f4000, length:0x7000, prot_flags:"rw-p", file_offset:0x0, device:0, inode:0, data_file:"", data_offset:0x0, file_size:0x7000 }
}
{
real_time:2184067.763902 global_time:759, event:`SYSCALL: mmap2' (state:ENTERING_SYSCALL) tid:325249, ticks:1414618
eax:0xffffffda ecx:0x801000 edx:0x0 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x20022 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
}
{
real_time:2184067.763931 global_time:760, event:`SYSCALL: mmap2' (state:EXITING_SYSCALL) tid:325249, ticks:1414618
eax:0xf4aff000 ecx:0x801000 edx:0x0 ebx:0x0 esp:0x681ffda0 ebp:0x0 esi:0x20022 edi:0xffffffff eip:0x70000002 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0xc0
{ map_file:"<ZERO>", addr:0xf4aff000, length:0x801000, prot_flags:"---p", file_offset:0x0, device:0, inode:0, data_file:"", data_offset:0x0, file_size:0x801000 }
}
{
real_time:2184067.763989 global_time:761, event:`SYSCALLBUF_FLUSH' tid:325249, ticks:1414801
{ syscall:'mprotect', ret:0x0, size:0x10 }
{ start:'0xf4b00000', size:'800000', prot:rw- }
}
{
real_time:2184067.764145 global_time:762, event:`SYSCALL: clone' (state:ENTERING_SYSCALL) tid:325249, ticks:1414801
eax:0xffffffda ecx:0xf52ff3e4 edx:0xf52ffba8 ebx:0x3d0f00 esp:0xfff68b50 ebp:0xf7f6d000 esi:0xfff68b9c edi:0xf52ffba8 eip:0xf7b3a888 eflags:0x246 xcs:0x23 xss:0x2b xds:0x2b xes:0x2b xfs:0x0 xgs:0x63 orig_eax:0x78
{ map_file:"<ZERO>", addr:0xf48ff000, length:0x200000, prot_flags:"rwxp", file_offset:0x0, device:0, inode:0, data_file:"", data_offset:0x0, file_size:0x0 }
{ tid:325249, addr:0xf52ffba8, length:0x4 }
{ tid:325249, addr:0xfff68b9c, length:0x10 }
{ tid:325251, addr:0xfff68b9c, length:0x10 }
{ tid:325251, addr:0xf52ffba8, length:0x4 }
{ tid:325251, addr:0xf52ffba8, length:0x4 }
}
{
real_time:2184067.764147 global_time:763, event:`SYSCALLBUF_RESET' tid:325249, ticks:1414801
}
=== Start rr backtrace:
rr(_ZN2rr9GdbServer15emergency_debugEPNS_4TaskE+0x158)[0x55d9d945f498]
rr(+0x179cb7)[0x55d9d944ccb7]
rr(+0x179f8f)[0x55d9d944cf8f]
rr(_ZN2rr13ReplaySession21cont_syscall_boundaryEPNS_10ReplayTaskERKNS0_15StepConstraintsE+0x197)[0x55d9d93bbd87]
rr(_ZN2rr13ReplaySession13enter_syscallEPNS_10ReplayTaskERKNS0_15StepConstraintsE+0xc2)[0x55d9d93bc042]
rr(_ZN2rr13ReplaySession18try_one_trace_stepEPNS_10ReplayTaskERKNS0_15StepConstraintsE+0xdb)[0x55d9d93bc77b]
rr(_ZN2rr13ReplaySession11replay_stepERKNS0_15StepConstraintsE+0x125)[0x55d9d93bdf85]
rr(_ZN2rr14ReplayTimeline19replay_step_forwardENS_10RunCommandE+0xb0)[0x55d9d93917b0]
rr(_ZN2rr9GdbServer14debug_one_stepERNS_10GdbRequestE+0x384)[0x55d9d94613d4]
rr(_ZN2rr9GdbServer12serve_replayERKNS0_15ConnectionFlagsE+0xaab)[0x55d9d9462c8b]
rr(+0xf3969)[0x55d9d93c6969]
rr(_ZN2rr13ReplayCommand3runERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x5ba)[0x55d9d93c7aaa]
rr(main+0x199)[0x55d9d931d739]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f3a77db9083]
rr(_start+0x2e)[0x55d9d931d9ee]
=== End rr backtrace
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 at src/ReplaySession.cc:516 in cont_syscall_boundary() and reproduce replaying the reported 32-bit recording from commit 0348e30. Compare the clone and syscall events around trace times 762–763; done means the recording replays without the unrecorded SIGSEGV assertion.
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
- 25/100