From: ko1@... Date: 2015-11-19T13:32:51+00:00 Subject: [ruby-core:71586] [Ruby trunk - Bug #11593] [Feedback] Is it possible that ObjectSpace.dump_all catch dead objects? Issue #11593 has been updated by Koichi Sasada. Status changed from Open to Feedback Assignee changed from Koichi Sasada to Aman Gupta Sorry, last comment was my mistake. ObjectSpace.dump_all() can output garbage (but not collected yet) objects. This is current implementation. ```C /* dump all objects */ rb_objspace_each_objects(heap_i, &dc); ``` This code is similar to ObjectSpace.each_object and it iterates uncollected objects. I'm not sure it is enough or not (but maybe it is okay). ---------------------------------------- Bug #11593: Is it possible that ObjectSpace.dump_all catch dead objects? https://bugs.ruby-lang.org/issues/11593#change-54969 * Author: Alex Gaziev * Status: Feedback * Priority: Normal * Assignee: Aman Gupta * ruby -v: 2.2.3p173 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- Koichi, can you please help. There are lines in a dump that are not referenced by anyone else. And these are not ROOTs. For example, I'm looking in my dump by address of object and there is no other objects which have references to this object: ``` $ ag 0x7fc4adc55a20 dump.json 1812949:{"address":"0x7fc4adc55a20", "type":"DATA", "class":"0xaf6c70", "struct":"proc", "references":["0x7fc4adc55a48", "0x7fc504140390", "0x7fc4adc55a20", "0x7fc5041404d0"], "memsize":104} ``` How can it be? Is it a dead object who got in a dump or am I missing something? ---Files-------------------------------- dead_thread.rb (216 Bytes) -- https://bugs.ruby-lang.org/