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
// An element not in the hashset is begin removed.
// When optimizing, the gcc compiler tends to generate
// destructions of non generated aterms. If this is
// repaired, this safety escape can be removed.
return it;
}
assert(it != begin() + key_index);
}
*it = nullptr;
--m_number_of_elements;
return it;
}
Disabling this 'safety' escape reveals subtle bugs in how tools interact with the protection sets. One example being that lpxsim creates the Simulation' in the main thread, and then tries to read in an other LPS in a Qt event call ran on a separate thread. This IO operation will delete the original m_stochastic_spec', which was created during initialisation. This results in that ATerm being leaked as it will never be removed from it's original protection set.
The text was updated successfully, but these errors were encountered:
Currently term destructions are silently ignored when they do not occur in the protection set.
mCRL2/libraries/utilities/include/mcrl2/utilities/detail/hashtable.h
Lines 117 to 146 in 918acb2
Disabling this 'safety' escape reveals subtle bugs in how tools interact with the protection sets. One example being that lpxsim creates the
Simulation' in the main thread, and then tries to read in an other LPS in a Qt event call ran on a separate thread. This IO operation will delete the original
m_stochastic_spec', which was created during initialisation. This results in that ATerm being leaked as it will never be removed from it's original protection set.The text was updated successfully, but these errors were encountered: