EIO abort in maybe_flush_syscallbuf
Open
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
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 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