scanner doesn't flush/close
Bug #428165 reported by
Robert Collins
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Meliae |
Fix Released
|
High
|
John A Meinel |
Bug Description
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
affects meliae
I haven't tracked down the cause. However the dump I took last week as
per John's instructions ends with:
'{"address": 2201629256, "type": "tuple", "size": 72, "len": 2, "refs":
[140313192603728, 6048304112]}
{"address": 6048304112, "type": "str", "size": 59, "len": 19, "value":
"161188494 2'
(note the truncated line).
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://
iEYEARECAAYFAkq
GWkAn1PuWJM6OAg
=0Rqd
-----END PGP SIGNATURE-----
Changed in meliae: | |
status: | New → Confirmed |
To post a comment you must log in.
While it'd be good for meliae to explicitly close the file, I think this indicates that meliae is creating a reference cycle. From the look of it, you'd have the following cycle:
1. dump_all_objects execution frame
2. the all_objs list held as a local in that frame
3. the dump_all_objects frame as an item in the all_objs list.
This would likely keep a reference to the open file object (since the frame holds a reference to it too) until the cyclic garbage collector kicks in at some later point in time.
Making dump_all_objects() clear the all_objs list before exiting is probably enough to get rid of the cycle.