Mercerenies/latitude

Stack traces are a mess

Closed this issue · 2 comments

Stack traces simply do not work right now. Sometimes, they report the same frame multiple times. Sometimes, they skip frames. Often, the line number is completely inaccurate. There are likely several issues within the code contributing to this.

When system calls are made, it seems that the topmost stack frame gets duplicated in some cases, ending up with traces that have

std/core.lat: 180
std/core.lat: 180

In them, when the given line should only be listed once.

As of d576c20, the larger issues of completely inaccurate stack traces seem to have been fixed. Some frames still get duplicated when system calls are made, but the overall stack frame object now prints correct information, albeit with some rows duplicated. As such, I am regarding this issue as closed.