-
Notifications
You must be signed in to change notification settings - Fork 7.4k
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
Make espcoredump more resilient when decoding erroneous thread stack (IDFGH-2802) #4865
Conversation
@amotl Thanks for the contribution. |
Thanks, @Alvin1Zhang. I also wanted to note that this change also removes the shortcut
when iterating the threads as I found it convenient to have all thread stacks printed within the "THREADS INFO" section of the output. I didn't see a reason why to omit the particular "current thread" within that output. |
Because it is printed at the beginning of the core dump, see the very first back trace https://github.com/espressif/esp-idf/blob/master/components/espcoredump/espcoredump.py#L1615-L1623 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, except for the comment below
Hi @amotl,
Your changes are under review and will be merged as soon as possible. |
Hi @alisitsyn, as we learned from #2892, we are using the
Just in this second we see this toolchain might have been made of two different GNUs (5.2.0 vs. 7.10)? Cheers, |
Dear Alexey, so do you believe this will be fine? I just wanted to make sure that I didn't miss anything and you are waiting for some changes of mine. With kind regards, |
Dear Andreas, Everything is correct, your PR reviewed and should be merged to github very soon. I appologize for the delay with answer. |
Merged in dde4d2e, thanks for the contribution! |
Thanks for merging! |
We found that
espcoredump
would stop decoding all subsequent thread stacks when it hits an error like that on a specific thread stack.This change accounts for that by detecting such a condition and continuing the process appropriately. This helped significantly as
espcoredump
just decoded thread stacks 19-11 before while it will now also decode thread stacks 9-1, providing valuable additional information.