[#39227] [Ruby 1.9 - Bug #5264][Open] Commit 33157 — Charlie Savage <cfis@...>
[#39241] [Ruby 1.9 - Bug #3422][Closed] Object.const_get(:A, false) can access BasicObject::A — Nobuyoshi Nakada <nobu@...>
On Sat, Sep 3, 2011 at 04:57, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
> Why is this issue closed? Is the current behaviour acceptable?
[#39260] RubySpec vs CRuby's test/... — Marc-Andre Lafortune <ruby-core-mailing-list@...>
Before the release of Ruby 1.9.2 it was decided that Ruby releases
Hi,
(09/05/2011 03:54 AM), Marc-Andre Lafortune wrote:
Hi,
2011/9/5 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:
On Mon, Sep 5, 2011 at 3:08 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
2011/9/5 Marc-Andre Lafortune <ruby-core-mailing-list@marc-andre.ca>:
I'll jump in with some context from the JRuby perspective.
2011/9/7 Charles Oliver Nutter <headius@headius.com>:
On Wed, Sep 7, 2011 at 4:17 AM, NARUSE, Yui <naruse@airemix.jp> wrote:
Hi,
Yukihiro Matsumoto:
(2011/09/09 1:29), Michael Klishin wrote:
On Thu, Sep 8, 2011 at 4:19 PM, NARUSE, Yui <naruse@airemix.jp> wrote:
Hello Luis,
On Thu, Sep 8, 2011 at 5:34 PM, Masaya TARUI <tarui@prx.jp> wrote:
On Thu, Sep 8, 2011 at 3:57 PM, Luis Lavena <luislavena@gmail.com> wrote:
On Thu, Sep 8, 2011 at 5:07 PM, Charles Oliver Nutter
(2011/09/08 15:28), Charles Oliver Nutter wrote:
2011/9/9 Charles Oliver Nutter <headius@headius.com>:
On Thu, Sep 8, 2011 at 9:47 PM, NARUSE, Yui <naruse@airemix.jp> wrote:
I realize that I'm a small fish in this ocean, but for every release
(09/09/2011 03:51 PM), Kirk Haines wrote:
[#39267] [Ruby 1.9 - Bug #5273][Open] Float#round returns the wrong floats for higher precision — Marc-Andre Lafortune <ruby-core@...>
[#39279] [Ruby 1.9 - Bug #5276][Assigned] 4294967295.8.round is 4294967295 on 32bit — Yui NARUSE <naruse@...>
[#39304] [Ruby 1.9 - Bug #5285][Open] Ruby 1.9.2 throws exception on sort of array containing true AND false values — Martin Corino <mcorino@...>
[#39309] [Ruby 1.9 - Bug #5287][Open] 1.9.3 - Interpolation in a string causes the string's encoding to be set to ASCII-8BIT — Jon Leighton <j@...>
[#39326] [Ruby 1.9 - Feature #5291][Open] Enabling GC Profiler GC_PROFILE_MORE_DETAIL and CALC_EXACT_MALLOC_SIZE — Charlie Savage <cfis@...>
[#39360] What is the role of rb_objspace_t in gc.c? — Kurt Stephens <ks@...>
What is the role of rb_objectspace_t and the pointers to it inside gc.c?
[#39380] [Ruby 1.9 - Bug #5299][Open] Segmentation fault when using TweetStream gem in ruby 1.9.3 — Dushyanth Maguluru <dushyanth.maguluru@...>
[#39435] [Ruby 1.9 - Bug #5306][Open] Application Hangs Due to Recent rb_thread_select Changes — Charlie Savage <cfis@...>
[#39450] Comments on HowToReportEnglish — Andrew Grimm <andrew.j.grimm@...>
I've done some proofreading for HowToReportEnglish, and I'd like to
Hello,
Hello
[#39451] File.realpath behavior questions — Luis Lavena <luislavena@...>
Hello,
Hi,
On Sun, Sep 11, 2011 at 4:48 AM, Nobuyoshi Nakada <nobu@ruby-lang.org> wrot=
[#39480] Modifications to libraries like Rake should be done upstream first — Luis Lavena <luislavena@...>
Hello,
[#39484] [Ruby 1.9 - Bug #5309][Open] 0.6.to_r != "0.6".to_r — Brian Ford <brixen@...>
[#39487] File::BINARY does not behave as advertised — Cameron Pope <camerooni@...>
Hello -
On Mon, Sep 12, 2011 at 16:00, Cameron Pope <camerooni@gmail.com> wrote:
[#39498] [Ruby 1.9 - Feature #5310][Open] Integral objects — Kenta Murata <muraken@...>
On Mon, Sep 12, 2011 at 6:15 PM, Kenta Murata <muraken@gmail.com> wrote:
[#39539] [Ruby 1.9 - Feature #5321][Open] Introducing Numeric#exact? and Numeric#inexact? — Kenta Murata <muraken@...>
[#39597] File.expand_path ~username always trigger ArgumentError on Windows — Luis Lavena <luislavena@...>
Hello,
[#39618] [Ruby 1.9 - Bug #5335][Open] [RFC/PATCH] test_old_thread_select: timing tweaks — Eric Wong <normalperson@...>
[#39627] Re: [ruby-cvs:40472] drbrain:r33294 (trunk): * test/openssl/test_ssl.rb (class OpenSSL): Test — "NARUSE, Yui" <naruse@...>
(2011/09/19 9:28), drbrain@ruby-lang.org wrote:
On Sep 19, 2011, at 11:33 AM, NARUSE, Yui wrote:
2011/9/19 Eric Hodel <drbrain@segment7.net>:
[#39629] [Ruby 1.9 - Feature #5341][Open] Add SSL session reuse to Net::HTTP — Eric Hodel <drbrain@...7.net>
On 10/26/2011 11:39 AM, Eric Hodel wrote:
[#39632] [Ruby 1.9 - Bug #5342][Open] ConditionVariable can wake a Thread that is no longer waiting on it — Mike Perham <mperham@...>
[#39634] [Ruby 1.9 - Bug #5343][Open] Unexpected blocking behavior when interrupt Socket#accept — Tomoyuki Chikanaga <nagachika00@...>
[#39672] [Ruby 1.9 - Feature #5352][Open] How about using <> to represent Here Document? — Joey Zhou <yimutang@...>
[#39673] [Ruby 1.9 - Bug #5353][Open] TLS v1.0 and less - Attack on CBC mode — Martin Bosslet <Martin.Bosslet@...>
[#39684] [Ruby 1.9 - Bug #5357][Open] Indentation of nested operators should nest — Nikolai Weibull <now@...>
[#39690] [Ruby 1.9 - Feature #5360][Open] BasicObject#binding — Thomas Sawyer <transfire@...>
[#39696] Time spent on expanding load path — Juan Wajnerman <jwajnerman@...>
I've been following the performance of Ruby 1.9.x since the beginning. I =
[#39700] [Ruby 1.9 - Feature #5364][Open] How about new syntax: "object.\method" returns a Method instance? — Joey Zhou <yimutang@...>
[#39704] [Ruby 1.9 - Bug #5365][Open] WEBrick lacks the application/javascript and image/svg+xml MIME types. — Hal Brodigan <postmodern.mod3@...>
[#39740] [Ruby 1.9 - Feature #5372][Open] Promote blank? to a core protocol — Alex Young <alex@...>
On Tue, Sep 27, 2011 at 06:18:19PM +0900, Alex Young wrote:
On 27/09/2011 19:46, Aaron Patterson wrote:
On Sep 27, 2011, at 6:52 PM, Alex Young wrote:
Eric Hodel wrote in post #1024462:
Hi,
On 04/10/11 16:52, Nobuyoshi Nakada wrote:
[#39772] ObjectSpace.reference_form(obj) #=> references_array — SASADA Koichi <ko1@...>
Hi,
Hi,
Hi,
(2011/09/30 5:37), hemant wrote:
On 09/30/2011 07:08 AM, SASADA Koichi wrote:
Revisit.
On Sep 20, 2012, at 6:14 PM, SASADA Koichi <ko1@atdot.net> wrote:
(2012/09/25 7:38), Eric Hodel wrote:
I'm sorry for late reply.
(2012/09/25 15:18), Narihiro Nakamura wrote:
[ruby-core:39235] [Ruby 1.9 - Bug #5261] Symbol#to_proc memory leak in 1.9.x
Issue #5261 has been updated by Ken Simon.
Indeed you're right, the references certainly take longer to get collected but don't increase considerably over time. It certainly caused some issues with our production code, but we need to accept a high degree of memory usage with the problem we're solving. This ticket can be closed, thank you for your time.
----------------------------------------
Bug #5261: Symbol#to_proc memory leak in 1.9.x
http://redmine.ruby-lang.org/issues/5261
Author: Ken Simon
Status: Open
Priority: Normal
Assignee:
Category:
Target version: 1.9.x
ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
=begin
It appears that running an array through .map(&:foo) leaks the array's contents, and they don't get picked up by the Garbage Collector.
Given a simple class:
class C
def foo
"foo"
end
end
The following appears to leave references around (1.9.3-preview1 irb session shown, ruby -v gives ruby -v
ruby 1.9.3dev (2011-07-31 revision 32789) [x86_64-darwin11.1.0]):
ruby-1.9.3-preview1 :001 > a = 10.times.map{C.new}
=> [... snip ...]
ruby-1.9.3-preview1 :002 > b = a.map(&:foo)
=> ["foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo"]
ruby-1.9.3-preview1 :003 > a = b = nil
=> nil
ruby-1.9.3-preview1 :004 > GC.start
=> nil
ruby-1.9.3-preview1 :005 > ObjectSpace.each_object(C){}
=> 10
If I instead run a through the block form of map, the GC collects the objects as expected:
ruby-1.9.3-preview1 :001 > a = 10.times.map{C.new}
=> [... snip ...]
ruby-1.9.3-preview1 :002 > b = a.map{|x| x.foo}
=> ["foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo", "foo"]
ruby-1.9.3-preview1 :003 > a = b = nil
=> nil
ruby-1.9.3-preview1 :004 > GC.start
=> nil
ruby-1.9.3-preview1 :005 > ObjectSpace.each_object(C){}
=> 0
The same issue happens in 1.9.2-p180 and 1.9.2-p290, Linux and Darwin, but *not* in any 1.8 releases I've tried.
Also, as Niklas reported in the StackOverflow post I made about this (http://stackoverflow.com/questions/7263268/ruby-symbolto-proc-leaks-references-in-1-9-2-p180), replacing Symbol#to_proc with a pure-ruby equivalent solves the issue just fine:
class Symbol
def to_proc
lambda { |x| x.send(self) }
end
end
The above has no memory leaks with a.map(&:foo). Also, as Niklas said, calling a.map(&:foo.to_proc) explicitly doesn't involve a leak either. The issue seems to me to be with ruby's sym_proc_cache global in string.c... when that code path is avoided, nothing seems to leak.
What I would expect is for a.map(&:foo) and a.map{|x| x.foo} to work identically, but the (&:foo) form seems to leak memory.
This issue is important to me because we had a very high-memory using codebase on our production servers and the items in my array are each a few hundred megs in size, and such memory leaks ran our servers out of memory fairly quickly. (The explicit block way of using map works fine for now, but I want to make sure others don't hit this issue.)
--
http://redmine.ruby-lang.org