Exception safety#211
Conversation
There was a problem hiding this comment.
Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.
|
Thank you to @ConradDrescher for opening PR 211, and to Kris Coester and Alexander Shepil for the patch commits. The PR found real problems in Gecode's exception-safety and memory-management paths, especially around failed cloning, I am going to close this PR as superseded by PR #212 rather than merge it directly. The replacement branch reimplements the accepted parts with deterministic fault-injection tests and sanitizer validation. That review also found a few places where the final ownership rule should be different from the one encoded in this pr. This PR provided the starting observations, and the replacement branch notes the relevant authors from this pr in the changelog and in source-file contributor lists where the final change is substantially based on the submitted work.
In summary, this pr identified valuable defects, and several of its ideas are present in the final branch. The replacement branch is shaped differently because the tests made the ownership and recovery contracts explicit, and in a few cases those contracts disagreed with the submitted patch shape. |
Various exception safety and memory management related fixes