
Issue #19584 has been updated by peterzhu2118 (Peter Zhu). Well, unfortunately it looks like that requirement is not being followed by gems and even in parts of the Ruby codebase. Ruby: - https://github.com/ruby/ruby/blob/fb822076d79339427648cb9eacf76528f827427e/s... - https://github.com/ruby/ruby/blob/fb822076d79339427648cb9eacf76528f827427e/r... Gems: - https://github.com/google/mysql-protobuf/blob/467cda676afaa49e762c5c9164a43f... - https://github.com/ged/ruby-pg/blob/a99322a7111064aec6e430abb8787fa10fce37dd... - https://github.com/rgeo/rgeo/blob/3358e982d277965cfa039fa06a73dd5e2ddcdbdc/e... ---------------------------------------- Bug #19584: Crash in rb_gc_register_address https://bugs.ruby-lang.org/issues/19584#change-102693 * Author: peterzhu2118 (Peter Zhu) * Status: Open * Priority: Normal * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- GitHub PR: https://github.com/ruby/ruby/pull/7670 Some C extensions pass a pointer to a global variable to rb_gc_register_address. However, if a GC is triggered inside of rb_gc_register_address, then the object could get swept since it does not exist on the stack. -- https://bugs.ruby-lang.org/