Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Source level single stepping over line of code which crashes can hang MRI #35

Closed
adamgreen opened this issue Oct 5, 2022 · 0 comments
Closed

Comments

@adamgreen
Copy link
Owner

@icecream95 reported this issue in his PR #32.

I was able to reproduce the hang in MRI by attempting to single step at the source level (using step and not stepi) over the following instruction:

    *(volatile uint32_t*)0xFFFFFFFF;

There is a bug in MRI where handling ranged single stepping is taking precedence over exception handling. I will start working on a fix for it soon.

adamgreen added a commit that referenced this issue Oct 6, 2022
Fixes issue #35.

Previously hitting a crash in the middle of a single step range would
lead to a hang. It now handles SIGSEGV, SIGBUS, and SIGILL like it
already handled SIGINT (CTRL+C) by ignoring that it was single stepping
and just handle the higher priority event that has occurred instead.

I also updated the version build date and added a note to the README
about the OS ABI version of GDB that should be used with MRI.
adamgreen added a commit that referenced this issue Mar 13, 2023
Fixes issue #35.

Previously hitting a crash in the middle of a single step range would
lead to a hang. It now handles SIGSEGV, SIGBUS, and SIGILL like it
already handled SIGINT (CTRL+C) by ignoring that it was single stepping
and just handle the higher priority event that has occurred instead.

I also updated the version build date and added a note to the README
about the OS ABI version of GDB that should be used with MRI.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant