Open jjerphan opened 1 month ago
I can reproduce this on an M3 mac using master branch environment_unix.yml but with libcxx
unconstrained. I needed to manually change the use of posix_memalign
rather than memalign
(issue #1322).
For me the failed tests are:
The following tests FAILED:
1 - Async.SinkBasic (SIGTRAP)
2 - Async.DeDupTest (SIGTRAP)
25 - Segment.RoundtripTimeseriesDescriptorWriteToBufferV2 (SIGTRAP)
29 - SegmentHeader.SerializeUnserializeV1 (SIGTRAP)
208 - LMDBStorageTestBase.WriteMapFullError (Failed)
409 - TestEmbedded/SimpleTestSuite.Example/lmdb # GetParam() = 24-byte object <6C-6D 64-62 00-00 00-00 47-00 00-00 00-00 00-00 48-00 00-00 00-00 00-04> (SIGTRAP)
413 - AllStoragesCommonTests/GenericStorageTest.WriteDuplicateKeyException/(ptr = 0x6000018aa7d8, value = 8-byte object <50-EB AC-02 01-00 00-00>) (SIGTRAP)
so similar to but not identical to above.
Running these individually under lldb
gives me for most of the failures:
$ lldb ./arcticdb/test_unit_arcticdb
(lldb) run --gtest_filter=Async.SinkBasic
Process 27309 launched: '/Users/iant/github/ArcticDB/cpp/out/darwin-conda-debug-build/arcticdb/test_unit_arcticdb' (arm64)
Note: Google Test filter = Async.SinkBasic
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from Async
[ RUN ] Async.SinkBasic
Process 27309 stopped
* thread #5, name = 'IOPool0', stop reason = EXC_BREAKPOINT (code=1, subcode=0x100546c40)
frame #0: 0x0000000100546c40 test_unit_arcticdb`arcticdb::SegmentHeader::serialize_to_bytes(unsigned char*, std::__1::optional<unsigned long>) const [inlined] std::__1::optional<unsigned long>::operator*[abi:fe180100](this= Has Value=false ) & at optional:806:5
803 }
804
805 _LIBCPP_HIDE_FROM_ABI constexpr value_type& operator*() & noexcept {
-> 806 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(this->has_value(), "optional operator* called on a disengaged value");
807 return this->__get();
808 }
809
Target 0: (test_unit_arcticdb) stopped.
The one exception is SegmentHeader.SerializeUnserializeV1
:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x100540774)
frame #0: 0x0000000100540774 test_unit_arcticdb`arcticdb::copy_encoded_field_to_proto(arcticdb::EncodedFieldImpl const&, arcticc::pb2::encoding_pb2::EncodedField&) [inlined] std::__1::array<arcticdb::Block, 1ul>::operator[][abi:fe180100](this=<unavailable>, __n=<unavailable>) const at array:238:5
235 return __elems_[__n];
236 }
237 _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const_reference operator[](size_type __n) const _NOEXCEPT {
-> 238 _LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(__n < _Size, "out-of-bounds access in std::array<T, N>");
239 return __elems_[__n];
240 }
Example backtraces for SegmentHeader.SerializeUnserializeV1
:
* thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=1, subcode=0x100540774)
* frame #0: 0x0000000100540774 test_unit_arcticdb`arcticdb::copy_encoded_field_to_proto(arcticdb::EncodedFieldImpl const&, arcticc::pb2::encoding_pb2::EncodedField&) [inlined] std::__1::array<arcticdb::Block, 1ul>::operator[][abi:fe180100](this=<unavailable>, __n=<unavailable>) const at array:238:5
frame #1: 0x0000000100540774 test_unit_arcticdb`arcticdb::copy_encoded_field_to_proto(arcticdb::EncodedFieldImpl const&, arcticc::pb2::encoding_pb2::EncodedField&) [inlined] arcticdb::EncodedFieldImpl::shapes(this=0x0000000156053480, n=1) const at encoded_field.hpp:312:60
frame #2: 0x000000010054075c test_unit_arcticdb`arcticdb::copy_encoded_field_to_proto(input=0x0000000156053480, output=<unavailable>) at protobuf_mappings.cpp:93:40
frame #3: 0x00000001005411d4 test_unit_arcticdb`arcticdb::generate_v1_header(header=0x000000016fdfdbf0, desc=0x000000016fdfdb50) at segment.cpp:25:9
frame #4: 0x000000010009d808 test_unit_arcticdb`SegmentHeader_SerializeUnserializeV1_Test::TestBody(this=<unavailable>) at test_segment_header.cpp:74:18
frame #5: 0x0000000105d05f64 libgtest.1.15.0.dylib`void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) + 96
frame #6: 0x0000000105d05eb0 libgtest.1.15.0.dylib`testing::Test::Run() + 800
frame #7: 0x0000000105d074b4 libgtest.1.15.0.dylib`testing::TestInfo::Run() + 952
frame #8: 0x0000000105d0877c libgtest.1.15.0.dylib`testing::TestSuite::Run() + 1004
frame #9: 0x0000000105d1a950 libgtest.1.15.0.dylib`testing::internal::UnitTestImpl::RunAllTests() + 1592
frame #10: 0x0000000105d1a0d4 libgtest.1.15.0.dylib`bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) + 96
frame #11: 0x0000000105d1a024 libgtest.1.15.0.dylib`testing::UnitTest::Run() + 140
frame #12: 0x0000000100332790 test_unit_arcticdb`main [inlined] RUN_ALL_TESTS() at gtest.h:2334:73
frame #13: 0x0000000100332788 test_unit_arcticdb`main(argc=1, argv=<unavailable>) at gtest_main.cpp:15:16
frame #14: 0x0000000191ebe0e0 dyld`start + 2360
and Async.SinkBasic
:
* thread #5, name = 'IOPool0', stop reason = EXC_BREAKPOINT (code=1, subcode=0x100546c40)
* frame #0: 0x0000000100546c40 test_unit_arcticdb`arcticdb::SegmentHeader::serialize_to_bytes(unsigned char*, std::__1::optional<unsigned long>) const [inlined] std::__1::optional<unsigned long>::operator*[abi:fe180100](this= Has Value=false ) & at optional:806:5
frame #1: 0x0000000100546c40 test_unit_arcticdb`arcticdb::SegmentHeader::serialize_to_bytes(this=0x00000001238059a0, dst=<unavailable>, expected_bytes= Has Value=false ) const at segment_header.cpp:31:139
frame #2: 0x00000001005440a8 test_unit_arcticdb`arcticdb::Segment::write_to(unsigned char*) [inlined] arcticdb::Segment::write_binary_header(this=0x00000001238059a0, dst="\xff\xff\xff") const at segment.cpp:253:34
frame #3: 0x0000000100544094 test_unit_arcticdb`arcticdb::Segment::write_to(this=0x00000001238059a0, dst="\xff\xff\xff") at segment.cpp:341:23
frame #4: 0x0000000101809b44 test_unit_arcticdb`arcticdb::storage::lmdb::RealLmdbClient::write(this=<unavailable>, (null)=<unavailable>, path=<unavailable>, seg=0x00000001238059a0, txn=0x000000017002a3b8, dbi=0x000060000123e760, overwrite_flag=16) at lmdb_real_client.cpp:57:9
frame #5: 0x000000010180ab9c test_unit_arcticdb`arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&) at lmdb_storage.cpp:81:31
frame #6: 0x000000010180aa8c test_unit_arcticdb`arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&) [inlined] void folly::gen::GenImpl<folly::gen::Group<arcticdb::entity::KeyType, arcticdb::storage::KeySegmentPair>&&, folly::gen::detail::GroupBy<arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&)::$_0>::Generator<arcticdb::storage::KeySegmentPair const&&, folly::gen::detail::Map<folly::gen::Move>::Generator<arcticdb::storage::KeySegmentPair const&, folly::gen::detail::CopiedSource<arcticdb::storage::KeySegmentPair, std::__1::vector<arcticdb::storage::KeySegmentPair, std::__1::allocator<arcticdb::storage::KeySegmentPair>>>, arcticdb::storage::KeySegmentPair const&&>, arcticdb::storage::KeySegmentPair, arcticdb::entity::KeyType, arcticdb::entity::KeyType>>::foreach<arcticdb::storage::lmdb::LmdbStorage::do_write_internal(this=<unavailable>, value=0x000000017002a268)::$_1>(arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&)::$_1&&) const::'lambda'(folly::gen::Group<arcticdb::entity::KeyType, arcticdb::storage::KeySegmentPair>&&)::operator()(folly::gen::Group<arcticdb::entity::KeyType, arcticdb::storage::KeySegmentPair>&&) const at Core-inl.h:173:7
frame #7: 0x000000010180aa8c test_unit_arcticdb`arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&) at Base-inl.h:1164:14
frame #8: 0x000000010180aa14 test_unit_arcticdb`arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&) [inlined] void folly::gen::GenImpl<folly::gen::Group<arcticdb::entity::KeyType, arcticdb::storage::KeySegmentPair>&&, folly::gen::detail::GroupBy<arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&)::$_0>::Generator<arcticdb::storage::KeySegmentPair const&&, folly::gen::detail::Map<folly::gen::Move>::Generator<arcticdb::storage::KeySegmentPair const&, folly::gen::detail::CopiedSource<arcticdb::storage::KeySegmentPair, std::__1::vector<arcticdb::storage::KeySegmentPair, std::__1::allocator<arcticdb::storage::KeySegmentPair>>>, arcticdb::storage::KeySegmentPair const&&>, arcticdb::storage::KeySegmentPair, arcticdb::entity::KeyType, arcticdb::entity::KeyType>>::foreach<arcticdb::storage::lmdb::LmdbStorage::do_write_internal(arcticdb::Composite<arcticdb::storage::KeySegmentPair>&&, lmdb::txn&)::$_1>(this=0x000000017002a300, body=<unavailable>) const at Core-inl.h:171:18
frame #9: 0x000000010180aa14 test_unit_arcticdb`arcticdb::storage::lmdb::LmdbStorage::do_write_internal(this=0x0000600002f304c8, kvs=<unavailable>, txn=0x000000017002a3b8) at lmdb_storage.cpp:68:65
frame #10: 0x000000010180b174 test_unit_arcticdb`arcticdb::storage::lmdb::LmdbStorage::do_write(this=0x0000600002f304c8, kvs=0x000000017002a408) at lmdb_storage.cpp:100:5
frame #11: 0x00000001000283d0 test_unit_arcticdb`arcticdb::async::WriteSegmentTask::operator()(this=0x0000600002134508, key_seg=0x0000600002134588) const at tasks.hpp:180:15
frame #12: 0x0000000100060070 test_unit_arcticdb`folly::Try<std::__1::variant<arcticdb::entity::AtomKeyImpl, arcticdb::entity::RefKey>> folly::futures::detail::InvokeResultWrapperBase<folly::Try<std::__1::variant<arcticdb::entity::AtomKeyImpl, arcticdb::entity::RefKey>>>::wrapResult<auto folly::futures::detail::wrapInvoke<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>(folly::Try<arcticdb::storage::KeySegmentPair>&&, arcticdb::async::WriteSegmentTask&&)::'lambda'()>(arcticdb::storage::KeySegmentPair) [inlined] auto folly::futures::detail::wrapInvoke<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>(this=<unavailable>)::'lambda'()::operator()() const at Future-inl.h:93:12
frame #13: 0x0000000100060058 test_unit_arcticdb`folly::Try<std::__1::variant<arcticdb::entity::AtomKeyImpl, arcticdb::entity::RefKey>> folly::futures::detail::InvokeResultWrapperBase<folly::Try<std::__1::variant<arcticdb::entity::AtomKeyImpl, arcticdb::entity::RefKey>>>::wrapResult<auto folly::futures::detail::wrapInvoke<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>(folly::Try<arcticdb::storage::KeySegmentPair>&&, arcticdb::async::WriteSegmentTask&&)::'lambda'()>(fn=<unavailable>) at Future-inl.h:68:14
frame #14: 0x000000010005ffa4 test_unit_arcticdb`std::__1::enable_if<isTry<folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::value, folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::type folly::makeTryWith<std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::'lambda'()>(arcticdb::async::WriteSegmentTask&&) [inlined] auto folly::futures::detail::wrapInvoke<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>(t=0x0000600002134580, f=0x0000600002134508) at Future-inl.h:103:10
frame #15: 0x000000010005ff64 test_unit_arcticdb`std::__1::enable_if<isTry<folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::value, folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::type folly::makeTryWith<std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::'lambda'()>(arcticdb::async::WriteSegmentTask&&) [inlined] folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(this=0x0000600002134508, (null)=<unavailable>, t=0x0000600002134580) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&) at Future-inl.h:988:12
frame #16: 0x000000010005ff64 test_unit_arcticdb`std::__1::enable_if<isTry<folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::value, folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::type folly::makeTryWith<std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::'lambda'()>(arcticdb::async::WriteSegmentTask&&) [inlined] auto folly::futures::detail::CoreCallbackState<std::__1::variant<arcticdb::entity::AtomKeyImpl, arcticdb::entity::RefKey>, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)>::invoke<folly::Executor::KeepAlive<folly::Executor>, folly::Try<arcticdb::storage::KeySegmentPair>>(this=0x0000600002134508, args=<unavailable>, args=0x0000600002134580) at Future-inl.h:139:12
frame #17: 0x000000010005ff58 test_unit_arcticdb`std::__1::enable_if<isTry<folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::value, folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::type folly::makeTryWith<std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::'lambda'()>(arcticdb::async::WriteSegmentTask&&) [inlined] decltype(auto) folly::futures::detail::detail_msvc_15_7_workaround::invoke<folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::CoreCallbackState<std::__1::variant<arcticdb::entity::AtomKeyImpl, arcticdb::entity::RefKey>, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)>, arcticdb::storage::KeySegmentPair, 0>((null)=<unavailable>, state=0x0000600002134508, ka=<unavailable>, t=0x0000600002134580) at Future-inl.h:331:16
frame #18: 0x000000010005ff58 test_unit_arcticdb`std::__1::enable_if<isTry<folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::value, folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::type folly::makeTryWith<std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::'lambda'()>(arcticdb::async::WriteSegmentTask&&) [inlined] std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(this=<unavailable>) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::'lambda'()::operator()() const at Future-inl.h:378:33
frame #19: 0x000000010005ff48 test_unit_arcticdb`std::__1::enable_if<isTry<folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::value, folly::invoke_detail::traits<arcticdb::async::WriteSegmentTask>::result<>>::type folly::makeTryWith<std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::'lambda'()>(f=0x000000017002a5d0) at Try-inl.h:285:12
frame #20: 0x000000010005fd04 test_unit_arcticdb`std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(this=0x0000600002134508, ka=0x000000017002a820, t=0x0000600002134580) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)::operator()(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&) at Future-inl.h:377:48
frame #21: 0x000000010005fc00 test_unit_arcticdb`void folly::futures::detail::Core<arcticdb::storage::KeySegmentPair>::setCallback<std::__1::enable_if<!folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(this=0x0000600002134508, coreBase=0x0000600002134500, ka=0x000000017002a820, ew=<unavailable>) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::ReturnsFuture::value, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>::Return>::type folly::futures::detail::FutureBase<arcticdb::storage::KeySegmentPair>::thenImplementation<folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>>(arcticdb::async::WriteSegmentTask&&, folly::futures::detail::tryExecutorCallableResult<arcticdb::storage::KeySegmentPair, folly::Future<folly::futures::detail::valueCallableResult<arcticdb::storage::KeySegmentPair, arcticdb::async::WriteSegmentTask>::value_type> folly::Future<arcticdb::storage::KeySegmentPair>::thenValue<arcticdb::async::WriteSegmentTask>(arcticdb::async::WriteSegmentTask&&) &&::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&), void>, folly::futures::detail::InlineContinuation)::'lambda'(folly::Executor::KeepAlive<folly::Executor>&&, folly::Try<arcticdb::storage::KeySegmentPair>&&)>(arcticdb::async::WriteSegmentTask&&, std::__1::shared_ptr<folly::RequestContext>&&, folly::futures::detail::InlineContinuation)::'lambda'(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*)::operator()(folly::futures::detail::CoreBase&, folly::Executor::KeepAlive<folly::Executor>&&, folly::exception_wrapper*) at Core.h:629:7
frame #22: 0x00000001069e94f0 libfolly.0.58.0-dev.dylib`folly::futures::detail::CoreBase::doCallback(folly::Executor::KeepAlive<folly::Executor>&&, folly::futures::detail::State)::$_0::operator()(folly::Executor::KeepAlive<folly::Executor>&&) + 88
frame #23: 0x0000000106970e7c libfolly.0.58.0-dev.dylib`folly::ThreadPoolExecutor::runTask(std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread> const&, folly::ThreadPoolExecutor::Task&&) + 304
frame #24: 0x00000001069650b4 libfolly.0.58.0-dev.dylib`void folly::detail::function::FunctionTraits<void ()>::callBig<folly::IOThreadPoolExecutor::add(folly::Function<void ()>, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000l>>, folly::Function<void ()>)::$_0>(folly::detail::function::Data&) + 76
frame #25: 0x0000000106a2d9d0 libfolly.0.58.0-dev.dylib`folly::AtomicNotificationQueueTaskStatus folly::detail::invokeConsumerWithTask<folly::Function<void ()>, folly::EventBase::FuncRunner&, void, void, void>(folly::EventBase::FuncRunner&, folly::Function<void ()>&&, std::__1::shared_ptr<folly::RequestContext>&&) + 104
frame #26: 0x0000000106a2d754 libfolly.0.58.0-dev.dylib`bool folly::AtomicNotificationQueue<folly::Function<void ()>>::drive<folly::EventBase::FuncRunner&>(folly::EventBase::FuncRunner&) + 348
frame #27: 0x0000000106a2fe04 libfolly.0.58.0-dev.dylib`folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::execute() + 48
frame #28: 0x0000000106a31ff0 libfolly.0.58.0-dev.dylib`non-virtual thunk to folly::EventBaseAtomicNotificationQueue<folly::Function<void ()>, folly::EventBase::FuncRunner>::handlerReady(unsigned short) + 16
frame #29: 0x0000000106a36a38 libfolly.0.58.0-dev.dylib`folly::EventHandler::libeventCallback(int, short, void*) + 116
frame #30: 0x0000000107244518 libevent-2.1.7.dylib`event_process_active_single_queue + 1636
frame #31: 0x00000001072409a0 libevent-2.1.7.dylib`event_base_loop + 1620
frame #32: 0x0000000106a2f33c libfolly.0.58.0-dev.dylib`folly::EventBase::loopMain(int, bool) + 340
frame #33: 0x0000000106a2eb9c libfolly.0.58.0-dev.dylib`folly::EventBase::loop() + 112
frame #34: 0x0000000106a303c4 libfolly.0.58.0-dev.dylib`folly::EventBase::loopForever() + 60
frame #35: 0x0000000106963688 libfolly.0.58.0-dev.dylib`folly::IOThreadPoolExecutor::threadRun(std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread>) + 412
frame #36: 0x0000000106971bcc libfolly.0.58.0-dev.dylib`std::__1::__bind_return<void (folly::ThreadPoolExecutor::*)(std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread>), std::__1::tuple<folly::ThreadPoolExecutor*, std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread>>, std::__1::tuple<>, __is_valid_bind_return<void (folly::ThreadPoolExecutor::*)(std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread>), std::__1::tuple<folly::ThreadPoolExecutor*, std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread>>, std::__1::tuple<>>::value>::type std::__1::__bind<void (folly::ThreadPoolExecutor::*)(std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor*, std::__1::shared_ptr<folly::ThreadPoolExecutor::Thread>&>::operator()[abi:v160006]<>() + 92
frame #37: 0x0000000100019ae0 test_unit_arcticdb`void* std::__1::__thread_proxy[abi:fe180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>>(void*) [inlined] folly::detail::function::FunctionTraits<void ()>::operator()(this=0x0000600003438008) at Function.h:374:12
frame #38: 0x0000000100019ad4 test_unit_arcticdb`void* std::__1::__thread_proxy[abi:fe180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>>(void*) [inlined] folly::NamedThreadFactory::newThread(this=0x0000600003438008)>&&)::'lambda'()::operator()() at NamedThreadFactory.h:40:11
frame #39: 0x0000000100019ad4 test_unit_arcticdb`void* std::__1::__thread_proxy[abi:fe180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>>(void*) [inlined] decltype(std::declval<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>()()) std::__1::__invoke[abi:fe180100]<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(__f=0x0000600003438008) at invoke.h:344:25
frame #40: 0x0000000100019ad4 test_unit_arcticdb`void* std::__1::__thread_proxy[abi:fe180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>>(void*) [inlined] void std::__1::__thread_execute[abi:fe180100]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(__t=size=2, (null)=<unavailable>) at thread.h:193:3
frame #41: 0x0000000100019ab0 test_unit_arcticdb`void* std::__1::__thread_proxy[abi:fe180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>>(__vp=0x0000600003438000) at thread.h:202:3
frame #42: 0x0000000192246f94 libsystem_pthread.dylib`_pthread_start + 136
Full list of packages in micromamba
environment:
Name Version Build Channel
─────────────────────────────────────────────────────────────────────────────────
asv 0.6.3 py310hcf9f62a_1 conda-forge
asv_runner 0.2.1 pyhd8ed1ab_0 conda-forge
attrs 23.2.0 pyh71513ae_0 conda-forge
aws-c-auth 0.7.3 h109ad1a_1 conda-forge
aws-c-cal 0.6.1 hb406d48_1 conda-forge
aws-c-common 0.9.0 hb547adb_0 conda-forge
aws-c-compression 0.2.17 he70778a_2 conda-forge
aws-c-event-stream 0.3.1 hcf14f3f_4 conda-forge
aws-c-http 0.7.11 hcbec455_4 conda-forge
aws-c-io 0.13.32 he8ad1d2_1 conda-forge
aws-c-mqtt 0.9.3 hf45dd20_1 conda-forge
aws-c-s3 0.3.14 hf0e1321_1 conda-forge
aws-c-sdkutils 0.1.12 he70778a_1 conda-forge
aws-checksums 0.1.17 he70778a_1 conda-forge
aws-crt-cpp 0.21.0 hda227cd_5 conda-forge
aws-sdk-cpp 1.10.57 h1190f42_19 conda-forge
aws-xray-sdk 2.14.0 pyhd8ed1ab_0 conda-forge
azure-core 1.30.2 pyhd8ed1ab_0 conda-forge
azure-core-cpp 1.13.0 hd01fc5c_0 conda-forge
azure-identity 1.17.1 pyhd8ed1ab_0 conda-forge
azure-identity-cpp 1.8.0 h13ea094_2 conda-forge
azure-storage-blob 12.21.0 pyhd8ed1ab_0 conda-forge
azure-storage-blobs-cpp 12.12.0 hfde595f_0 conda-forge
azure-storage-common-cpp 12.7.0 hcf3b6fd_1 conda-forge
backports.zoneinfo 0.2.1 py310hbe9552e_8 conda-forge
benchmark 1.8.5 h00cdb27_0 conda-forge
bitmagic 7.13.4 hce30654_0 conda-forge
blinker 1.8.2 pyhd8ed1ab_0 conda-forge
boto3 1.34.150 pyhd8ed1ab_0 conda-forge
botocore 1.34.150 pyge310_1234567_0 conda-forge
brotli-python 1.0.9 py310h0f1eb42_9 conda-forge
bzip2 1.0.8 h99b78c6_7 conda-forge
c-ares 1.32.3 h99b78c6_0 conda-forge
c-compiler 1.7.0 h6aa9301_1 conda-forge
ca-certificates 2024.7.4 hf0a4a13_0 conda-forge
cairo 1.18.0 hc6c324b_2 conda-forge
cctools 986 h4faf515_0 conda-forge
cctools_osx-arm64 986 h62378fb_0 conda-forge
certifi 2024.7.4 pyhd8ed1ab_0 conda-forge
cffi 1.16.0 py310hdcd7c05_0 conda-forge
charset-normalizer 3.3.2 pyhd8ed1ab_0 conda-forge
clang 16.0.6 default_h675cc0c_11 conda-forge
clang-16 16.0.6 default_h5c12605_11 conda-forge
clang_impl_osx-arm64 16.0.6 hc421ffc_18 conda-forge
clang_osx-arm64 16.0.6 h54d7cd3_18 conda-forge
clangxx 16.0.6 default_h675cc0c_11 conda-forge
clangxx_impl_osx-arm64 16.0.6 hcd7bac0_18 conda-forge
clangxx_osx-arm64 16.0.6 h54d7cd3_18 conda-forge
click 8.1.7 unix_pyh707e725_0 conda-forge
cmake 3.30.1 had79d8f_0 conda-forge
colorama 0.4.6 pyhd8ed1ab_0 conda-forge
compiler-rt 16.0.6 h3808999_2 conda-forge
compiler-rt_osx-arm64 16.0.6 h3808999_2 conda-forge
cryptography 43.0.0 py310ha71c378_0 conda-forge
cxx-compiler 1.7.0 h2ffa867_1 conda-forge
cyrus-sasl 2.1.27 h60b93bd_7 conda-forge
distlib 0.3.8 pyhd8ed1ab_0 conda-forge
dnspython 2.6.1 pyhd8ed1ab_1 conda-forge
double-conversion 3.3.0 h13dd4ca_0 conda-forge
doxygen 1.10.0 h8fbad5d_0 conda-forge
exceptiongroup 1.2.2 pyhd8ed1ab_0 conda-forge
execnet 2.1.1 pyhd8ed1ab_0 conda-forge
expat 2.6.2 hebf3989_0 conda-forge
filelock 3.15.4 pyhd8ed1ab_0 conda-forge
flask 3.0.3 pyhd8ed1ab_0 conda-forge
flask-cors 4.0.0 pyhd8ed1ab_0 conda-forge
fmt 10.2.1 h2ffa867_0 conda-forge
folly 2023.09.25.00 h4e9558f_1_jemalloc conda-forge
font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge
font-ttf-inconsolata 3.000 h77eed37_0 conda-forge
font-ttf-source-code-pro 2.038 h77eed37_0 conda-forge
font-ttf-ubuntu 0.83 h77eed37_2 conda-forge
fontconfig 2.14.2 h82840c6_0 conda-forge
fonts-conda-ecosystem 1 0 conda-forge
fonts-conda-forge 1 0 conda-forge
freetype 2.12.1 hadb7bae_2 conda-forge
gettext 0.22.5 h8fbad5d_2 conda-forge
gettext-tools 0.22.5 h8fbad5d_2 conda-forge
gflags 2.2.2 hc88da5d_1004 conda-forge
glog 0.6.0 h6da1cb0_0 conda-forge
grpcio 1.54.3 py310h1253130_0 conda-forge
grpcio-tools 1.54.2 py310h1253130_1 conda-forge
gtest 1.15.0 h420ef59_0 conda-forge
h2 4.1.0 pyhd8ed1ab_0 conda-forge
hpack 4.0.0 pyh9f0ad1d_0 conda-forge
hyperframe 6.0.1 pyhd8ed1ab_0 conda-forge
hypothesis 6.72.4 pyha770c72_0 conda-forge
icu 73.2 hc8870d7_0 conda-forge
idna 3.7 pyhd8ed1ab_0 conda-forge
importlib-metadata 8.2.0 pyha770c72_0 conda-forge
importlib_resources 6.4.0 pyhd8ed1ab_0 conda-forge
iniconfig 2.0.0 pyhd8ed1ab_0 conda-forge
isodate 0.6.1 pyhd8ed1ab_0 conda-forge
itsdangerous 2.2.0 pyhd8ed1ab_0 conda-forge
jemalloc-local 5.3.0 hb7217d7_0 conda-forge
jinja2 3.1.4 pyhd8ed1ab_0 conda-forge
jmespath 1.0.1 pyhd8ed1ab_0 conda-forge
joserfc 1.0.0 pyhd8ed1ab_0 conda-forge
json5 0.9.25 pyhd8ed1ab_0 conda-forge
jsondiff 2.0.0 pyhd8ed1ab_0 conda-forge
jsonschema 4.23.0 pyhd8ed1ab_0 conda-forge
jsonschema-path 0.3.3 pyhd8ed1ab_0 conda-forge
jsonschema-specifications 2023.12.1 pyhd8ed1ab_0 conda-forge
krb5 1.21.3 h237132a_0 conda-forge
lazy-object-proxy 1.10.0 py310hd125d64_0 conda-forge
ld64 711 h634c8be_0 conda-forge
ld64_osx-arm64 711 ha4bd21c_0 conda-forge
libabseil 20230125.3 cxx17_h13dd4ca_0 conda-forge
libarrow 12.0.1 h0b136c2_8_cpu conda-forge
libasprintf 0.22.5 h8fbad5d_2 conda-forge
libasprintf-devel 0.22.5 h8fbad5d_2 conda-forge
libblas 3.9.0 23_osxarm64_openblas conda-forge
libboost 1.82.0 h72cdd8a_6 conda-forge
libboost-devel 1.82.0 hf450f58_6 conda-forge
libboost-headers 1.82.0 hce30654_6 conda-forge
libbrotlicommon 1.0.9 h1a8c8d9_9 conda-forge
libbrotlidec 1.0.9 h1a8c8d9_9 conda-forge
libbrotlienc 1.0.9 h1a8c8d9_9 conda-forge
libbson 1.23.2 hb7217d7_0 conda-forge
libcblas 3.9.0 23_osxarm64_openblas conda-forge
libclang-cpp16 16.0.6 default_h5c12605_11 conda-forge
libcrc32c 1.1.2 hbdafb3b_0 conda-forge
libcurl 8.9.0 hfd8ffcc_0 conda-forge
libcxx 18.1.8 h167917d_1 conda-forge
libedit 3.1.20191231 hc8eb9b7_2 conda-forge
libev 4.33 h93a5062_2 conda-forge
libevent 2.1.12 h2757513_1 conda-forge
libexpat 2.6.2 hebf3989_0 conda-forge
libffi 3.4.2 h3422bc3_5 conda-forge
libgcrypt 1.11.0 h99b78c6_1 conda-forge
libgettextpo 0.22.5 h8fbad5d_2 conda-forge
libgettextpo-devel 0.22.5 h8fbad5d_2 conda-forge
libgfortran 5.0.0 13_2_0_hd922786_3 conda-forge
libgfortran5 13.2.0 hf226fd6_3 conda-forge
libgirepository 1.80.1 hee7aab5_0 conda-forge
libglib 2.80.3 h59d46d9_1 conda-forge
libgoogle-cloud 2.12.0 he22f4c0_1 conda-forge
libgpg-error 1.50 h3e7c369_0 conda-forge
libgrpc 1.54.3 h0a338ca_0 conda-forge
libiconv 1.17 h0d3ecfb_2 conda-forge
libintl 0.22.5 h8fbad5d_2 conda-forge
libintl-devel 0.22.5 h8fbad5d_2 conda-forge
libjemalloc-local 5.3.0 hb7217d7_0 conda-forge
liblapack 3.9.0 23_osxarm64_openblas conda-forge
libllvm16 16.0.6 haab561b_3 conda-forge
libmongoc 1.23.2 hfc821f9_0 conda-forge
libmongocxx 3.7.2 h13dd4ca_1 conda-forge
libnghttp2 1.58.0 ha4dd798_1 conda-forge
libntlm 1.4 h3422bc3_1002 conda-forge
libopenblas 0.3.27 openmp_h517c56d_1 conda-forge
libpng 1.6.43 h091b4b1_0 conda-forge
libprotobuf 3.21.12 ha614eb4_2 conda-forge
libsecret 0.18.8 h2b036b6_2 conda-forge
libsodium 1.0.18 h27ca646_1 conda-forge
libsqlite 3.46.0 hfb93653_0 conda-forge
libssh2 1.11.0 h7a5bd25_0 conda-forge
libthrift 0.18.1 ha061701_2 conda-forge
libutf8proc 2.8.0 h1a8c8d9_0 conda-forge
libuv 1.48.0 h93a5062_0 conda-forge
libxml2 2.12.7 h9a80f22_3 conda-forge
libzlib 1.3.1 hfb2fe0b_1 conda-forge
llvm-openmp 18.1.8 hde57baf_0 conda-forge
llvm-tools 16.0.6 haab561b_3 conda-forge
lmdb 0.9.22 h93a5062_1001 conda-forge
lmdbxx 0.9.14.0 h1995070_1 conda-forge
lz4-c 1.9.4 hb7217d7_0 conda-forge
markupsafe 2.1.5 py310hd125d64_0 conda-forge
mock 5.1.0 pyhd8ed1ab_0 conda-forge
moto 5.0.11 pyhd8ed1ab_0 conda-forge
msal 1.30.0 pyhd8ed1ab_0 conda-forge
msal_extensions 1.1.0 py310hbe9552e_1 conda-forge
msgpack-c 6.0.0 ha614eb4_0 conda-forge
msgpack-python 1.0.8 py310he1a186f_0 conda-forge
ncurses 6.5 hb89a1cb_0 conda-forge
numpy 1.26.4 py310hd45542a_0 conda-forge
openapi-schema-validator 0.6.2 pyhd8ed1ab_0 conda-forge
openapi-spec-validator 0.7.1 pyhd8ed1ab_0 conda-forge
openssl 3.3.1 hfb2fe0b_2 conda-forge
orc 1.9.0 ha98e9e8_1 conda-forge
packaging 24.1 pyhd8ed1ab_0 conda-forge
pandas 2.2.2 py310h2216879_1 conda-forge
pathable 0.4.3 pyhd8ed1ab_0 conda-forge
pcre 8.45 hbdafb3b_0 conda-forge
pcre2 10.44 h297a79d_0 conda-forge
pip 24.0 pyhd8ed1ab_0 conda-forge
pixman 0.43.4 hebf3989_0 conda-forge
pkgutil-resolve-name 1.3.10 pyhd8ed1ab_1 conda-forge
platformdirs 4.2.2 pyhd8ed1ab_0 conda-forge
pluggy 1.5.0 pyhd8ed1ab_0 conda-forge
portalocker 2.10.1 py310hbe9552e_0 conda-forge
prometheus-cpp 1.2.4 hd5cc21f_0 conda-forge
protobuf 4.21.12 py310h0f1eb42_0 conda-forge
pyarrow 12.0.1 py310hfbab16f_8_cpu conda-forge
pybind11 2.10.4 py310h2887b22_0 conda-forge
pybind11-global 2.10.4 py310h2887b22_0 conda-forge
pycairo 1.26.1 py310hbf1c8c6_0 conda-forge
pycparser 2.22 pyhd8ed1ab_0 conda-forge
pygobject 3.48.2 py310h5ffc74c_0 conda-forge
pyjwt 2.8.0 pyhd8ed1ab_1 conda-forge
pymongo 4.8.0 py310hcf9f62a_0 conda-forge
pympler 1.1 pyhd8ed1ab_0 conda-forge
pyparsing 3.1.2 pyhd8ed1ab_0 conda-forge
pysocks 1.7.1 pyha2e5f31_6 conda-forge
pytest 8.3.2 pyhd8ed1ab_0 conda-forge
pytest-sugar 1.0.0 pyhd8ed1ab_0 conda-forge
pytest-timeout 2.3.1 pyhd8ed1ab_1 conda-forge
pytest-xdist 3.6.1 pyhd8ed1ab_0 conda-forge
python 3.10.14 h2469fbe_0_cpython conda-forge
python-dateutil 2.9.0 pyhd8ed1ab_0 conda-forge
python-tzdata 2024.1 pyhd8ed1ab_0 conda-forge
python_abi 3.10 4_cp310 conda-forge
pytz 2024.1 pyhd8ed1ab_0 conda-forge
pyyaml 6.0.1 py310h2aa6e3c_1 conda-forge
rapidcheck 2023.4.13 h1995070_2 conda-forge
re2 2023.03.02 hc5e2d97_0 conda-forge
readline 8.2 h92ec313_1 conda-forge
recycle 6.0.0 h1995070_1 conda-forge
referencing 0.35.1 pyhd8ed1ab_0 conda-forge
requests 2.32.3 pyhd8ed1ab_0 conda-forge
responses 0.25.3 pyhd8ed1ab_0 conda-forge
rfc3339-validator 0.1.4 pyhd8ed1ab_0 conda-forge
rhash 1.4.4 hb547adb_0 conda-forge
rpds-py 0.19.1 py310h947b723_0 conda-forge
s3transfer 0.10.2 pyhd8ed1ab_0 conda-forge
semimap 1.0.0 h1995070_1 conda-forge
setuptools 71.0.4 pyhd8ed1ab_0 conda-forge
sigtool 0.1.3 h44b9a77_0 conda-forge
six 1.16.0 pyh6c4a22f_0 conda-forge
snappy 1.1.10 hd04f947_1 conda-forge
sniffio 1.3.1 pyhd8ed1ab_0 conda-forge
sortedcontainers 2.4.0 pyhd8ed1ab_0 conda-forge
spdlog 1.14.1 h9c441cc_0 conda-forge
tabulate 0.9.0 pyhd8ed1ab_1 conda-forge
tapi 1100.0.11 he4954df_0 conda-forge
termcolor 2.4.0 pyhd8ed1ab_0 conda-forge
tk 8.6.13 h5083fa2_1 conda-forge
tomli 2.0.1 pyhd8ed1ab_0 conda-forge
trustme 1.1.0 pyhd8ed1ab_0 conda-forge
types-pyyaml 6.0.12.20240724 pyhd8ed1ab_0 conda-forge
typing-extensions 4.12.2 hd8ed1ab_0 conda-forge
typing_extensions 4.12.2 pyha770c72_0 conda-forge
tzdata 2024a h0c530f3_0 conda-forge
unordered_dense 4.4.0 h2ffa867_1 conda-forge
urllib3 2.2.2 pyhd8ed1ab_1 conda-forge
virtualenv 20.26.3 pyhd8ed1ab_0 conda-forge
werkzeug 3.0.3 pyhd8ed1ab_0 conda-forge
wheel 0.43.0 pyhd8ed1ab_1 conda-forge
wrapt 1.16.0 py310hd125d64_0 conda-forge
xmltodict 0.13.0 pyhd8ed1ab_0 conda-forge
xxhash 0.8.2 hb547adb_0 conda-forge
xz 5.2.6 h57fd34a_0 conda-forge
yaml 0.2.5 h3422bc3_2 conda-forge
zipp 3.19.2 pyhd8ed1ab_0 conda-forge
zlib 1.3.1 hfb2fe0b_1 conda-forge
zstandard 0.23.0 py310hd9c37c8_0 conda-forge
zstd 1.5.6 hb46c0d2_0 conda-forge
Thank you for this comprehensive report, Ian.
The problem is due to the previous builds of libcxx 18.1.8
use the "fast" mode of the hardening mode, which caught a few UBs in ArcticDB itself.
For more context see https://github.com/conda-forge/libcxx-feedstock/issues/162#issuecomment-2259284699.
On a side note regarding this remark from Ian:
I needed to manually change the use of posix_memalign rather than memalign (issue https://github.com/man-group/ArcticDB/issues/1322).
https://github.com/conda-forge/folly-feedstock/pull/211 should fix it.
I am investigating the cause of these problems on macOS ARM on a local machine. To do so it is necessary to use a build of libcxx
that has hardening enabled. When conda-forge/libcxx-feedstock#176 is merged and the packages are uploaded to conda-forge
it will be easy to use it from there. Until then the process is as follows:
1) Build the hardening-enable package locally using the branch from https://github.com/conda-forge/libcxx-feedstock/pull/176 and using build-locally.py
.
2) Modify the top of ArcticDB's environment_unix.yml
to be:
name: arcticdb-debug
channels:
- file:///<whatever local directory>/libcxx-feedstock/miniforge3/conda-bld
- conda-forge
dependencies:
- libcxx=18.1.8=debug_h24c5880_2
3) Create a conda environment and build ArcticDB
in the usual manner.
First observed here. Logs for posterity:
Also observed on the feedstock with https://github.com/conda-forge/arcticdb-feedstock/pull/249.
Currently solved by using
libcxx<18
(see https://github.com/man-group/ArcticDB/pull/1680).Other projects are having a similar problem with this build (see https://github.com/conda-forge/libcxx-feedstock/issues/162)