Commit 3b99531
committed
[Dexter] Make lldb-dap _post_step_hook more stable
Buildbot cross-project-tests-sie-ubuntu has been unstable recently
(https://lab.llvm.org/buildbot/#/builders/181).
Dexter uses lldb-dap in these tests. Occasionally a one will fail with a
KeyError because of a missing "stackFrames" "source" "path".
I can't reproduce the failure locally, but with #157130 and #157130 I've got DAP
logs from a pass and fail.
In a failure, "path" is missing for a step out of main (off the final brace),
and the passing test has one additional "module" event for libc.so.6.
```
<- {
"body": {
"module": {
"addressRange": "0x7ffff7dd1000",
"debugInfoSize": "4.9MB",
"id": "5792732F-7831-58C6-6FB4-F3756458CA24-E46E827D",
"name": "libc.so.6",
"path": "/lib/x86_64-linux-gnu/libc.so.6",
"symbolFilePath": "/usr/lib/debug/.build-id/57/92732f783158c66fb4f3756458ca24e46e827d.debug",
"symbolStatus": "Symbols loaded."
},
"reason": "new"
},
"event": "module",
"seq": 0,
"type": "event"
}
```
That explains why we get a step that is missing a "path" component in the
failure. I don't understand why LLDB (or LLDB-DAP) is sometimes unable to load
the module (in time?). But "path" is an optional field anyway, so I think it's
worth handling in dexter even if LLDB's behaviour here is confusing.1 parent 144c93b commit 3b99531
File tree
1 file changed
+8
-1
lines changed- cross-project-tests/debuginfo-tests/dexter/dex/debugger/lldb
1 file changed
+8
-1
lines changedLines changed: 8 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
431 | 431 | | |
432 | 432 | | |
433 | 433 | | |
434 | | - | |
435 | 434 | | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
436 | 443 | | |
437 | 444 | | |
438 | 445 | | |
| |||
0 commit comments