<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/113315>113315</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            lldb connection lost when using popen
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          Hexlord
      </td>
    </tr>
</table>

<pre>
    This code has 100% repro for connection lost with lldb that prevents debugging e.g. a game that uses popen to invoke shader compilation in real time.
Tested on ubuntu 6.8.0-45-generic with lldb 17.0.6 and lldb 18.1.3

```c++
#include <memory>
#include <thread>
#include <vector>

void thread_func() {
    for(auto i = 0; i < 100; ++i) {
        auto pipe = popen("7z", "r");
        pclose(pipe);
 std::this_thread::sleep_for(std::chrono::milliseconds(100));
 }
}

int main() {

    std::vector<std::thread> threads;
 for(auto i = 0; i < 10; ++i) {
 threads.emplace_back(std::thread(thread_func));
    }
    for(auto &thread : threads) {
        thread.join();
    }
    return 0;
}
```

[lldb.log](https://github.com/user-attachments/files/17477143/lldb.log)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VM2SozgMfhrlogoFNr8HDp3OpvYB5t5lbAU8Y2zKNtmdffotfpLuzkxPijIKkj5JnyyJEHRviVooTlCcD2KOg_Pt3_SvcV4dOqd-tt8GHVA6RTiIgFmaAivQ0-QdXp1H6awlGbWzaFyI-I-OAxqjOoyDiDh5upGNARV1c99r2yMlfYICezHSZjMHCji5iSxGh9re3A_CMAhFC_w4aSNWfG3RkzAY9UgJpGdIX75RiKTQWZy72cYZy6RO0mNeHHuy5LX8kE9WJWlSorBq_18nWcI3nP0s0-2RwE7Ls31lXFtpZkUI_HWk0fmfwP_6nTIOnoT6QnkjGZ1_V67nzWmFm9vbdbYSWA2sQaj24Ii40AysFvNCDgI_Ywr8tIqvaz_4Cbd89S-uy291nPREq-_K8xqFVf8BY8BeERjzq9gAf3KepHGBgNULwCeDEBXwF-AvcdDh7V758iEYoulty_phJQfvrNvkURujA0lnVQBWr3eq-QQO1Xln6SGsp7YRR6HtM03vST8C3ul-_ZDo3p2d8PAe788Uf8nwjpPQOBkh6a0T8sfHoveIrP7U4eaZ6EeRT90GVm6OCPwR7Lc93nTJd3en5mt8T3H2di3wmeL79f80E8VpmZbEuB6KM7B6iHEKS3nsAuzS6zjMXSLdCOwyB_JHEaOQw7gMPbDLVRta3lmVV1WWc2CXBxxrDqrlquGNOFCbVawp07zMs8PQkixER_VV8CuXRVOwXFzLTokyl1LUXXnQLUtZnqWMZTzP0ywp8zyvGi5LqTg1OUGe0ii0SYy5jYnz_UGHMFObZZxnxcGIjky47z3fLlbHbu4D5KnRIYZ3v6ijoXZdGb8su4EszmHZautcHWZv2j8QtGDur-Pk3XeSEdhlTWwlacvt1rL_AwAA___diKD-">