You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Specifically, its children access it after destruction.
This can be seen clearly in commit 48ed6fd (running the polyglot tests, for example), which adds a field to perfmon_collection_t to help exhibit the bug.
This was uncovered after noticing the intrusive_list_t destructor implementation, with its commented out assertion, which make this kind of bug seem very likely. A perfmon_collection_t is accessed after destruction by its constituents trying to remove themselves.
~intrusive_list_t() {
//rassert(empty());
}
The text was updated successfully, but these errors were encountered:
While the code is bad, this bug does not result in bad behavior or real unreliable behavior in practice, because the perfmon_collection_t is part of an internal_disk_backed_queue_t that is still in the process of being destructed -- so its memory is sitting around unused, and its destructors don't do anything interesting.
Specifically, its children access it after destruction.
This can be seen clearly in commit 48ed6fd (running the polyglot tests, for example), which adds a field to perfmon_collection_t to help exhibit the bug.
This was uncovered after noticing the intrusive_list_t destructor implementation, with its commented out assertion, which make this kind of bug seem very likely. A perfmon_collection_t is accessed after destruction by its constituents trying to remove themselves.
The text was updated successfully, but these errors were encountered: