From: merch-redmine@... Date: 2021-02-23T20:45:04+00:00 Subject: [ruby-core:102583] [Ruby master Bug#17554] [PATCH] Fix ObjectSpace.dump to include singleton class name Issue #17554 has been updated by jeremyevans0 (Jeremy Evans). Status changed from Open to Closed It looks like this was fixed in a different way by commit:3a888398a661d7dc3cbcc21b8983809905b07adb . ---------------------------------------- Bug #17554: [PATCH] Fix ObjectSpace.dump to include singleton class name https://bugs.ruby-lang.org/issues/17554#change-90566 * Author: byroot (Jean Boussier) * Status: Closed * 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: