The current default is to not use lldb-server on Windows, however, lldb-server is more stable than ProcessWindows, so default to using lldb-server.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
So, sadly, I am going to have to backtrack here. When I set LLDB_USE_LLDB_SERVER in my environment and ran the tests, they did appear to be more stable (fewer failures across 10 test runs), but it was all a joke my machine was playing on me.
Running the tests with this current change to default LLDB_USE_LLDB_SERVER to ON has significantly more failures than without. I haven't investigated yet exactly where the failures are coming from, but I did figure out that by default not all variables from the environment are preserved when the tests are executed, so my setting of LLDB_USE_LLDB_SERVER locally did absolutely nothing and it wasn't until it was defaulted to ON that the tests ran as intended.
I'm going to spend a bit of time to see if I can figure out where the failures are coming from, but I suspect it won't be trivial. One of the fun new errors is: error: Execution was interrupted, reason: Attempted to dereference an invalid pointer...
TBH, I am not really surprised by that. My recollection was that windows lldb-server was still missing some features to be a viable replacement, but I was hoping that I have recalled incorrectly.
It'd definitely be interesting to see what the missing pieces are.
I spent a bit of time trying to investigate the failures, but I couldn't make much progress and I don't have time to dedicate to a more thorough investigation. It looks like there are a few tests that outright fail (including some of the shell tests) as well as a number of tests where lldb-server hangs indefinitely causing the whole suite to hang (again, including some shell tests).
I'm going to abandon this change for the moment and see about some of the other suggestion for the tests.