Closed
Bug 581016
Opened 14 years ago
Closed 6 years ago
Resolve finalization when constructor chain throws
Categories
(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P3)
Tamarin Graveyard
Garbage Collection (mmGC)
Tracking
(Not tracked)
RESOLVED
WONTFIX
Q1 12 - Brannan
People
(Reporter: pnkfelix, Unassigned)
References
Details
Bug 573737 worked on resolving a crash that occurred because the collector's finalization process was attempting to invoke a (virtual) destructor of an object that had a NULL vtable. Evaluations of two distinct strategies for fixing that bug uncovered another potential problem: if an exception is thrown from the middle of a construction chain, what should we do about the intermediate vtable that the resulting object has? (See discussion in bug 573737, comment 33.) Maybe this is actually a feature, not a bug, if the semantics are well-defined. But we should investigate what guarantees the C++ standard provides, as well as what real-world behavior we can expect, and finally evaluate what we should do to avoid this problem. E.g. straw proposal: stop using constructors for non-trival activity, and instead require code to invoke separate init() methods (I'm not advocating anything at the moment, it was just something Lars and I tossed around at the beginning of July.).
Updated•14 years ago
|
Updated•13 years ago
|
Priority: -- → P3
Target Milestone: Future → Q1 12 - Brannan
Comment 1•6 years ago
|
||
Tamarin isn't maintained anymore. WONTFIX remaining bugs.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•