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

unwinder: Fix assumption on thread's initial registers #42

Merged
merged 1 commit into from
May 19, 2024

Conversation

javierhonduco
Copy link
Owner

The x86_64 ABI mandates that the bottom frame of processes must have their frame pointer (rbp) set to zero. We check for this when we detect and end of stacktrace condition, which is correcto for processes but it's not for threads as their initial frame pointer value is not specified.

Test Plan

Ran for a while without issues. Unwinding Node.js applications cause the log to show up, this needs more investigation, but in general we should always use frame pointers to unwind Node. We will revisit this once we add proper support for this runtime.

The x86_64 ABI mandates that the bottom frame of processes must have
their frame pointer (rbp) set to zero. We check for this when we detect
and end of stacktrace condition, which is correcto for processes but
it's not for threads as their initial frame pointer value is not
specified.

Test Plan
=========

Ran for a while without issues. Unwinding Node.js applications cause the
log to show up, this needs more investigation, but in general we should
always use frame pointers to unwind Node. We will revisit this once we
add proper support for this runtime.
@javierhonduco javierhonduco merged commit d82caaf into main May 19, 2024
8 checks passed
@javierhonduco javierhonduco deleted the bottom-frame-condition-fix branch May 19, 2024 11:56
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

Successfully merging this pull request may close these issues.

1 participant