build(deps): Align protobuf and related dependencies with the gRPC v1.81.1 bump#8888
Open
mc-nv wants to merge 5 commits into
Open
build(deps): Align protobuf and related dependencies with the gRPC v1.81.1 bump#8888mc-nv wants to merge 5 commits into
mc-nv wants to merge 5 commits into
Conversation
This was referenced Jul 17, 2026
mc-nv
marked this pull request as ready for review
July 18, 2026 00:43
mc-nv
marked this pull request as draft
July 18, 2026 00:50
The protobuf bundled with gRPC v1.81.1 (v33.5) installs utf8_range as a separate CMake package and protobuf-config.cmake references the utf8_range::utf8_validity imported target. find_package(Protobuf CONFIG) with only Protobuf_DIR set fails at generate time with 'the target was not found'. Provide utf8_range_DIR alongside Protobuf_DIR.
…view protobuf v33 (bundled with gRPC v1.81.1) removed the stringpiece_internal namespace; JsonStringToMessage now takes absl::string_view. Also surface a JSON parse failure as an INTERNAL error instead of silently ignoring the returned status.
The python client gRPC stubs are generated with grpcio-tools, which was installed unpinned and floated to the newest PyPI release (1.82.x) after the gRPC v1.81.1 third_party bump. The generated grpc_service_pb2_grpc.py then asserted grpcio>=1.82.1 at import time, while the runtime shipped an older grpcio — breaking every L0 test that imports tritonclient.grpc. Pin grpcio-tools to 1.81.x so the generated stubs track the same gRPC minor as the C++ library, keeping the whole stack on one deterministic train.
mc-nv
force-pushed
the
mchornyi/TRI-1608/cinightly-fix-broken-build
branch
from
July 18, 2026 02:16
f19ec3e to
e898971
Compare
gRPC v1.81 changed its connect failure message from 'connect: Connection refused (111)' to 'Connection refused'. Update the L0_lifecycle shutdown assertions to match.
protobuf v33's libprotobuf.a calls abseil internally (CHECK/LOG, absl::Mutex). The tritonserver executable statically links libprotobuf.a via the gRPC endpoint but only pulled abseil incidentally through metrics (prometheus) or GPU libraries — so minimal build variants (e.g. --enable-tracing without --enable-metrics) failed to link with undefined absl::log_internal / absl::Mutex references (L0_build_variants). Link the protobuf::libprotobuf package target directly so protobuf's own abseil dependencies are placed on the executable's link line. No abseil target is referenced; protobuf carries its own transitive deps.
mc-nv
marked this pull request as ready for review
July 18, 2026 17:31
nv-rinig
reviewed
Jul 20, 2026
| @@ -1,30 +1,7 @@ | |||
| #!/usr/bin/env python3 | |||
|
|
|||
| # Copyright 2018-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved. | |||
Contributor
Author
There was a problem hiding this comment.
it will be reverted later.
| vim \ | ||
| wget && \ | ||
| pip3 install "grpcio>=1.81.1" grpcio-tools && \ | ||
| pip3 install "grpcio>=1.81.1,<1.82" "grpcio-tools>=1.81.1,<1.82" && \ |
There was a problem hiding this comment.
didn't realize bumping grpc would entail so many changes - thank you for shepherding and fixing all these! i assume future bumps may entail similar work?
Contributor
Author
There was a problem hiding this comment.
We may not see such an issue, if we will take dependency management under appropriate control
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does the PR do?
Fixes the nightly server build against protobuf v33 (gRPC v1.81.1 third_party bump):
_FINDPACKAGE_UTF8_RANGE_CONFIG_DIRand passutf8_range_DIRinto the triton-server ExternalProject cache args — protobuf v33's CMake package config now requires theutf8_rangepackage config to resolve.google::protobuf::stringpiece_internal::StringPiecewithabsl::string_viewin the gRPC model-config handler, and surface the previously ignoredJsonStringToMessage()status as an INTERNAL error. (The license header ofgrpc_server.ccwas converted to the SPDX form by the repo pre-commit hooks.)Checklist
<commit_type>: <Title>Related PRs:
Where should the reviewer start?
CMakeLists.txt—_FINDPACKAGE_UTF8_RANGE_CONFIG_DIR/utf8_range_DIRcache argTest plan:
Nightly build pipeline on internal GitLab CI.
Caveats:
None.
Background
The gRPC v1.81.1 / protobuf v33 update in triton-inference-server/third_party#76 broke the nightly build across the Triton repos; this PR chain repairs it.
Related Issues: (use one of the action keywords Closes / Fixes / Resolves / Relates to)
- Resolves: TRI-1608
CI (internal): [#58489960](http://tritonserver.local/ci/pipelines/58489960)