Re:Debugging a Futex Crash
by js2 on Wednesday August 16, 2023 @05:22PM
(#37154033)
Yes, when I wrote "which is basically the stack for each thread" I did mean the raw bytes of the stack. I see now that wasn't clear. I was writing on mobile and apologize for the confusion.
Unwinding then occurs later by walking through the stack memory, which is difficult to impossible unless either: a) the stack contains frame pointers; or b) you have unwind data. Without either of those the unwinder uses heuristics to guess at return addresses on the stack, but that's very unreliable and often leads the unwinder into a loop till it gives up.
Unwinding then occurs later by walking through the stack memory, which is difficult to impossible unless either: a) the stack contains frame pointers; or b) you have unwind data. Without either of those the unwinder uses heuristics to guess at return addresses on the stack, but that's very unreliable and often leads the unwinder into a loop till it gives up.