Message353708
| Author | tim.peters |
|---|---|
| Recipients | Mark.Shannon, benjamin.peterson, christian.heimes, jdemeyer, larry, lukasz.langa, methane, miss-islington, nascheme, ned.deily, pablogsal, petr.viktorin, pitrou, tim.peters, vstinner |
| Date | 2019-10-01.18:29:30 |
| SpamBayes Score | -1.0 |
| Marked as misclassified | Yes |
| Message-id | <1569954570.37.0.419140675844.issue38006@roundup.psfhosted.org> |
| In-reply-to |
| Content | |
|---|---|
Neil, about this comment: # - ct is not yet trash (it actually is but the GC doesn't know because of # the missing tp_traverse method). I believe gc should know ct is trash. ct is in the cf list, and the latter does have tp_traverse. What gc won't know is that `a` is trash, because `a` is attached to ct, and ct doesn't have tp_traverse. It should blow up anyway :-) Maybe with a simpler structure it would be easier to rearrange code to nudge the callback into getting cleared before use? Z <- Y <- A <-> B -> WZ -> C where WZ is a weakref to Z with callback C, and Y doesn't implement tp_traverse. The only cycle is between A and B, which could just as well be the same object. All the other stuff hangs off that cycle. It's all trash, but we won't know in advance that Z is part of it. |
|
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2019-10-01 18:29:30 | tim.peters | set | recipients: + tim.peters, nascheme, pitrou, vstinner, larry, christian.heimes, benjamin.peterson, ned.deily, petr.viktorin, methane, lukasz.langa, Mark.Shannon, jdemeyer, pablogsal, miss-islington |
| 2019-10-01 18:29:30 | tim.peters | set | messageid: <1569954570.37.0.419140675844.issue38006@roundup.psfhosted.org> |
| 2019-10-01 18:29:30 | tim.peters | link | issue38006 messages |
| 2019-10-01 18:29:30 | tim.peters | create | |