[Lldb-commits] [lldb] [lldb] Fix broken pipe error (PR #127100)

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Fri Feb 14 02:21:54 PST 2025


================
@@ -397,21 +413,23 @@ def connect_to_debug_monitor(self, attach_pid=None):
             # Schedule debug monitor to be shut down during teardown.
             logger = self.logger
 
-            connect_attemps = 0
+            connect_attempts = 0
             MAX_CONNECT_ATTEMPTS = 10
 
-            while connect_attemps < MAX_CONNECT_ATTEMPTS:
-                # Create a socket to talk to the server
-                try:
-                    logger.info("Connect attempt %d", connect_attemps + 1)
-                    self.sock = self.create_socket()
----------------
labath wrote:

This is interesting, but doesn't quite explain how could the connection be established without the other side being present. We may need to dig deeper.

One way I can see this happening is if there is some kind of a port forwarder sitting between the test and the server. Are you sure you don't have one of those?

We already have a [hackaround](https://github.com/llvm/llvm-project/blob/2fdf191e244b62409fd73fa9bb717466d6e683b5/lldb/packages/Python/lldbsuite/test/tools/lldb-server/gdbremote_testcase.py#L258) for that, but it's only enabled on android. Could you check what happens if you remove the android check (and maybe increase the timeout in the sleep call)?

https://github.com/llvm/llvm-project/pull/127100


More information about the lldb-commits mailing list