Closed
Bug 744885
Opened 13 years ago
Closed 6 years ago
Weak tables issues need to be fixed
Categories
(Tamarin Graveyard :: Virtual Machine, defect)
Tamarin Graveyard
Virtual Machine
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
Updated•12 years ago
|
OS: Mac OS X → All
Hardware: x86 → All
Updated•12 years ago
|
Updated•12 years ago
|
Whiteboard: Tracking
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
•