Files
logos-cpp-sdk/flake.lock
T
Dario LipicarandClaude Opus 5 8c3d7d4253 chore(deps): bump logos-protocol to 3a31c91d (off-strand socket close races) (#128)
Picks up logos-protocol #38 and #39, two off-strand socket-close races in
the plain (tcp / tcp_ssl) transports:

  #38 RpcConnection::fail() closed the socket on the caller's thread while
      every other stream access was serialized on m_strand, racing
      kqueue_reactor::start_op and segfaulting the client on teardown.
  #39 The same class of bug on RpcServer's acceptor.

Both are FALSE NEGATIVES rather than lost work: the RPC completes and
prints its correct result, then teardown crashes, so a caller that checks
the exit code before parsing stdout reports a healthy call as failed.
Measured at ~0.45% of calls over tcp/tcp_ssl, zero over local/QtRO.

logos-cpp-sdk ships no protocol runtime code of its own -- the generator
only #includes protocol headers (logos_provider_interface.h,
logos_json_convert.h) and the header-only SDK does not link it at all.
So this is a propagation bump: it is cpp-sdk's pin that downstream repos
inherit through `follows`.

Verification:
  * The lock has exactly one logos-protocol node and it is on 3a31c91d;
    no other node in the closure carries a protocol input.
  * The real (unwrapped) generator binary is BYTE-IDENTICAL across the
    bump -- sha256 1ceb6b9d2517d58f...; only the Nix wrapper differs, and
    only in its own embedded store path. Explained by the upstream diff,
    which touches solely cpp/implementations/plain/rpc_{connection,server}.*
    plus protocol's own tests.
  * Emitted-code equivalence over the workspace corpus, base vs bumped
    generator: 142 invocation pairs / 469 emitted files, zero differences,
    across --general-only (--interface and --dep, both --api-style qt and
    lp), --lidl, --lidl --backend cdylib --impl-class, --from-header
    --backend cdylib, and --header-to-lidl. Harness sensitivity proved by
    a qt-vs-lp negative control (42/42 differ) and by input mutation
    (39/39 successful runs change).
  * Unit tests: 218/218 pass, identical to origin/master (218/218).

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 17:05:09 -03:00

102 lines
2.4 KiB
JSON

{
"nodes": {
"logos-lidl": {
"inputs": {
"logos-nix": [
"logos-nix"
],
"nixpkgs": [
"logos-lidl",
"logos-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1785470541,
"narHash": "sha256-5fVAbSGMRhEfRXfhaoq26LZeJuziRT/NMFsfhtd0ogA=",
"owner": "logos-co",
"repo": "logos-lidl",
"rev": "35f33d87b7d6c22d9d4658c58855ae887ce515f1",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-lidl",
"type": "github"
}
},
"logos-nix": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1774455309,
"narHash": "sha256-3AN7aFnArdysrbQQ2UskWzjNSFADb4hDCsnx69Fa0ng=",
"owner": "logos-co",
"repo": "logos-nix",
"rev": "e637a1f5e871244d1c2df1e3c52a067f2eb406f2",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-nix",
"type": "github"
}
},
"logos-protocol": {
"inputs": {
"logos-nix": [
"logos-nix"
],
"nixpkgs": [
"logos-protocol",
"logos-nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1785523697,
"narHash": "sha256-8WdoCJDLNR/aLkcmeY8CeAZlTIN8ulG/7N1ZFEVDdsQ=",
"owner": "logos-co",
"repo": "logos-protocol",
"rev": "3a31c91d1322dae053bbe28b6e3f441fabcc2162",
"type": "github"
},
"original": {
"owner": "logos-co",
"repo": "logos-protocol",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1759036355,
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"logos-lidl": "logos-lidl",
"logos-nix": "logos-nix",
"logos-protocol": "logos-protocol",
"nixpkgs": [
"logos-nix",
"nixpkgs"
]
}
}
},
"root": "root",
"version": 7
}