Skip to content

[BUILD] Upgrade bazel dependencies#3891

Merged
marcalff merged 10 commits intoopen-telemetry:mainfrom
marcalff:bazel_dependencies_upgrade
Mar 4, 2026
Merged

[BUILD] Upgrade bazel dependencies#3891
marcalff merged 10 commits intoopen-telemetry:mainfrom
marcalff:bazel_dependencies_upgrade

Conversation

@marcalff
Copy link
Copy Markdown
Member

@marcalff marcalff commented Feb 26, 2026

Fixes # (issue)

Changes

Please provide a brief description of the changes here.

  • Upgrade abseil-cpp to version 20250512.1
  • Upgrade grpc to version 1.78.0
  • Upgrade protobuf to version 32.0
  • Upgrade rules_proto to version 7.1.0
  • Upgrade googletest to version 1.17.0
  • Disable the bazel.asan build, due to a known failure with abseil-cpp and gcc

The goal of this change is to untangle the web of dependencies involved with bazel, to allow dependabot to progress further.

To work around the bazel.asan issue, the CI for the asan build needs to use clang instead of gcc, in a separate change.

For significant contributions please make sure you have completed the following items:

  • CHANGELOG.md updated for non-trivial changes
  • Unit tests have been added
  • Changes in public API reviewed

@marcalff marcalff marked this pull request as ready for review February 26, 2026 14:41
@marcalff marcalff requested a review from a team as a code owner February 26, 2026 14:41
@marcalff marcalff marked this pull request as draft February 26, 2026 14:48
@codecov
Copy link
Copy Markdown

codecov Bot commented Feb 26, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.05%. Comparing base (5a66319) to head (d89730a).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main    #3891   +/-   ##
=======================================
  Coverage   90.05%   90.05%           
=======================================
  Files         226      226           
  Lines        7200     7200           
=======================================
  Hits         6483     6483           
  Misses        717      717           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@marcalff
Copy link
Copy Markdown
Member Author

marcalff commented Feb 26, 2026

With:

bazel_dep(name = "abseil-cpp", version = "20250512.1", repo_name = "com_google_absl")

This failure in bazel asan:

external/abseil-cpp+/absl/container/internal/raw_hash_set.h:3617:56:   in 'constexpr' expansion of 'absl::lts_20250512::container_internal::hash_policy_traits<absl::lts_20250512::container_internal::FlatHashMapPolicy<std::basic_string_view<char>, absl::lts_20250512::CommandLineFlag*>, void>::get_hash_slot_fn<absl::lts_20250512::container_internal::StringHash>()'
external/abseil-cpp+/absl/container/internal/hash_policy_traits.h:159:54: error: '(absl::lts_20250512::container_internal::TypeErasedApplyToSlotFn<StringHash, std::basic_string_view<char> > == 0)' is not a constant expression
  159 |     return Policy::template get_hash_slot_fn<Hash>() == nullptr
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
Use --verbose_failures to see the command lines of failed build steps.

is caused by:

@marcalff marcalff marked this pull request as ready for review February 27, 2026 16:25
@ThomsonTan
Copy link
Copy Markdown
Contributor

With:

bazel_dep(name = "abseil-cpp", version = "20250512.1", repo_name = "com_google_absl")

This failure in bazel asan:

external/abseil-cpp+/absl/container/internal/raw_hash_set.h:3617:56:   in 'constexpr' expansion of 'absl::lts_20250512::container_internal::hash_policy_traits<absl::lts_20250512::container_internal::FlatHashMapPolicy<std::basic_string_view<char>, absl::lts_20250512::CommandLineFlag*>, void>::get_hash_slot_fn<absl::lts_20250512::container_internal::StringHash>()'
external/abseil-cpp+/absl/container/internal/hash_policy_traits.h:159:54: error: '(absl::lts_20250512::container_internal::TypeErasedApplyToSlotFn<StringHash, std::basic_string_view<char> > == 0)' is not a constant expression
  159 |     return Policy::template get_hash_slot_fn<Hash>() == nullptr
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
Use --verbose_failures to see the command lines of failed build steps.

is caused by:

Does the block upgrading abseil for bazel in our repo?

@marcalff marcalff added the pr:please-review This PR is ready for review label Feb 28, 2026
@marcalff
Copy link
Copy Markdown
Member Author

marcalff commented Mar 2, 2026

With:

bazel_dep(name = "abseil-cpp", version = "20250512.1", repo_name = "com_google_absl")

This failure in bazel asan:

external/abseil-cpp+/absl/container/internal/raw_hash_set.h:3617:56:   in 'constexpr' expansion of 'absl::lts_20250512::container_internal::hash_policy_traits<absl::lts_20250512::container_internal::FlatHashMapPolicy<std::basic_string_view<char>, absl::lts_20250512::CommandLineFlag*>, void>::get_hash_slot_fn<absl::lts_20250512::container_internal::StringHash>()'
external/abseil-cpp+/absl/container/internal/hash_policy_traits.h:159:54: error: '(absl::lts_20250512::container_internal::TypeErasedApplyToSlotFn<StringHash, std::basic_string_view<char> > == 0)' is not a constant expression
  159 |     return Policy::template get_hash_slot_fn<Hash>() == nullptr
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
Use --verbose_failures to see the command lines of failed build steps.

is caused by:

Does the block upgrading abseil for bazel in our repo?

Yes, this is blocking:

  • either we keep an old and unsupported version of abseil, to pass the bazel_asan build
  • or we disable the asan build, which is what this PR does in ci.yml.

To re enable the asan build, options are:

  • wait for a fix in gcc or a work around in abseil, none are likely to happen
  • disable OTLP GRPC in the asan build, to not depend on abseil
  • change the asan build to use clang + abseil instead of gcc + abseil, since the bug is in gcc itself.

Rework for the asan build needs to be done in a separate PR.

@marcalff marcalff added the issue:blocking This issue is preventing other fixes label Mar 4, 2026
@marcalff marcalff merged commit da8598c into open-telemetry:main Mar 4, 2026
68 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

issue:blocking This issue is preventing other fixes pr:please-review This PR is ready for review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants