From: ko1@... Date: 2015-01-01T00:35:20+00:00 Subject: [ruby-core:67270] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC Issue #10686 has been updated by Koichi Sasada. Confirming code: ```ruby require 'objspace' require 'pp' def sym_num; Symbol.all_symbols.size; end x = 0 loop { (x += 1).to_s.to_sym if (x % 1000_000) == 0 pp ObjectSpace.count_objects end } ``` We can see that T_STRING is increasing. ---------------------------------------- Bug #10686: Memory leaking from torture test of symbol GC https://bugs.ruby-lang.org/issues/10686#change-50734 * Author: Charles Nutter * Status: Open * Priority: Normal * Assignee: * Category: core * Target version: current: 2.2.0 * ruby -v: 2.2p0 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM): ``` x = 0; loop { (x += 1).to_s.to_sym } ``` I asked ko1 about this on Twitter and he said it appears to be leaking strings somewhere. -- https://bugs.ruby-lang.org/