> So it would seem that the nested ECs are sneaking past this fix and causing > havoc. I'm still not sure what about garbage collection triggers this, but > I've updated ERXEC so that nested ECs check to see if any of its parents are > saving before processing notifications. The test passes with that change in > place. The GC + child editing context thing sounds like a problem we ran into a couple years ago ... From my notes:
"The essence of the problem is that EO's track retain count as an ivar. This retain count records how many nested ec's contain that EO as well, because they share a snapshot (with refcount = 1). If, however, the parent EO gets garbage collected while the nested EC version of it is still alive, the parent EO's retain count disappears and it throws off the snapshot ref counting. We talked about this and bounced around a couple ideas, but ultimately the one that seemed to have the least side-effects was to track the retain count in the EC rather than the EO. This patch provides an impl of that concept -- retain count is now removed from EO and pushed up into a dictionary in the EC. Now even if the underlying EO gets GC'd, the retain counts won't be lost." ms _______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to [email protected]
