799│ _LIBCPP_HIDE_FROM_ABI constexpr const value_type& operator*() const& noexcept {
800├───> _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(this->has_value(), "optional operator* called on a disengaged value");
801│ return this->__get();
802│ }
#0 std::__1::optional<double>::operator*[abi:se190107]() const & (this=0x80460b038) at /usr/include/c++/v1/optional:800
#1 0x00000008019830bf in arb::make_ion_config (build_data=std::unordered_map with 1 element = {...}, ion_data=std::unordered_map with 3 elements = {...}, initial_iconc_map=std::unordered_map with 1 element = {...},
initial_econc_map=std::unordered_map with 0 elements, initial_rvpot_map=std::unordered_map with 0 elements, data=..., result=std::unordered_map with 0 elements) at /usr/ports/science/arbor/work/arbor-0.11.0/arbor/fvm_layout.cpp:1303
#2 0x000000080197f967 in arb::fvm_build_mechanism_data (gprop=..., cell=..., gj_conns=std::vector of length 0, D=..., cell_idx=0) at /usr/ports/science/arbor/work/arbor-0.11.0/arbor/fvm_layout.cpp:1079
#3 0x00000008019ce3af in arb::fvm_build_mechanism_data(arb::cable_cell_global_properties const&, std::__1::vector<arb::cable_cell, std::__1::allocator<arb::cable_cell> > const&, std::__1::vector<unsigned int, std::__1::allocator<unsigned
int> > const&, std::__1::unordered_map<unsigned int, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> >, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair
<unsigned int const, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> > > > > const&, arb::fvm_cv_discretization const&, arb::execution_context const&)::$_0::operator()(int) const (this=0x8028238f8, i=0)
at /usr/ports/science/arbor/work/arbor-0.11.0/arbor/fvm_layout.cpp:953
#4 0x00000008019ce304 in arb::threading::parallel_for::apply<arb::fvm_build_mechanism_data(arb::cable_cell_global_properties const&, std::__1::vector<arb::cable_cell, std::__1::allocator<arb::cable_cell> > const&, std::__1::vector<unsign
ed int, std::__1::allocator<unsigned int> > const&, std::__1::unordered_map<unsigned int, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> >, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>
, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> > > > > const&, arb::fvm_cv_discretization const&, arb::execution_context const&)::$_0>(int, int,
int, arb::threading::task_system*, arb::fvm_build_mechanism_data(arb::cable_cell_global_properties const&, std::__1::vector<arb::cable_cell, std::__1::allocator<arb::cable_cell> > const&, std::__1::vector<unsigned int, std::__1::allocator
<unsigned int> > const&, std::__1::unordered_map<unsigned int, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> >, std::__1::hash<unsigned int>, std::__1::equal_to<unsigned int>, std::__1::allocator<std::
__1::pair<unsigned int const, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> > > > > const&, arb::fvm_cv_discretization const&, arb::execution_context const&)::$_0)::{lambda()#1}::operator()() const (
this=0x8028238e8) at /usr/ports/science/arbor/work/arbor-0.11.0/arbor/threading/threading.hpp:399
#5 0x00000008019ce218 in arb::threading::task_group::wrap<arb::threading::parallel_for::apply<arb::fvm_build_mechanism_data(arb::cable_cell_global_properties const&, std::__1::vector<arb::cable_cell, std::__1::allocator<arb::cable_cell>
> const&, std::__1::vector<unsigned int, std::__1::allocator<unsigned int> > const&, std::__1::unordered_map<unsigned int, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> >, std::__1::hash<unsigned int>,
std::__1::equal_to<unsigned int>, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> > > > > const&, arb::fvm_cv_discretization const&, arb::execution
_context const&)::$_0>(int, int, int, arb::threading::task_system*, arb::fvm_build_mechanism_data(arb::cable_cell_global_properties const&, std::__1::vector<arb::cable_cell, std::__1::allocator<arb::cable_cell> > const&, std::__1::vector<
unsigned int, std::__1::allocator<unsigned int> > const&, std::__1::unordered_map<unsigned int, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> >, std::__1::hash<unsigned int>, std::__1::equal_to<unsigne
d int>, std::__1::allocator<std::__1::pair<unsigned int const, std::__1::vector<arb::fvm_gap_junction, std::__1::allocator<arb::fvm_gap_junction> > > > > const&, arb::fvm_cv_discretization const&, arb::execution_context const&)::$_0)::{la
mbda()#1}>::operator()() (this=0x8028238e8) at /usr/ports/science/arbor/work/arbor-0.11.0/arbor/threading/threading.hpp:322
Tests now pass fine.
Describe the bug
Call stack:
Adding
-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONEfixes runtime asserts by disabling them.Tests now pass fine.
Context
Version: 0.11.0
clang-19
FreeBSD 15 STABLE