Closed Bug 593181 Opened 16 years ago Closed 16 years ago

Over-eager Presweeping assert

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), defect)

x86
macOS
defect
Not set
normal

Tracking

(Not tracked)

VERIFIED WONTFIX
flash9.0.x-Salt

People

(Reporter: trbaker, Assigned: pnkfelix)

References

Details

+++ This bug was initially created as a clone of Bug #575631 +++ +++ This is likely not applicable to FP9, mark as WONTFIX if not +++ Discussion of WE 2640774 led Lars to suggest that his GCAssert in GCWeakRef::get(), added as a safe-guard for bug 572331, could misfire. Namely, we _occasionally_ interleave invoking finalizers and clearing mark bits in GCAlloc::Finalize; so a live object that should be considered currently marked during the invocation of a finalizer does not have its mark bit set, and the assertion misfires. Lars suggested that revising the loop in GCAlloc::Finalize to remove the interleaving (and clear the mark bits after all finalizers have been invoked) would resolve the systems internal views at the points where control flows to the GCAssert during finalization. (Such a revision may also have costs we don't want to pay just to fix an assert.) In any case: - I have seen the assert firing; it has been readily repeatable via AT9AS3, test number 15085 (it is best to move the mouse around while the test runs in order to reliably see the problem). - I have implemented the revision to GCAlloc::Finalize outlined above (along with some other invariant checking code). - With that change, the assertion stops misfiring for this case.
The bug report was about a relatively recent patch to TR. The offending code was not part of FP9. (WE 2640774 itself might be a problem in FP9, though.)
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → WONTFIX
Actually the assert and it being commented out did make it into the player so yeah there's nothing to do here.
Tommy, it made it into the fp9 branch (which is what this bug is for)? Felix indicates that the offending code is new and not in FP9.
bulk verifying resolved !fixed issues
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.