[#82311] [Ruby trunk Bug#13794] Infinite loop of sched_yield — charlie@...
Issue #13794 has been reported by catphish (Charlie Smurthwaite).
4 messages
2017/08/09
[#82518] [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — mame@...
Issue #13618 has been updated by mame (Yusuke Endoh).
5 messages
2017/08/30
[#82552] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wong <normalperson@...>
2017/08/31
mame@ruby-lang.org wrote:
[#82756] Re: [Ruby trunk Feature#13618] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid
— Eric Wrong <normalperson@...>
2017/09/12
Eric Wrong <normalperson@yhbt.net> wrote:
[ruby-core:82255] [Ruby trunk Bug#13772] Memory leak recycling stacks for threads in 2.4.1
From:
nagachika00@...
Date:
2017-08-05 06:35:07 UTC
List:
ruby-core #82255
Issue #13772 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 2.2: DONTNEED, 2.3: DONTNEED, 2.4: REQUIRED to 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE
ruby_2_4 r59516 merged revision(s) 59462,59474.
----------------------------------------
Bug #13772: Memory leak recycling stacks for threads in 2.4.1
https://bugs.ruby-lang.org/issues/13772#change-66035
* Author: sam.saffron (Sam Saffron)
* Status: Closed
* Priority: Normal
* Assignee: ko1 (Koichi Sasada)
* Target version:
* ruby -v: 2.4.1
* Backport: 2.2: DONTNEED, 2.3: DONTNEED, 2.4: DONE
----------------------------------------
Per:
https://github.com/rest-client/rest-client/issues/611
gem install rest-client
```
100000.times.each_slice(32) do |slice|
slice.map { Thread.new { RestClient.get('echo.jsontest.com/key/value/one/two') } }.each(&:join)
GC.start(full_mark: true, immediate_sweep: true)
slots = GC.stat[:heap_live_slots]
puts "slots #{slots} #{i+=1} threads #{Thread.list.count}"
end
```
Causes unbound memory growth on 2.4.1, this was not the case in earlier versions of Ruby or Ruby master.
When running through heaptrack and massif-visualizer it looks like all unreclaimed allocations come from thread_recycle_stack
Ruby heaps do not grow during tests, all the growth is around unmanaged memory.
I feel getting this sorted is urgent, we have seen similar leaks at Discourse.
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>