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
Leave the existing definition of ZoeSeatKits, so existing seats continue to function. Stop invoking its maker.
Create a new pair of exo classes that separate the userSeat from the rest of the kit, and which can break the cycle when the seat is exited. (See Avoiding Cycles In The First Place in #8401). Use the maker when making new seats.
Security Considerations
None. But don't lose existing seats that might be providing access to assets.
Scaling Considerations
Stops creating cyclic data structures that GC can't free.
Test Plan
verify that we don't create uncollectible cycles.
Upgrade Considerations
Requires a Zoe upgrade.
The text was updated successfully, but these errors were encountered:
What is the Problem Being Solved?
When we create ZoeSeats, we accidentally create a cycle that prevents garbage collection.
Description of the Design
Leave the existing definition of
ZoeSeatKit
s, so existing seats continue to function. Stop invoking its maker.Create a new pair of exo classes that separate the userSeat from the rest of the kit, and which can break the cycle when the seat is exited. (See Avoiding Cycles In The First Place in #8401). Use the maker when making new seats.
Security Considerations
None. But don't lose existing seats that might be providing access to assets.
Scaling Considerations
Stops creating cyclic data structures that GC can't free.
Test Plan
verify that we don't create uncollectible cycles.
Upgrade Considerations
Requires a Zoe upgrade.
The text was updated successfully, but these errors were encountered: