This is an archive of the discontinued LLVM Phabricator instance.

[lldb] Use lldb-server by default on Windows
AbandonedPublic

Authored by stella.stamenova on Jan 18 2022, 10:12 AM.

Details

Summary

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.

Diff Detail

Event Timeline

stella.stamenova requested review of this revision.Jan 18 2022, 10:12 AM
stella.stamenova created this revision.
Herald added a project: Restricted Project. · View Herald TranscriptJan 18 2022, 10:12 AM
labath accepted this revision.Jan 18 2022, 10:24 AM

ship it

This revision is now accepted and ready to land.Jan 18 2022, 10:24 AM
clayborg accepted this revision.Jan 18 2022, 1:56 PM

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.

stella.stamenova abandoned this revision.Jan 20 2022, 10:19 AM

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.