Embedded shared strings cannot be moved because strings point into the slot of the shared string. There may be code using the RSTRING_PTR on the stack, which would pin the string but not pin the shared string, causing it to move.
rb_sys_fail_sprintf
rb_strterm_t
rb_strterm_literal_t
rb_fork
defined?
posix_signal
ruby_