sporadic crash with aligned_allocator_adaptor with libc++
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 30/100
Research direction
Start at boost/align/aligned_allocator_adaptor.hpp:144 and reproduce the reported std::vector destruction crash with libc++, ASAN, and Boost 1.88. Compare the adaptor with boost::aligned_allocator and std::allocator, then confirm that the failure is understood and destruction no longer crashes.
Written by the indexing model from the issue text.
Description
I have a std::vector<boost::aligned_allocator_adaptor<QPointF, 32>> which occasionnally crashes on destruction.
QPointF is basically struct { double x, y; }
#0 0x7b185afe6c1f in boost::alignment::aligned_allocator_adaptor<std::__1::allocator<QPointF>, 32ul>::deallocate(QPointF*, unsigned long) /usr/include/boost/align/aligned_allocator_adaptor.hpp:144:22
#1 0x7b185afe645c in std::__1::allocator_traits<boost::alignment::aligned_allocator_adaptor<std::__1::allocator<QPointF>, 32ul>>::deallocate[abi:ne200100](boost::alignment::aligned_allocator_adaptor<std::__1::allocator<QPointF>, 32ul>&, QPointF*, unsigned long) /usr/bin/../include/c++/v1/__memory/allocator_traits.h:302:9
#2 0x7b185afe623f in std::__1::vector<QPointF, boost::alignment::aligned_allocator_adaptor<std::__1::allocator<QPointF>, 32ul>>::__destroy_vector::operator()[abi:ne200100]() /usr/bin/../include/c++/v1/__vector/vector.h:250:9
#3 0x7b185afe49fa in std::__1::vector<QPointF, boost::alignment::aligned_allocator_adaptor<std::__1::allocator<QPointF>, 32ul>>::~vector[abi:ne200100]() /usr/bin/../include/c++/v1/__vector/vector.h:259:67
ASAN stack trace looks like this ^
normal std::allocator works fine, as well as boost::aligned_allocator directly
boost 1.88
- Dominant language
- C++
- Stars
- 17
- Forks
- 42
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Similar issues
-
ai_reviewed
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
ydb-platform/ydb#53869 · 3 comments ·
-
bug cert blocker needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
project-chip/connectedhomeip#74373 ·
-
upstream update
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
conan-io/conan-center-index#31035 ·
-
Bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
documentation
Difficulty 1/5 Under an hour Newbie friendliness 85/100
vllm-project/vllm-ascend#17329 ·