Unfortunately I don't know the mormot stack routines. So I can't give advice.
I don't know what your scenario is?
I did guess "user reporting on releases", but it now sounds like a more repeat process?
Then the questions are
- why not run in the debugger directly?
- your stack has win32, so no embedded? Then what limits you on the size? Or is it just the speed?
There isn't much that can be done about the speed of the build in stack decoder. Its meant to work on low mem usage, so it compensates with time (afaik: needs to keep loading...)
Maybe edit the subject, and add "Mormot" so people with that background will be paying attention.
Just some observations => the lines that are way off are in *.inc files.
So maybe that causes a bug (as they are originally encoded together with the pas file that includes them, and the decoder needs to pay attention to file switching)
You may also try using a different FPC => there used to be some issues, but I don't know if they would have affected the files in your stack. (don't think so / but still may be worth a try)...
Also test with -O- (no opt) or -O1 => in case you used any higher opt.
Some of the lines are off by 1. That may not be an error, but a matter of interpretation.
Technically, if you are in a "call" then the return address points to the asm statement after the call. Which can (sometimes / other-times not) be on the next line. Some decoders account for that, and always show the "call" line. Other decoders show "as is".
You may also find that sometimes a single frame gets skipped. That happens due to optimization, if the called code is optimized.
E.g. if your fpc/RTL is -O2, then your code calling certain rtl functions may not be in the stack.
I don't know if any build in decoder deals with that. (they may, but I wouldn't expect it)