https://github.com/DavidSpickett created 
https://github.com/llvm/llvm-project/pull/212256

This test has been flaky on x86 Github CI. It expects: 
[  0] {{.*}} 0x0000000000ee0000 {{.*}}module_load
[  1] {{.*}} 0x0000000000ef0000 {{.*}}[vdso]

However in one run it got:
[ 0] 98FC07B8 0x0000000000ef0000 [vdso] (0xef0000)
[ 1] 75B11BBB-EF8B-5645-B9B1-A7261EC8ABCF-05413284 0x0000000000ed8ed0 
/home/gha/actions-runner/bin/Runner.Worker

This happened because the responder says it's debugging PID 0x47, which is 
usually some root process that we cannot read the /proc/pid/exe link for. 
However when it is readable, we will assume that is the program file and it 
replaces the "module_load" entry.

In the failing case, 0x47 happened to be a github runner process that lldb 
could get the exe for.

I was able to reproduce this by putting a long sleep in the background and 
replacing 0x47 with that sleep's PID.

The test does not need to give a PID to check what it's checking, so I've 
removed it and now there's no PID to clash with.

>From 56ecb67e4f049dc7c7bd41b1e5cec87aec38c8db Mon Sep 17 00:00:00 2001
From: David Spickett <[email protected]>
Date: Mon, 27 Jul 2026 13:44:04 +0000
Subject: [PATCH] [lldb][test] Do not return a PID in TestGdbClientModuleLoad

This test has been flaky on x86 Github CI. It expects:
VDSO: [  0] {{.*}} 0x0000000000ee0000 {{.*}}module_load
VDSO: [  1] {{.*}} 0x0000000000ef0000 {{.*}}[vdso]

However in one run it got:
[ 0] 98FC07B8 0x0000000000ef0000 [vdso] (0xef0000)
[ 1] 75B11BBB-EF8B-5645-B9B1-A7261EC8ABCF-05413284 0x0000000000ed8ed0 
/home/gha/actions-runner/bin/Runner.Worker

This happened because the responder says it's debugging PID
0x47, which is usually some root process that we cannot read
the /proc/pid/exe link for. However when it is readable, we
will assume that is the program file and it replaces the
"module_load" entry.

In the failing case, 0x47 happened to be a github runner process
that lldb could get the exe for.

I was able to reproduce this by putting a long sleep in the
background and replacing 0x47 with that sleep's PID.

The test does not need to give a PID to check what it's
checking, so I've removed it and now there's no PID to clash
with.
---
 .../gdb_remote_client/TestGdbClientModuleLoad.py       | 10 +---------
 1 file changed, 1 insertion(+), 9 deletions(-)

diff --git 
a/lldb/test/API/functionalities/gdb_remote_client/TestGdbClientModuleLoad.py 
b/lldb/test/API/functionalities/gdb_remote_client/TestGdbClientModuleLoad.py
index 2286c384d2320..8c7a1239ebe18 100644
--- a/lldb/test/API/functionalities/gdb_remote_client/TestGdbClientModuleLoad.py
+++ b/lldb/test/API/functionalities/gdb_remote_client/TestGdbClientModuleLoad.py
@@ -59,16 +59,8 @@ def qXferRead(self, obj, annex, offset, length):
         else:
             return None, False
 
-    def qfThreadInfo(self):
-        return "m47"
-
-    def qsThreadInfo(self):
-        return "l"
-
     def qProcessInfo(self):
-        return "pid:47;ptrsize:8;endian:little;triple:%s;" % hex_encode_bytes(
-            self._triple
-        )
+        return "ptrsize:8;endian:little;triple:%s;" % 
hex_encode_bytes(self._triple)
 
     def setBreakpoint(self, packet):
         return "OK"

_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to