Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-85359

Build failure in vendored Abseil hash set under toolchain GCC shared/dynamic

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 8.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Service Arch
    • Fully Compatible
    • ALL
    • Service Arch 2024-02-19, QO 2024-02-05

      We're experiencing the following build failure.

      [2024/01/10 16:05:42.598] oom_auto_retry.py captured error:
      [2024/01/10 16:05:42.598] In file included from src/third_party/abseil-cpp/dist/absl/container/internal/raw_hash_map.h:24,
      [2024/01/10 16:05:42.598]                  from src/third_party/abseil-cpp/dist/absl/container/node_hash_map.h:48,
      [2024/01/10 16:05:42.598]                  from src/mongo/bson/bson_comparator_interface_base.h:32,
      [2024/01/10 16:05:42.598]                  from src/mongo/bson/bsonobj.h:58,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/query/cqf_get_executor.h:39,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/query/cqf_get_executor.cpp:30:
      [2024/01/10 16:05:42.598] In function 'bool absl::lts_20230802::container_internal::operator==(const absl::lts_20230802::container_internal::raw_hash_set<absl::lts_20230802::container_internal::NodeHashMapPolicy<mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > >, mongo::HashImprover<mongo::sbe::PlanCacheKeyHasher, mongo::sbe::PlanCacheKey>, std::equal_to<mongo::sbe::PlanCacheKey>, std::allocator<std::pair<const mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > > > >::iterator&, const absl::lts_20230802::container_internal::raw_hash_set<absl::lts_20230802::container_internal::NodeHashMapPolicy<mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > >, mongo::HashImprover<mongo::sbe::PlanCacheKeyHasher, mongo::sbe::PlanCacheKey>, std::equal_to<mongo::sbe::PlanCacheKey>, std::allocator<std::pair<const mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > > > >::iterator&)',
      [2024/01/10 16:05:42.598]     inlined from 'bool absl::lts_20230802::container_internal::operator==(const absl::lts_20230802::container_internal::raw_hash_set<absl::lts_20230802::container_internal::NodeHashMapPolicy<mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > >, mongo::HashImprover<mongo::sbe::PlanCacheKeyHasher, mongo::sbe::PlanCacheKey>, std::equal_to<mongo::sbe::PlanCacheKey>, std::allocator<std::pair<const mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > > > >::const_iterator&, const absl::lts_20230802::container_internal::raw_hash_set<absl::lts_20230802::container_internal::NodeHashMapPolicy<mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > >, mongo::HashImprover<mongo::sbe::PlanCacheKeyHasher, mongo::sbe::PlanCacheKey>, std::equal_to<mongo::sbe::PlanCacheKey>, std::allocator<std::pair<const mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > > > >::const_iterator&)' at src/third_party/abseil-cpp/dist/absl/container/internal/raw_hash_set.h:1689:23,
      [2024/01/10 16:05:42.598]     inlined from 'mongo::StatusWith<typename std::__cxx11::list<std::pair<const K*, V> >::iterator> mongo::LRUKeyValue<K, V, KeyValueBudgetEstimator, InsertionEvictionListener, KeyHasher, Eq>::get(const K&) const [with K = mongo::sbe::PlanCacheKey; V = std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> >; KeyValueBudgetEstimator = mongo::sbe::BudgetEstimator; InsertionEvictionListener = mongo::NoopInsertionEvictionListener; KeyHasher = mongo::sbe::PlanCacheKeyHasher; Eq = std::equal_to<mongo::sbe::PlanCacheKey>]' at src/mongo/db/query/lru_key_value.h:198:15:
      [2024/01/10 16:05:42.598] src/third_party/abseil-cpp/dist/absl/container/internal/raw_hash_set.h:1620:56: error: '<unnamed>.absl::lts_20230802::container_internal::raw_hash_set<absl::lts_20230802::container_internal::NodeHashMapPolicy<mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > >, mongo::HashImprover<mongo::sbe::PlanCacheKeyHasher, mongo::sbe::PlanCacheKey>, std::equal_to<mongo::sbe::PlanCacheKey>, std::allocator<std::pair<const mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > > > >::const_iterator::inner_.absl::lts_20230802::container_internal::raw_hash_set<absl::lts_20230802::container_internal::NodeHashMapPolicy<mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > >, mongo::HashImprover<mongo::sbe::PlanCacheKeyHasher, mongo::sbe::PlanCacheKey>, std::equal_to<mongo::sbe::PlanCacheKey>, std::allocator<std::pair<const mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > > > >::iterator::<anonymous>.absl::lts_20230802::container_internal::raw_hash_set<absl::lts_20230802::container_internal::NodeHashMapPolicy<mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > >, mongo::HashImprover<mongo::sbe::PlanCacheKeyHasher, mongo::sbe::PlanCacheKey>, std::equal_to<mongo::sbe::PlanCacheKey>, std::allocator<std::pair<const mongo::sbe::PlanCacheKey, std::_List_iterator<std::pair<const mongo::sbe::PlanCacheKey*, std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> > > > > > >::iterator::<unnamed union>::slot_' is used uninitialized [-Werror=uninitialized]
      [2024/01/10 16:05:42.598]  1620 |       AssertSameContainer(a.ctrl_, b.ctrl_, a.slot_, b.slot_,
      [2024/01/10 16:05:42.598]       |                                                      ~~^~~~~
      [2024/01/10 16:05:42.598] In file included from src/mongo/db/query/partitioned_cache.h:34,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/query/query_stats/query_stats_on_parameter_change.h:38,
      [2024/01/10 16:05:42.598]                  from build/cached/mongo/db/query/query_knobs_gen.h:29,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/query/query_settings/query_framework_serialization.h:35,
      [2024/01/10 16:05:42.598]                  from build/cached/mongo/db/query/find_command_gen.h:44,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/query/find_command.h:32,
      [2024/01/10 16:05:42.598]                  from src/mongo/client/dbclient_cursor.h:49,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/pipeline/expression_context.h:49,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/matcher/expression_with_placeholder.h:45,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/matcher/expression_parser.h:47,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/catalog/collection.h:61,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/query/cqf_get_executor.h:40,
      [2024/01/10 16:05:42.598]                  from src/mongo/db/query/cqf_get_executor.cpp:30:
      [2024/01/10 16:05:42.598] src/mongo/db/query/lru_key_value.h: In member function 'mongo::StatusWith<typename std::__cxx11::list<std::pair<const K*, V> >::iterator> mongo::LRUKeyValue<K, V, KeyValueBudgetEstimator, InsertionEvictionListener, KeyHasher, Eq>::get(const K&) const [with K = mongo::sbe::PlanCacheKey; V = std::shared_ptr<const mongo::PlanCacheEntryBase<mongo::sbe::CachedSbePlan, mongo::plan_cache_debug_info::DebugInfoSBE> >; KeyValueBudgetEstimator = mongo::sbe::BudgetEstimator; InsertionEvictionListener = mongo::NoopInsertionEvictionListener; KeyHasher = mongo::sbe::PlanCacheKeyHasher; Eq = std::equal_to<mongo::sbe::PlanCacheKey>]':
      [2024/01/10 16:05:42.598] src/mongo/db/query/lru_key_value.h:198:15: note: '<anonymous>' declared here
      [2024/01/10 16:05:42.598]   198 |         if (i == _kvMap.end()) {
      [2024/01/10 16:05:42.598]       |             ~~^~~~~~~~~~~~~~~
      [2024/01/10 16:05:42.598] cc1plus: all warnings being treated as errors
      

      This came up in the past https://github.com/abseil/abseil-cpp/pull/237

      But was fixed here https://github.com/abseil/abseil-cpp/commit/b16aeb6756bdab08cdf12d40baab5b51f7d15b16#diff-947f270c4850330dd0a5720001fee9e6817c87c1203469ca213b47c7f58ebfe1R790

            Assignee:
            blake.oler@mongodb.com Blake Oler
            Reporter:
            jess.balint@mongodb.com Jess Balint
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: