From 4b28282e30ee9ee483d3ed31a27956a5b35d2e95 Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Wed, 13 Nov 2024 15:29:15 -0800 Subject: [PATCH 24/31] sysprof-live-unwinder: handle large stack unwind sizes --- src/sysprof-live-unwinder/sysprof-live-unwinder.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/sysprof-live-unwinder/sysprof-live-unwinder.c b/src/sysprof-live-unwinder/sysprof-live-unwinder.c index c3b954b2..da77b0b0 100644 --- a/src/sysprof-live-unwinder/sysprof-live-unwinder.c +++ b/src/sysprof-live-unwinder/sysprof-live-unwinder.c @@ -377,6 +377,11 @@ sysprof_live_unwinder_process_sampled_with_stack (SysprofLiveUnwinder *s return; } + /* We seem to get values > stack_size, which perhaps indicates we can + * sometimes discover if we would not have gotten enough stack to unwind. + */ + stack_dyn_size = MIN (stack_dyn_size, stack_size); + live_pid = sysprof_live_unwinder_find_pid (self, pid, TRUE); /* Copy addresses over (which might be kernel, context-switch, etc until -- 2.45.2