[Lldb-commits] [lldb] c5ecdec - [lldb-dap] start all sent protocol message from number one. (#170378)
via lldb-commits
lldb-commits at lists.llvm.org
Wed Dec 3 00:30:39 PST 2025
Author: Ebuka Ezike
Date: 2025-12-03T08:30:35Z
New Revision: c5ecdec9fb84e6865fe44f69e380afa1291c2adf
URL: https://github.com/llvm/llvm-project/commit/c5ecdec9fb84e6865fe44f69e380afa1291c2adf
DIFF: https://github.com/llvm/llvm-project/commit/c5ecdec9fb84e6865fe44f69e380afa1291c2adf.diff
LOG: [lldb-dap] start all sent protocol message from number one. (#170378)
This aligns with the DAP
[specification](https://microsoft.github.io/debug-adapter-protocol//specification.html#Base_Protocol_ProtocolMessage)
Force it to be an error in test cases.
Added:
Modified:
lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
lldb/tools/lldb-dap/DAP.cpp
lldb/tools/lldb-dap/Protocol/ProtocolBase.h
Removed:
################################################################################
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
index 4a7ba78b63993..7a9d5a82983d7 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
@@ -391,7 +391,7 @@ def _process_recv_packets(self) -> None:
with self._recv_condition:
for packet in self._recv_packets:
if packet and ("seq" not in packet or packet["seq"] == 0):
- warnings.warn(
+ raise ValueError(
f"received a malformed packet, expected 'seq != 0' for {packet!r}"
)
# Handle events that may modify any stateful properties of
diff --git a/lldb/tools/lldb-dap/DAP.cpp b/lldb/tools/lldb-dap/DAP.cpp
index 465d85a07bd34..6971bfea5c128 100644
--- a/lldb/tools/lldb-dap/DAP.cpp
+++ b/lldb/tools/lldb-dap/DAP.cpp
@@ -274,8 +274,11 @@ Id DAP::Send(const Message &message) {
std::lock_guard<std::mutex> guard(call_mutex);
Message msg = std::visit(
[this](auto &&msg) -> Message {
- if (msg.seq == kCalculateSeq)
- msg.seq = seq++;
+ if (msg.seq == kCalculateSeq) {
+ seq++;
+ msg.seq = seq;
+ }
+ assert(msg.seq > 0 && "message sequence must be greater than zero.");
return msg;
},
Message(message));
diff --git a/lldb/tools/lldb-dap/Protocol/ProtocolBase.h b/lldb/tools/lldb-dap/Protocol/ProtocolBase.h
index 42c6c8890af24..09ce6802b17c0 100644
--- a/lldb/tools/lldb-dap/Protocol/ProtocolBase.h
+++ b/lldb/tools/lldb-dap/Protocol/ProtocolBase.h
@@ -31,11 +31,11 @@ namespace lldb_dap::protocol {
// MARK: Base Protocol
/// Message unique identifier type.
-using Id = int64_t;
+using Id = uint64_t;
/// A unique identifier that indicates the `seq` field should be calculated by
/// the current session.
-static constexpr Id kCalculateSeq = INT64_MAX;
+static constexpr Id kCalculateSeq = UINT64_MAX;
/// A client or debug adapter initiated request.
struct Request {
More information about the lldb-commits
mailing list