If you use DAP and have a dockerfile where the same FROM clause is used multiple times, the debugger gets confused and can't tell the difference between the different stages.
As an example:
FROM busybox
RUN echo hello world
FROM busybox
RUN echo goodbye
The FROM busybox gets marshaled to LLB with the same definition since the FROM clauses are the same and they do not have different inputs. This causes them to have the same vertex digest. When DAP attempts to take the LLB digest and find the source information, it can't tell the difference between which digest refers to which source file and just assumes it's always the first one.