rr icon indicating copy to clipboard operation
rr copied to clipboard

[FATAL src/ReplaySession.cc:1180:check_ticks_consistency()]

Open dholbert opened this issue 2 years ago • 2 comments

I just performed an rr recording which can't fully replay due to an assertion-failure. Filing it as a bug, at @khuey's request. CC'ing @rocallahan if he's interested to take a look, too.

System info: Lenovo ThinkPad P15 gen1 Ubuntu 22.04 Intel Core i9-10885H

rr version 5.6.0, built locally from commit 143ebdd4fc754a93f2b8f3b8b24da7f1c216578f (Nov 2 23:24:44 2022), admittedly a bit old. Maybe there's a chance this is something that's already been fixed?

Here's the assertion output:

[FATAL src/ReplaySession.cc:1180:check_ticks_consistency()] 
 (task 200930 (rec:194109) at time 251843)
 -> Assertion `ticks_now == trace_ticks' failed to hold. ticks mismatch for 'SYSCALL: sigaltstack'; expected 1875668, got 1875673
Tail of trace dump:
{
  real_time:27720.263680 global_time:251823, event:`SYSCALL: futex' (state:EXITING_SYSCALL) tid:194017, ticks:51928969
rax:0xfffffffffffffff5 rbx:0x7f626c3fafa0 rcx:0xffffffffffffffff rdx:0x3 rsi:0x89 rdi:0x7f627bb48e78 rbp:0x3 rsp:0x7f626c3fad70 r8:0x0 r9:0x7f62ffffffff r10:0x0 r11:0x246 r12:0x7f62af3d7a20 r13:0x7f62af2e3250 r14:0x7f626c3fafa0 r15:0xca rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xca fs_base:0x7f626c5fb640 gs_base:0x0
}
{
  real_time:27720.269894 global_time:251824, event:`SYSCALL: epoll_wait' (state:EXITING_SYSCALL) tid:194125, ticks:9793
rax:0x1 rbx:0x0 rcx:0xffffffffffffffff rdx:0x100 rsi:0x7f6275271000 rdi:0x24 rbp:0x38 rsp:0x7f62796ffdf0 r8:0x0 r9:0x7f62879a0e48 r10:0xffffffff r11:0x246 r12:0x7f6271c5bf01 r13:0x7f628764e000 r14:0x7f62796fffa0 r15:0x7f628764e066 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xe8 fs_base:0x7f62879a2640 gs_base:0x0
  { tid:194125, addr:0x7f6275271000, length:0xc00 }
}
{
  real_time:27720.270087 global_time:251825, event:`SIGNAL: SIGCHLD(async)' tid:194125, ticks:9793
rax:0x1 rbx:0x0 rcx:0xffffffffffffffff rdx:0x100 rsi:0x7f6275271000 rdi:0x24 rbp:0x38 rsp:0x7f62796ffdf0 r8:0x0 r9:0x7f62879a0e48 r10:0xffffffff r11:0x246 r12:0x7f6271c5bf01 r13:0x7f628764e000 r14:0x7f62796fffa0 r15:0x7f628764e066 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xe8 fs_base:0x7f62879a2640 gs_base:0x0 st0:0x0 st1:0x0 st2:0x0 st3:0x0 st4:0x0 st5:0x0 st6:0x3fff8000000000000000 st7:0x0 ymm0:0x0 ymm1:0x8 ymm2:0x0 ymm3:0x0 ymm4:0x0 ymm5:0x0 ymm6:0x0 ymm7:0x0 ymm8:0x0 ymm9:0x0 ymm10:0x40a0000040a0000040a0000040a00000 ymm11:0x0 ymm12:0x0 ymm13:0x57b057b057b057b0d000d000d000d00 ymm14:0x0 ymm15:0xbff0000000000000
}
{
  real_time:27720.270155 global_time:251826, event:`SIGNAL_DELIVERY: SIGCHLD(async)' tid:194125, ticks:9793
rax:0x1 rbx:0x0 rcx:0xffffffffffffffff rdx:0x100 rsi:0x7f6275271000 rdi:0x24 rbp:0x38 rsp:0x7f62796ffdf0 r8:0x0 r9:0x7f62879a0e48 r10:0xffffffff r11:0x246 r12:0x7f6271c5bf01 r13:0x7f628764e000 r14:0x7f62796fffa0 r15:0x7f628764e066 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xe8 fs_base:0x7f62879a2640 gs_base:0x0
  { tid:194125, addr:0x7f62796ffdf0, length:(nil) }
}
{
  real_time:27720.270314 global_time:251827, event:`SYSCALLBUF_FLUSH' tid:194125, ticks:10039
  { syscall:'recvmsg', ret:0x0, size:0xa8, desched:1 }
}
{
  real_time:27720.270324 global_time:251828, event:`SYSCALL: epoll_ctl' (state:ENTERING_SYSCALL) tid:194125, ticks:10039
rax:0xffffffffffffffda rbx:0x7f62796fffa0 rcx:0xffffffffffffffff rdx:0x3f rsi:0x2 rdi:0x24 rbp:0x7f628799f7f0 rsp:0x7f62796ffdb0 r8:0x50 r9:0x7f62639e60a0 r10:0x0 r11:0x246 r12:0x7f6271c5bf20 r13:0x0 r14:0x7f62796fffa0 r15:0xe9 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xe9 fs_base:0x7f62879a2640 gs_base:0x0
}
{
  real_time:27720.270340 global_time:251829, event:`SYSCALLBUF_RESET' tid:194125, ticks:10039
}
{
  real_time:27720.270388 global_time:251830, event:`SYSCALL: epoll_ctl' (state:EXITING_SYSCALL) tid:194125, ticks:10039
rax:0x0 rbx:0x7f62796fffa0 rcx:0xffffffffffffffff rdx:0x3f rsi:0x2 rdi:0x24 rbp:0x7f628799f7f0 rsp:0x7f62796ffdb0 r8:0x50 r9:0x7f62639e60a0 r10:0x0 r11:0x246 r12:0x7f6271c5bf20 r13:0x0 r14:0x7f62796fffa0 r15:0xe9 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xe9 fs_base:0x7f62879a2640 gs_base:0x0
}
{
  real_time:27720.270622 global_time:251831, event:`PATCH_SYSCALL' tid:194125, ticks:10125
rax:0x30 rbx:0x7f62ac2ee5e0 rcx:0xffffffffffffffff rdx:0xd0 rsi:0x2 rdi:0x3f rbp:0x7f628799fd00 rsp:0x7f628799fcc8 r8:0x7f62ac2f7378 r9:0x7f62639e60a0 r10:0x0 r11:0x246 r12:0x7f6271c5bf20 r13:0x0 r14:0x0 r15:0x7f6275296ec0 rip:0x7f62af3e0cb9 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xffffffffffffffff fs_base:0x7f62879a2640 gs_base:0x0
  { tid:194125, addr:0x7f62af88b63e, length:0x5e }
  { tid:194125, addr:0x7f62af3e0cb9, length:0x8 }
}
{
  real_time:27720.270714 global_time:251832, event:`SYSCALL: shutdown' (state:ENTERING_SYSCALL) tid:194125, ticks:10132
rax:0xffffffffffffffda rbx:0x7f62796fffa0 rcx:0xffffffffffffffff rdx:0xd0 rsi:0x2 rdi:0x3f rbp:0x7f628799fd00 rsp:0x7f62796ffdb0 r8:0x7f62ac2f7378 r9:0x7f62639e60a0 r10:0x0 r11:0x246 r12:0x7f6271c5bf20 r13:0x0 r14:0x7f62796fffa0 r15:0x30 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x30 fs_base:0x7f62879a2640 gs_base:0x0
}
{
  real_time:27720.270762 global_time:251833, event:`SYSCALL: shutdown' (state:EXITING_SYSCALL) tid:194125, ticks:10132
rax:0x0 rbx:0x7f62796fffa0 rcx:0xffffffffffffffff rdx:0xd0 rsi:0x2 rdi:0x3f rbp:0x7f628799fd00 rsp:0x7f62796ffdb0 r8:0x7f62ac2f7378 r9:0x7f62639e60a0 r10:0x0 r11:0x246 r12:0x7f6271c5bf20 r13:0x0 r14:0x7f62796fffa0 r15:0x30 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x30 fs_base:0x7f62879a2640 gs_base:0x0
}
{
  real_time:27720.270956 global_time:251834, event:`SYSCALLBUF_FLUSH' tid:194125, ticks:12930
  { syscall:'close', ret:0x0, size:0x10 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'epoll_wait', ret:0x0, size:0x10 }
}
{
  real_time:27720.270968 global_time:251835, event:`SYSCALL: epoll_wait' (state:ENTERING_SYSCALL) tid:194125, ticks:12930
rax:0xffffffffffffffda rbx:0x0 rcx:0xffffffffffffffff rdx:0x100 rsi:0x7f6275271000 rdi:0x24 rbp:0x30 rsp:0x7f62796ffdf0 r8:0x0 r9:0x7f62879a0e48 r10:0xffffffff r11:0x246 r12:0x7f6271c5bf01 r13:0x7f628764e000 r14:0x7f62796fffa0 r15:0x7f628764e05e rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0xe8 fs_base:0x7f62879a2640 gs_base:0x0
}
{
  real_time:27720.270978 global_time:251836, event:`SYSCALLBUF_RESET' tid:194125, ticks:12930
}
{
  real_time:27720.271061 global_time:251837, event:`SYSCALL: recvmsg' (state:EXITING_SYSCALL) tid:194109, ticks:1872650
rax:0x0 rbx:0x7f6266200000 rcx:0xffffffffffffffff rdx:0x40000000 rsi:0x7f62662000c6 rdi:0x35 rbp:0x98 rsp:0x7f6264afdd80 r8:0x0 r9:0x0 r10:0x0 r11:0x246 r12:0x7f626620011e r13:0x7f62662000c6 r14:0x7f6260ef3fd8 r15:0x7f6264afdfa0 rip:0x7000000e eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x2f fs_base:0x7f6260efa640 gs_base:0x0
  { tid:194109, addr:0x7f62662000b6, length:0x8 }
  { tid:194109, addr:0x7f62662000c6, length:0x2082 }
}
{
  real_time:27720.271078 global_time:251838, event:`SYSCALLBUF_ABORT_COMMIT' tid:194109, ticks:1872650
}
{
  real_time:27720.271254 global_time:251839, event:`SYSCALL: rrcall_notify_syscall_hook_exit' (state:ENTERING_SYSCALL) tid:194109, ticks:1872665
rax:0xffffffffffffffda rbx:0x0 rcx:0xffffffffffffffff rdx:0x40000000 rsi:0x7f6260ef3fd8 rdi:0x35 rbp:0x7f6260ef4030 rsp:0x7f6264afddf0 r8:0x0 r9:0x6f6d2e30336b74 r10:0x0 r11:0x246 r12:0x7f6260efa640 r13:0x2 r14:0x7f6264afdfa0 r15:0x2f rip:0x70000005 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x3ea fs_base:0x7f6260efa640 gs_base:0x0
}
{
  real_time:27720.271265 global_time:251840, event:`SYSCALLBUF_RESET' tid:194109, ticks:1872665
}
{
  real_time:27720.271315 global_time:251841, event:`SYSCALL: rrcall_notify_syscall_hook_exit' (state:EXITING_SYSCALL) tid:194109, ticks:1872665
rax:0x0 rbx:0x0 rcx:0xffffffffffffffff rdx:0x40000000 rsi:0x7f6260ef3fd8 rdi:0x35 rbp:0x7f6260ef4030 rsp:0x7f6264afddf0 r8:0x0 r9:0x6f6d2e30336b74 r10:0x0 r11:0x246 r12:0x7f6260efa640 r13:0x2 r14:0x7f6264afdfa0 r15:0x2f rip:0x70000005 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x2f fs_base:0x7f6260efa640 gs_base:0x0
  { tid:194109, addr:0x7f626620000d, length:0x1 }
}
{
  real_time:27720.271525 global_time:251842, event:`SYSCALLBUF_FLUSH' tid:194109, ticks:1875668
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'clock_gettime', ret:0x0, size:0x20 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10, replay_assist:1 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10 }
  { syscall:'gettid', ret:0x2f63d, size:0x10, replay_assist:1 }
}
{
  real_time:27720.271535 global_time:251843, event:`SYSCALL: sigaltstack' (state:ENTERING_SYSCALL) tid:194109, ticks:1875668
rax:0xffffffffffffffda rbx:0x7f6264afdfa0 rcx:0xffffffffffffffff rdx:0x18 rsi:0x0 rdi:0x7f6260ef9d10 rbp:0x7f6260ef9d30 rsp:0x7f6264afddb0 r8:0x0 r9:0x2f63d r10:0x7f626743ba28 r11:0x246 r12:0x7f6260efa640 r13:0x2 r14:0x7f6264afdfa0 r15:0x83 rip:0x70000002 eflags:0x246 cs:0x33 ss:0x2b ds:0x0 es:0x0 fs:0x0 gs:0x0 orig_rax:0x83 fs_base:0x7f6260efa640 gs_base:0x0
}
{
  real_time:27720.271545 global_time:251844, event:`SYSCALLBUF_RESET' tid:194109, ticks:1875668
}
=== Start rr backtrace:
rr(_ZN2rr13dump_rr_stackEv+0x32)[0x55c29aa22432]
rr(_ZN2rr9GdbServer15emergency_debugEPNS_4TaskE+0xdb)[0x55c29a81771b]
rr(+0x36d78b)[0x55c29a85178b]
rr(_ZN2rr21EmergencyDebugOstreamD1Ev+0x6b)[0x55c29a85156b]
rr(_ZN2rr13ReplaySession23check_ticks_consistencyEPNS_10ReplayTaskERKNS_5EventE+0x146)[0x55c29a9594e6]
rr(_ZN2rr13ReplaySession11replay_stepERKNS0_15StepConstraintsE+0xacf)[0x55c29a95ddbf]
rr(_ZN2rr13ReplaySession11replay_stepENS_10RunCommandE+0x47)[0x55c29a952657]
rr(+0x46d666)[0x55c29a951666]
rr(+0x46c942)[0x55c29a950942]
rr(_ZN2rr13ReplayCommand3runERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x52a)[0x55c29a94fb3a]
rr(main+0x36c)[0x55c29aa42e6c]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90)[0x7f7ad7332d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80)[0x7f7ad7332e40]
rr(_start+0x25)[0x55c29a75c945]
=== End rr backtrace
Launch gdb with
  gdb '-l' '10000' '-ex' 'set sysroot /' '-ex' 'target extended-remote 127.0.0.1:4322' /home/dholbert/.local/share/rr/mach-46/mmap_pack_248_firefox

dholbert avatar Jan 29 '23 06:01 dholbert

Also FWIW, I captured the recording (as I usually do for pernosco) with the following command in a local pernosco-record.sh shell script:

#!/bin/bash
# From khuey 2022-05-29
# https://groups.google.com/a/mozilla.org/g/dev-platform/c/-pS3laZBDyg/m/6PAWFcvFAQAJ
unset NSS_DISABLE_HW_SHA # Unlikely to be set; but if it is, it needs unsetting.
rr record --disable-avx-512 "$@"

dholbert avatar Jan 29 '23 06:01 dholbert

I was mostly concerned that this might be fallout from the recent changes to buffer sigaltstack but given the age of your rr checkout that would seem to be precluded.

khuey avatar Jan 29 '23 15:01 khuey