Message GDB when rr crashes/assertion fails
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
I'm not sure if this is functionality that can be implemented (or if it's just something that can be chalked up to the unstable nature of the AMD support), but it seems as though GDB is unaware of when rr fails due to an assertion failing.
Could it be possible to implement some feature to signal GDB when rr fails? It doesn't seem to matter what kind of assertion it is that fails, but when it does (in this case, for this issue an assertion failed due to tick inconsistency) GDB just "cruises along" or rather, just hangs indefinitely, thinking the inferior is running.
Perhaps there is some error message/packet that can be sent using the GDB Server Protocol (which if I'm not mistaken is what rr uses to communicate with GDB?) prior to spitting out the backtrace? Maybe setup a signal handler somehow and send it from there is possible? I'm just speculating wildly about solutions here, seeing as how I literally have no clue how the communication works, but if there is some kind of functionality resembling this, I'd be glad to give it a go of looking into.
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 by tracing rr's communication with GDB through the GDB Server Protocol and how assertion failures or crashes are handled. Determine whether an error packet or signal can report the failure; done means GDB no longer remains in a running state or hangs when rr encounters an assertion failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- devtools, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100