[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: RE: Garbage Collector Problem
- From: Richter, Jörg <Joerg.Richter@...>
- Date: Fri, 29 Aug 2014 15:49:18 +0000
More findings:
The weak-keyed table (key=Timer value=Callback) is handled in traverseephemeron().
The local variables get assigned this values: prop=0 hasclears=1 marked=1
-> Table is moved to g->allweak
Later the failing Timer is constructed and an entry is added to the table.
Later atomic() is called and the first call to clearvalues(g->allweak) in atomic()
clears the added entry. -> Callback is gone.
Note that traverseephemeron() is not called again for this table after the Timer
was constructed. If this is good or bad, I don't know.
I have the impression that 'allweak' is for "kv" tables. Is this right? But why is
this table moved from 'ephemeron' to 'allweak'? Its mode is still "k".
Any hints on how to proceed?
- Jörg
- References:
- Garbage Collector Problem, Richter, Jörg
- Re: Garbage Collector Problem, Alex Queiroz
- RE: Garbage Collector Problem, Richter, Jörg
- Re: Garbage Collector Problem, Roberto Ierusalimschy
- RE: Garbage Collector Problem, Richter, Jörg
- RE: Garbage Collector Problem, Richter, Jörg
- RE: Garbage Collector Problem, Richter, Jörg