Closed Bug 744885 Opened 13 years ago Closed 6 years ago

Weak tables issues need to be fixed

Categories

(Tamarin Graveyard :: Virtual Machine, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: rulohani, Unassigned)

References

Details

(Whiteboard: Tracking)

At present we have WeakKeyHashtable and WeakValueHashtable in the VM. This bug is a reference point for the issues we would like to fix in these weak tables. I expect that we will file individual cases linked to this case once we start working on individual problems. We have encountered bugs in the runtime related to memory leaks which were due to the problems in our weak tables. Past related bugs: Bugzilla 623058 Watson exp #2747284, #3072792 Issues: 1. Weak table dead entries pruning does not work in sync with GC. The 'dead' (dead being the entries where the key is no longer reachable) entries get pruned during table entry add() and only when the table is full and is expanded. 2. Weak tables are not resilient to cycles: we can get into a situation where the 'value' in a WeakKeyHashtable indirectly points back to the weak 'key'. This can lead to the weak 'key' not getting collected even when its only reachable from the 'value' and thus the table entry not getting pruned leading to both 'key' and 'value' objects leaking. References: Listing down the references from email communications. 1. Ephemerons: a new finalization mechanism Barry Hayes http://dl.acm.org/citation.cfm?id=263733 2. Implementing User-level Value-weak Hashtables Aaron W. Hsu www.schemeworkshop.org/2010/sfp2010.pdf (page 15). 3. Generation-Friendly Eq Hash Tables Abdulaziz Ghuloum and R. Kent Dybvig www.schemeworkshop.org/2007/procPaper3.pdf 4. Eliminating Cycles in Weak Tables Alexandra Barros and Roberto Ierusalimschy www.jucs.org/jucs_14_21/eliminating_cycles_in_weak/jucs_14_21_3481_3497_barros.pdf
OS: Mac OS X → All
Hardware: x86 → All
Whiteboard: Tracking
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.