[#3907] Obtaining mode information on an IO object — Jos Backus <jos@...>

The attached patch implements IO#mode. This method returns the mode the IO

17 messages 2004/12/06
[#3909] Re: [patch] Obtaining mode information on an IO object — nobu.nokada@... 2004/12/07

Hi,

[#3910] Re: [patch] Obtaining mode information on an IO object — Jos Backus <jos@...> 2004/12/07

On Tue, Dec 07, 2004 at 09:25:13AM +0900, nobu.nokada@softhome.net wrote:

[#3925] Re: [patch] Obtaining mode information on an IO object — James Britt <ruby@...> 2004/12/09

Jos Backus wrote:

[#4009] cgi.rb -- more GET/POST stuff — mde@...26.com

First of all, I think it would be great, as Eustaquio suggests, to

17 messages 2004/12/23
[#4016] Re: [PATCH] cgi.rb -- more GET/POST stuff — Francis Hwang <sera@...> 2004/12/24

GETs and POSTs are defined to be fairly different actions. I'd read

[#4027] Allowing custom number literal suffixes? — Florian Gro<florgro@...>

Moin!

35 messages 2004/12/27
[#4070] Re: Allowing custom number literal suffixes? — nobu.nokada@... 2005/01/02

Hi,

[#4072] Re: Allowing custom number literal suffixes? — Mathieu Bouchard <matju@...> 2005/01/02

[#4079] Re: Allowing custom number literal suffixes? — Florian Gro<florgro@...> 2005/01/03

Mathieu Bouchard wrote:

[#4081] Re: Allowing custom number literal suffixes? — Mathieu Bouchard <matju@...> 2005/01/03

[#4082] Re: Allowing custom number literal suffixes? — Florian Gro<florgro@...> 2005/01/03

Mathieu Bouchard wrote:

[#4084] Re: Allowing custom number literal suffixes? — Brent Roman <brent@...> 2005/01/04

I'm not sure I would advocate making Ruby's grammar even more

[#4086] Re: Allowing custom number literal suffixes? — Mathieu Bouchard <matju@...> 2005/01/04

[#4033] Garbage collection trouble — Christian Neukirchen <chneukirchen@...>

Hello,

13 messages 2004/12/27

Re: [bug] serious memory leak + continuations

From: Michael Neumann <mneumann@...>
Date: 2004-12-21 17:45:29 UTC
List: ruby-core #3995
Michael Neumann wrote:
> Hi,
> 
> ruby 1.9.0 (2004-12-20) [i386-freebsd5.2.1]
> gcc version 3.3.3 [FreeBSD] 20031106
> 
> In my application, if I change:
> 
>    # (1) this works
>    callback_stream.with_callbacks_for(self, :action) { |callback, val|
>       catch(:something) { callback.call }
>       throw :wee_back_to_session
>     }
> 
> into:
> 
>    # (2) this leaks
>    callback_stream.with_callbacks_for(self, :action) { |callback, val|
>       res = catch(:something) { callback.call }
>       throw :wee_back_to_session
>     }
> 
> or into:
> 
>     # (3) this leaks
>     callback_stream.with_callbacks_for(self, :action) { |callback, val|
>       callback.call
>       throw :wee_back_to_session
>     }
> 
> memory consumption is unbounded! BTW, ":something" is never thrown. It 
> seems that if I reference the return value of callback.call, the memory 
> leak appears. The leak also happens if I change "res = " in (2) into 
> "@res = " or "$res = ". Note that inside callback.call continuations are 
> created.
> 
> And if I return "nil" from the block (callback.call), it leaks, too, 
> even if I use code sample (1).
> 
> I tried above example also with ruby-stable compiled with 2.95.4 (-O0 
> enabled), but there all three examples leak memory.
> 
> It seems to be related to the "unknown node type 0 bug", as it appears 
> to be pretty random (at least in my eyes):
> 
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/123694
> 
> 
> Help! I can send the whole sources to someone who is interested. Only 
> requirements are rubygems, installed narf gem (webunit) and gnuplot to 
> display memory consumption, and of course *nix.

The memory leak probably results from the fact that the continuations 
are not garbage collected. The number of them keep growing in (2) and 
(3), whereas in (1) it stays constant.

Regards,

   Michael

In This Thread

Prev Next