hanchenye-llvm-project/lldb
Jonas Devlieghere 528ce4dd98 [Reproducers] Fix GDB remote flakiness during replay
This fixes the flakiness of the GDB remote reproducer during replay. It
was caused by a combination sending one ACK to many from the replay
server and the code that "flushes" any queued GDB remote packets in
GDBRemoteCommunicationClient::HandshakeWithServer.

The spurious ACK was the result of combining both implicit and explicit
handling of ACKs in the replay server. The handshake consists of an ACK
followed by an QStartNoAckMode. As long as we haven't seen any
QStartNoAckMode, we were sending implicit acknowledgments. So the first
ACK got acknowledged twice, once implicitly, and once as part of the
replay.

The reason we didn't notice this was the code in HandshakeWithServer
that "waits for any responses that might have been queued up in the
remote GDB server and flush them all". A 10ms timeout is used to move on
when no packets are left. If the second ACK didn't make it within those
10ms, all packets were offset by one.

llvm-svn: 356825
2019-03-22 23:33:17 +00:00
..
cmake [CMake] Set LLVM_DEFAULT_EXTERNAL_LIT in standalone build correctly on windows 2019-03-18 21:32:31 +00:00
docs Pass ConstString by value (NFC) 2019-03-06 21:22:25 +00:00
examples Python 2/3 compatibility: from __future__ import print_function 2019-03-21 18:27:40 +00:00
include/lldb Remove the unused return value in ASTImporter::Imported [NFC] 2019-03-20 19:00:25 +00:00
lit [Reproducers] Properly handle QEnvironment packets 2019-03-21 04:08:31 +00:00
lldb.xcodeproj Update DWARF files. 2019-03-20 22:57:33 +00:00
lldb.xcworkspace Remove accidentally commited file in xcshareddata 2019-02-05 23:35:01 +00:00
packages/Python/lldbsuite Revert minidump changes 2019-03-22 20:46:46 +00:00
resources [CMake] Revised LLDB.framework builds 2019-01-04 12:46:50 +00:00
scripts Python 2/3 compatibility: from __future__ import print_function 2019-03-21 18:27:40 +00:00
source [Reproducers] Fix GDB remote flakiness during replay 2019-03-22 23:33:17 +00:00
test [CMake] Make lldb-test-deps a dependency of check-lldb 2019-02-13 20:51:13 +00:00
third_party/Python/module [lldb/thirdparty] Remove unneeded files, asked by Jonas. 2019-03-12 20:41:36 +00:00
tools [lldb] Add missing EINTR handling 2019-03-21 19:35:55 +00:00
unittests [lldb] [Reproducer] Move SBRegistry registration into declaring files 2019-03-19 17:13:13 +00:00
utils Python 2/3 compatibility: from __future__ import print_function 2019-03-21 18:27:40 +00:00
www Pass ConstString by value (NFC) 2019-03-06 21:22:25 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt [cmake] Move LLDB_DISABLE_LIBEDIT handling code into a central place 2019-02-28 16:04:54 +00:00
CODE_OWNERS.txt
INSTALL.txt
LICENSE.TXT Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
use_lldb_suite_root.py