That method is pretty much guarnateed to give you completely broken stacks. We (Sentry) use it as a fallback if nothing else works, and the success rate is awful.
Since we do post-hoc stack walking our ability to actually look at the assembly is limited. In most cases where we have no CFI we also do not have the binary to begin with, so we're in random memory land.
I'm not familiar with Rust, but if I'm reading it correctly, you're not doing back-disassembly and only checking if an address on the stack is in a code region, which certainly won't work well.
we also do not have the binary to begin with
Your "minidumps" only contain the stack?
I linked you to it elsewhere in this thread. Sentry is using a rust implementation of the stack walker.
If it's a graph of potential stacks, though, wouldn't you eventually find the one that unwinds, if one exists?