From: jean.boussier@... Date: 2021-01-18T14:35:15+00:00 Subject: [ruby-core:102137] [Ruby master Bug#17554] [PATCH] Fix ObjectSpace.dump to include singleton class name Issue #17554 has been reported by byroot (Jean Boussier). ---------------------------------------- Bug #17554: [PATCH] Fix ObjectSpace.dump to include singleton class name https://bugs.ruby-lang.org/issues/17554 * Author: byroot (Jean Boussier) * Status: Open * Priority: Normal * ruby -v: ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin19] * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN ---------------------------------------- Patch: https://github.com/ruby/ruby/pull/4087 This fixes a regression introduced in https://bugs.ruby-lang.org/issues/17044 In 2.7.2 `rb_class2name` would go up the inheritance chain to get a name for singleton classes. In 3.0 it no longer works: 2.7.2: ``` $ ruby -robjspace -e 'puts ObjectSpace.dump(Object.new.singleton_class)' {"address":"0x7fca778cdab8", "type":"CLASS", "class":"0x7fca738bfbb0", "name":"Object", "references":["0x7fca778cdb30", "0x7fca738c57b8"], "memsize":456, "flags":{"wb_protected":true}} ``` 3.0.0: ``` $ ruby -robjspace -e 'puts ObjectSpace.dump(Object.new.singleton_class)' {"address":"0x7fdf440a7cd0", "type":"CLASS", "class":"0x7fdf408c9728", "references":["0x7fdf408ca8a8", "0x7fdf440a7d70"], "memsize":472, "flags":{"wb_protected":true}} ``` This name is very useful for https://github.com/Shopify/heap-profiler. -- https://bugs.ruby-lang.org/ Unsubscribe: