Opened 11 years ago
Closed 11 years ago
#6044 closed Bugs (fixed)
Assertion failed in relaxed_heap remove()
Reported by: | Owned by: | Jeremiah Willcock | |
---|---|---|---|
Milestone: | To Be Determined | Component: | graph |
Version: | Boost 1.47.0 | Severity: | Problem |
Keywords: | Cc: |
Description
There is an assertion in boost/pending/relaxed_heap.hpp:166 when trying to remove() a zero-int from a relaxed_heap. Moreover, my investigation showed that that assert statement doesn't work in a proper way at all. As far as I understand it's purpose is to verify that the element being removed is present in heap. But attempt to remove() inexistent element doesn't cause an assertion, in the opposite, an attempt to remove() zero-int always cause an assertion.
I propose to change this assertion to the way this check is performed in contains() method. Proposed patch is enclosed.
Attachments (1)
Change History (3)
by , 11 years ago
Attachment: | relaxed_heap_assertion_bug_data.zip added |
---|
comment:1 by , 11 years ago
Component: | None → graph |
---|---|
Owner: | set to |
comment:2 by , 11 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
(In [75074]) Removed incorrect != 0 test on boost::optional; fixes #6044