rr-debugger / rr-debugger/rr

EIO abort in maybe_flush_syscallbuf

Open
#3,037 4 comments 1 reaction 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

@vtjnash reports the following:

=== Start rr backtrace:
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr13dump_rr_stackEv+0x28)[0x5b6dc8]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr15notifying_abortEv+0x47)[0x5bb897]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x5fd712]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x51dc81]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x600349]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr10RecordTask22maybe_flush_syscallbufEv+0x179)[0x54b999]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr10RecordTask12record_eventERKNS_5EventENS0_15FlushSyscallbufENS0_20AllowSyscallbufResetEPKNS_9RegistersE+0x365)[0x54c025]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x53d0c2]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr13RecordSession11record_stepEv+0x1d5)[0x541c05]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr13RecordCommand3runERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x9f4)[0x533714]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(main+0x276)[0x4c2a06]
/lib64/libc.so.6(__libc_start_main+0x100)[0x7faf0d313d20]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x4c2e3e]
=== End rr backtrace
rr itself crashed (SIGSEGV). This shouldn't happen!
=== Start rr backtrace:
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr13dump_rr_stackEv+0x28)[0x5b6dc8]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr15notifying_abortEv+0x47)[0x5bb897]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x52f17d]
/lib64/libpthread.so.0(+0xf7e0)[0x7faf0d6987e0]
/lib64/libc.so.6(abort+0xd4)[0x7faf0d328c34]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr15notifying_abortEv+0x42)[0x5bb892]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x5fd712]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x51dc81]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x600349]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr10RecordTask22maybe_flush_syscallbufEv+0x179)[0x54b999]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr10RecordTask12record_eventERKNS_5EventENS0_15FlushSyscallbufENS0_20AllowSyscallbufResetEPKNS_9RegistersE+0x365)[0x54c025]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x53d0c2]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr13RecordSession11record_stepEv+0x1d5)[0x541c05]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(_ZN2rr13RecordCommand3runERSt6vectorINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESaIS7_EE+0x9f4)[0x533714]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr(main+0x276)[0x4c2a06]
/lib64/libc.so.6(__libc_start_main+0x100)[0x7faf0d313d20]
/home/buildworker/.julia/artifacts/c15b91caba48cf253fe8f6dbdafbe18446c849c1/bin/rr[0x4c2e3e]
=== End rr backtrace

From: https://build.julialang.org/#/builders/70/builds/1175/steps/5/logs/stdio

I'll look into this. We recently upgraded rr, so this may be a regression.

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 with the linked Julia build log and the RecordTask::maybe_flush_syscallbuf stack frame, then inspect the rr change associated with the recent rr upgrade. Reproduce the EIO abort if possible and determine whether the upgraded rr introduced the regression; done means the affected build no longer crashes rr.

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
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.