On Linux, when executing lldb-vscode on a remote machine, lldb-vscode doesn't die after the debug session ends. It keeps trying to read JSON input to no avail.
This diff indicates lldb-vscode to stop reading after a termination event has been processed.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Does this have something to do with a multiplexor that funnels traffic through one tunnel? I am curious as to why the ReadJSON() doesn't exit after the other side closes down?
LGTM, but needs a test.
As we discussed privately, some remote connections use a mutiplexor socket that doesn't die when the debug session ends.
lldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py | ||
---|---|---|
46–48 | I don't think we need to run a program. Just send the initialize packet and then the terminate packet, then sleep? |
lldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py | ||
---|---|---|
50–53 | 1 second is pretty short, and I wouldn't be surprised if it causes spurious failures. Using popen.wait() would be _much_ better -- you can use a much larger timeout, while still having the test terminate quickly in the common case. |
lldb/test/API/tools/lldb-vscode/launch/TestVSCode_launch.py | ||
---|---|---|
55–56 | I'll add this to my list of reasons for dropping python2 support. :) |
I don't think we need to run a program. Just send the initialize packet and then the terminate packet, then sleep?