Skip to content

Assertion failure in btree::btree_node::construct_value #2

Description

@smccauliff

This appears to be from this line:
assert(memcmp(zero_value, v, sizeof(value_type)) == 0);

If a new value is being constructed why should it be zero initalized? Commenting out this assert causes segv later in the program.

__GI_raise 0x00007fedd5098f47
__GI_abort 0x00007fedd509a8b1
__assert_fail_base 0x00007fedd508a42a
__GI___assert_fail 0x00007fedd508a4a2
btree::btree_node<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> >::construct_value<std::pair<unsigned long const, app::MessageAndCoverCount> > btree.h:881
btree::btree_node<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> >::construct_value<std::pair<unsigned long const, app::MessageAndCoverCount> > btree.h:894
btree::btree_node<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> >::move_value btree.h:615
btree::btree_node<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> >::rebalance_right_to_left btree.h:1819
btree::btree<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> >::rebalance_or_split btree.h:2351
btree::btree<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> >::internal_emplace<std::piecewise_construct_t const&, std::tuple<unsigned long const&>, std::tuple<> >(btree::btree_iterator<btree::btree_node<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> > const, std::pair<unsigned long const, app::MessageAndCoverCount> const&, std::pair<unsigned long const, app::MessageAndCoverCount> const*>, std::piecewise_construct_t const&, std::tuple<unsigned long const&>&&, std::tuple<>&&) btree.h:2559
btree::btree<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> >::emplace_unique_key_args<std::piecewise_construct_t const&, std::tuple<unsigned long const&>, std::tuple<> >(unsigned long const&, std::piecewise_construct_t const&, std::tuple<unsigned long const&>&&, std::tuple<>&&) btree.h:2122
btree::btree_map_container<btree::btree<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> > >::try_emplace<>(unsigned long const&) map.h:70
btree::btree_map_container<btree::btree<btree::btree_map_params<unsigned long, app::MessageAndCoverCount, std::less, std::allocator<std::pair<unsigned long const, app::MessageAndCoverCount> >, 256> > >::operator[] map.h:118
app::CacheTest::PopulateCache test_cache.cpp:218

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions