ruby-core@ruby-lang.org archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-core:67268] [ruby-trunk - Bug #10686] [Open] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
@ 2015-01-01  0:31 ` headius
  2015-01-01  0:50   ` [ruby-core:67272] " Eric Wong
  2015-01-01  0:35 ` [ruby-core:67270] [ruby-trunk - Bug #10686] " ko1
                   ` (12 subsequent siblings)
  13 siblings, 1 reply; 17+ messages in thread
From: headius @ 2015-01-01  0:31 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been reported by Charles Nutter.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686

* 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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67270] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
  2015-01-01  0:31 ` [ruby-core:67268] [ruby-trunk - Bug #10686] [Open] Memory leaking from torture test of symbol GC headius
@ 2015-01-01  0:35 ` ko1
  2015-01-01  0:58 ` [ruby-core:67273] " normalperson
                   ` (11 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: ko1 @ 2015-01-01  0:35 UTC (permalink / raw
  To: ruby-core

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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67272] Re: [ruby-trunk - Bug #10686] [Open] Memory leaking from torture test of symbol GC
  2015-01-01  0:31 ` [ruby-core:67268] [ruby-trunk - Bug #10686] [Open] Memory leaking from torture test of symbol GC headius
@ 2015-01-01  0:50   ` Eric Wong
  0 siblings, 0 replies; 17+ messages in thread
From: Eric Wong @ 2015-01-01  0:50 UTC (permalink / raw
  To: Ruby developers

This seems to fix it:

--- a/symbol.c
+++ b/symbol.c
@@ -664,6 +664,7 @@ rb_gc_free_dsymbol(VALUE sym)
     if (str) {
 	RSYMBOL(sym)->fstr = 0;
 	unregister_sym(str, sym);
+	rb_hash_delete(global_symbols.dsymbol_fstr_hash, str);
     }
 }
 

http://80x24.org/spew/m/85a6346bf10d3f37fecb4926a57699fbd82b45b6.txt

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67273] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
  2015-01-01  0:31 ` [ruby-core:67268] [ruby-trunk - Bug #10686] [Open] Memory leaking from torture test of symbol GC headius
  2015-01-01  0:35 ` [ruby-core:67270] [ruby-trunk - Bug #10686] " ko1
@ 2015-01-01  0:58 ` normalperson
  2015-01-01  1:24 ` [ruby-core:67275] " nobu
                   ` (10 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: normalperson @ 2015-01-01  0:58 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Eric Wong.


 This seems to fix it:
 
 --- a/symbol.c
 +++ b/symbol.c
 @@ -664,6 +664,7 @@ rb_gc_free_dsymbol(VALUE sym)
      if (str) {
  	RSYMBOL(sym)->fstr = 0;
  	unregister_sym(str, sym);
 +	rb_hash_delete(global_symbols.dsymbol_fstr_hash, str);
      }
  }
  
 
 http://80x24.org/spew/m/85a6346bf10d3f37fecb4926a57699fbd82b45b6.txt

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-50736

* 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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67275] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (2 preceding siblings ...)
  2015-01-01  0:58 ` [ruby-core:67273] " normalperson
@ 2015-01-01  1:24 ` nobu
  2015-01-01  1:51   ` [ruby-core:67278] " Eric Wong
  2015-01-01  1:58 ` [ruby-core:67279] " normalperson
                   ` (9 subsequent siblings)
  13 siblings, 1 reply; 17+ messages in thread
From: nobu @ 2015-01-01  1:24 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Nobuyoshi Nakada.

Description updated

Rather you may want call `rb_hash_delete_entry()`.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-50738

* 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):

```ruby
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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67278] Re: [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
  2015-01-01  1:24 ` [ruby-core:67275] " nobu
@ 2015-01-01  1:51   ` Eric Wong
  0 siblings, 0 replies; 17+ messages in thread
From: Eric Wong @ 2015-01-01  1:51 UTC (permalink / raw
  To: Ruby developers

nobu@ruby-lang.org wrote:
> Rather you may want call `rb_hash_delete_entry()`.

Thanks, updated

http://80x24.org/spew/m/bug10686-dsym-fstr-leak-v2@r49089.txt

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67279] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (3 preceding siblings ...)
  2015-01-01  1:24 ` [ruby-core:67275] " nobu
@ 2015-01-01  1:58 ` normalperson
  2015-01-01 14:09 ` [ruby-core:67286] " nagachika00
                   ` (8 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: normalperson @ 2015-01-01  1:58 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Eric Wong.


 nobu@ruby-lang.org wrote:
 > Rather you may want call `rb_hash_delete_entry()`.
 
 Thanks, updated
 
 http://80x24.org/spew/m/bug10686-dsym-fstr-leak-v2@r49089.txt

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-50741

* 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):

```ruby
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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67286] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (4 preceding siblings ...)
  2015-01-01  1:58 ` [ruby-core:67279] " normalperson
@ 2015-01-01 14:09 ` nagachika00
  2015-01-16  6:02 ` [ruby-core:67621] " naruse
                   ` (7 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: nagachika00 @ 2015-01-01 14:09 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-50748

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* Category: core
* Target version: current: 2.2.0
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67621] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (5 preceding siblings ...)
  2015-01-01 14:09 ` [ruby-core:67286] " nagachika00
@ 2015-01-16  6:02 ` naruse
  2015-01-17 18:58 ` [ruby-core:67658] " swills
                   ` (6 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: naruse @ 2015-01-16  6:02 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Yui NARUSE.

Backport changed from 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE

ruby_2_2 r49274 merged revision(s) 49090.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-51044

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67658] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (6 preceding siblings ...)
  2015-01-16  6:02 ` [ruby-core:67621] " naruse
@ 2015-01-17 18:58 ` swills
  2015-01-17 21:39   ` [ruby-core:67660] " Eric Wong
  2015-01-17 21:49 ` [ruby-core:67661] " normalperson
                   ` (5 subsequent siblings)
  13 siblings, 1 reply; 17+ messages in thread
From: swills @ 2015-01-17 18:58 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Steve Wills.


I have to disagree that this isn't needed to be back ported to 2.1. I just tried it with my ruby 2.1 and saw memory growing rather quickly. My ruby -v:

ruby 2.1.5p273 (2014-11-13 revision 48405) [amd64-freebsd11]


----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-51076

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67660] Re: [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
  2015-01-17 18:58 ` [ruby-core:67658] " swills
@ 2015-01-17 21:39   ` Eric Wong
  0 siblings, 0 replies; 17+ messages in thread
From: Eric Wong @ 2015-01-17 21:39 UTC (permalink / raw
  To: Ruby developers

Symbol GC is a new feature in 2.2.  In 2.1, symbols could never be GC-ed
at all so you'll see this growth, and I don't think it's the policy to
backport new features.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67661] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (7 preceding siblings ...)
  2015-01-17 18:58 ` [ruby-core:67658] " swills
@ 2015-01-17 21:49 ` normalperson
  2015-01-18 16:28 ` [ruby-core:67676] " swills
                   ` (4 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: normalperson @ 2015-01-17 21:49 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Eric Wong.


 Symbol GC is a new feature in 2.2.  In 2.1, symbols could never be GC-ed
 at all so you'll see this growth, and I don't think it's the policy to
 backport new features.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-51078

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:67676] [ruby-trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (8 preceding siblings ...)
  2015-01-17 21:49 ` [ruby-core:67661] " normalperson
@ 2015-01-18 16:28 ` swills
  2015-09-27  5:52 ` [ruby-core:70923] [Ruby trunk " Rei.Odaira
                   ` (3 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: swills @ 2015-01-18 16:28 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Steve Wills.


Eric Wong wrote:
> Symbol GC is a new feature in 2.2.  In 2.1, symbols could never be GC-ed
>  at all so you'll see this growth, and I don't think it's the policy to
>  backport new features.

I see, thanks for the explanation. Not back porting makes sense then.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-51093

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:70923] [Ruby trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (9 preceding siblings ...)
  2015-01-18 16:28 ` [ruby-core:67676] " swills
@ 2015-09-27  5:52 ` Rei.Odaira
  2015-10-27  7:30 ` [ruby-core:71208] " nagachika00
                   ` (2 subsequent siblings)
  13 siblings, 0 replies; 17+ messages in thread
From: Rei.Odaira @ 2015-09-27  5:52 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Rei Odaira.

File test_symbol.patch added

I would like to propose two changes in `test/ruby/test_symbol.rb (TestSymbol#test_symbol_fstr_leak)`.

First, this test checks only the increase in the virtual size, but it should check the rss as well. On Mac OS X, the memory leak of the symbols increases the rss, not the virtual size. The following example demonstrates the increase in the rss when the fix in symbol.c is not applied. Therefore, `test_symbol_fstr_leak` should specify "rss: true" as an argument to `assert_no_memory_leak()`.

~~~
$ ruby --disable=gems -I test/lib -r memory_status -e 'p Memory::Status.new; 200_000.times { |i| i.to_s.to_sym }; GC.start; p Memory::Status.new'
#<struct Memory::Status size=2505801728, rss=4321280>
#<struct Memory::Status size=2563211264, rss=47579136>
~~~

The second change I am proposing is to add a warm-up phase before measuring the actual memory size increase. On a certain AIX machine, `test_symbol_fstr_leak` causes 2.6x increase in the virtual size, even after applying the fix in symbol.c.

~~~
$ ruby --disable=gems -I test/lib -r memory_status -e 'p Memory::Status.new; 200_000.times { |i| i.to_s.to_sym }; GC.start; p Memory::Status.new'
#<struct Memory::Status size=1646592, rss=4091904>
#<struct Memory::Status size=4263936, rss=6725632>
~~~

However, I don't think this is a leak, because if you sequentially run a similar test twice and only measure the second run, neither the virtual size or the rss increases so much, as follows.

~~~
$ ruby --disable=gems -I test/lib -r memory_status -e '200_000.times { |i| i.to_s.to_sym }; GC.start; p Memory::Status.new; 200_000.times { |i| (i+200_000).to_s.to_sym }; GC.start; p Memory::Status.new'
#<struct Memory::Status size=4276224, rss=6758400>
#<struct Memory::Status size=4321280, rss=6803456>
~~~

Because the warm-up phase inevitably increases memory usage, we should measure the steady state after the warm-up phase when detecting a memory leak.

The attached patch includes these two changes. I confirmed my patch on Mac OS X, POWER Linux, and AIX.  Without the fix in symbol.c, `test_symbol_fstr_leak` correctly fails on every environment, and with the fix in symbol.c, it succeeds.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-54284

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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.

---Files--------------------------------
test_symbol.patch (610 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:71208] [Ruby trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (10 preceding siblings ...)
  2015-09-27  5:52 ` [ruby-core:70923] [Ruby trunk " Rei.Odaira
@ 2015-10-27  7:30 ` nagachika00
  2015-10-27  7:33 ` [ruby-core:71209] " nagachika00
  2015-11-27 20:49 ` [ruby-core:71710] " nagachika00
  13 siblings, 0 replies; 17+ messages in thread
From: nagachika00 @ 2015-10-27  7:30 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Tomoyuki Chikanaga.


Applied at r52140.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-54588

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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.

---Files--------------------------------
test_symbol.patch (610 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:71209] [Ruby trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (11 preceding siblings ...)
  2015-10-27  7:30 ` [ruby-core:71208] " nagachika00
@ 2015-10-27  7:33 ` nagachika00
  2015-11-27 20:49 ` [ruby-core:71710] " nagachika00
  13 siblings, 0 replies; 17+ messages in thread
From: nagachika00 @ 2015-10-27  7:33 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-54589

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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.

---Files--------------------------------
test_symbol.patch (610 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [ruby-core:71710] [Ruby trunk - Bug #10686] Memory leaking from torture test of symbol GC
       [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
                   ` (12 preceding siblings ...)
  2015-10-27  7:33 ` [ruby-core:71209] " nagachika00
@ 2015-11-27 20:49 ` nagachika00
  13 siblings, 0 replies; 17+ messages in thread
From: nagachika00 @ 2015-11-27 20:49 UTC (permalink / raw
  To: ruby-core

Issue #10686 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: REQUIRED to 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE

Backported  r49813 and r52140 into `ruby_2_2` branch at r52770.

----------------------------------------
Bug #10686: Memory leaking from torture test of symbol GC
https://bugs.ruby-lang.org/issues/10686#change-55116

* Author: Charles Nutter
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: 2.2p0
* Backport: 2.0.0: DONTNEED, 2.1: DONTNEED, 2.2: DONE
----------------------------------------
The following code appears to grow without bounds when running on MRI 2.2p0 (and grows *very* fast...hold on to your RAM):

```ruby
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.

---Files--------------------------------
test_symbol.patch (610 Bytes)


-- 
https://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2015-11-27 20:18 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <redmine.issue-10686.20150101003137@ruby-lang.org>
2015-01-01  0:31 ` [ruby-core:67268] [ruby-trunk - Bug #10686] [Open] Memory leaking from torture test of symbol GC headius
2015-01-01  0:50   ` [ruby-core:67272] " Eric Wong
2015-01-01  0:35 ` [ruby-core:67270] [ruby-trunk - Bug #10686] " ko1
2015-01-01  0:58 ` [ruby-core:67273] " normalperson
2015-01-01  1:24 ` [ruby-core:67275] " nobu
2015-01-01  1:51   ` [ruby-core:67278] " Eric Wong
2015-01-01  1:58 ` [ruby-core:67279] " normalperson
2015-01-01 14:09 ` [ruby-core:67286] " nagachika00
2015-01-16  6:02 ` [ruby-core:67621] " naruse
2015-01-17 18:58 ` [ruby-core:67658] " swills
2015-01-17 21:39   ` [ruby-core:67660] " Eric Wong
2015-01-17 21:49 ` [ruby-core:67661] " normalperson
2015-01-18 16:28 ` [ruby-core:67676] " swills
2015-09-27  5:52 ` [ruby-core:70923] [Ruby trunk " Rei.Odaira
2015-10-27  7:30 ` [ruby-core:71208] " nagachika00
2015-10-27  7:33 ` [ruby-core:71209] " nagachika00
2015-11-27 20:49 ` [ruby-core:71710] " nagachika00

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).