Bug ID 25652
Summary [linux] I/O over pty arrives asynchronously, which confuses LLDB
Component All Bugs
According to this <[https://lkml.org/lkml/2015/11/3/795](https://lkml.org/lkml/2015/11/3/795)> discussion, there is basically no guarantee about when will I/O from the inferior process arrive. Specifically, it can arrive after we have it has stopped and we think we have forwarded all of its input. This can cause two problems: - the test suite sometimes checks the output of the process to verify it has done the right thing. The late arrival of this text can cause flakyness. - gdb-remote protocol does not support forwarding I/O when the process is stopped. Currently, we will still attempt to do that and then things will break. The possible fixes for this would be: patching the kernel (which is a possibility they seemed opened (or at least not opposed) to), inserting sleeps or stopping using stdio in tests. Although it is possible to reliably reproduce it with a specially crafted program, I have seen this happen on the buildbot only once. Given that this does not seem to happen very often, it does not seem like a big priority. However, we should do something about the protocol forwarding issue, because when this happens, and we are forwarding I/O, the entire debug session will break down, which is not good.