-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Fully Compatible
-
ALL
On my machine it appears I can symbolize small stack traces, but not large ones. Largest I got working was 42 frames, smallest non-working was 50 frames.
It appears like there is an error in resetting the LibUnwindStepIteration iterator in LibUnwindStepIteration::start(). max.hirschhorn@mongodb.com noticed that the raw iterator resets _i to 0 in start(), but this _i = 0 is missing from the LibUnwind version.
Adding that in to LibUnwindStepIteration::start() resolved my issue. I think small ones work because the _i counter can be iterated twice and stay under the maxFrames limit of 100. But if your stack trace is too large it cuts off. I'm not sure why 50 didn't work though, there may be an off-by-one somewhere.
Thanks to daniel.gottlieb@mongodb.com and max.hirschhorn@mongodb.com for helping me debug and diagnose.