[#14690] singleton-of-singleton is Class in 1.9.0 — Sylvain Joyeux <sylvain.joyeux@...4x.org>
In 1.9.0, the singleton of a singleton is Class, while in 1.8 it was a
[#14696] Inconsistency in rescuability of "return" — Charles Oliver Nutter <charles.nutter@...>
Why can you not rescue return, break, etc when they are within
Gary Wright wrote:
On Jan 3, 2008 12:53 AM, Gary Wright <gwtmp01@mac.com> wrote:
Gary Wright wrote:
On Jan 2, 2008 5:26 PM, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
[#14720] bug reports about 1.9 VM — SASADA Koichi <ko1@...>
Hi,
[#14738] Enumerable#zip Needs Love — James Gray <james@...>
The community has been building a Ruby 1.9 compatibility tip list on
Hello James,
On Jan 4, 2008, at 12:11 AM, Martin Duerst wrote:
Hi,
On Jan 7, 2008, at 8:07 PM, Yukihiro Matsumoto wrote:
Hi,
On Jan 7, 2008, at 11:06 PM, Yukihiro Matsumoto wrote:
Hi,
[#14740] Could someone sanity check a paragraph? — Dave Thomas <dave@...>
In the section on writing C extensions for Ruby, I'm talking about
[#14747] BasicObject.instance_eval — Sam Ruby <rubys@...>
I'm looking at converting some code over from BlankSlate to BasicObject,
On Jan 3, 2008 10:06 PM, Sam Ruby <rubys@intertwingly.net> wrote:
[#14772] Manual Memory Management — Pramukta Kumar <prak@...>
I was thinking it would be nice to be able to free large objects at
On Jan 4, 2008 1:25 PM, Pramukta Kumar <prak@fortiusone.com> wrote:
I would only like to add that RMgick for example provides free method to
Marcin Raczkowski wrote:
On Sat, 5 Jan 2008 15:49:30 +0900, Marcin Raczkowski <mailing.mr@gmail.com> wrote:
Python supports 'del reference', which decrements the reference
Evan Weaver wrote:
On Tue, 8 Jan 2008 14:35:28 +0900, Marcin Raczkowski <mailing.mr@gmail.com> wrote:
[#14811] Re: Experimental PATCH to improve thread performance — Brent Roman <brent@...>
Paul,
[#14813] Changes in block_given? in 1.9 — Tomas Matousek <Tomas.Matousek@...>
The following code output differs between 1.8 and 1.9:
[#14816] Fibers clear thread-specific data? — "Tony Arcieri" <tony@...>
Is this behavior intentional?
On Mon, 7 Jan 2008 09:34:35 +0900, "Tony Arcieri" <tony@clickcaster.com> wrote:
On Jan 7, 2008 1:29 PM, MenTaLguY <mental@rydia.net> wrote:
On Tue, 2008-01-08 at 11:12 +0900, Tony Arcieri wrote:
[#14829] Finding I need explicit "GC.start" in my programs to prevent extreme growth. — Ron Mayer <rm_rails@...>
Short summary:
[#14839] Re: Embedding 1.9 — Dave Thomas <dave@...>
Moved over from ruby-talk...
Dave Thomas wrote:
On Wed, Jan 09, 2008 at 02:04:03AM +0900, Dave Thomas wrote:
[#14845] Some (accidental?) syntax changes 1.8 -> 1.9 — "Florian Frank" <flori@...>
Hello,
[#14871] p returning its argument? — "David A. Black" <dblack@...>
Hi --
On Jan 9, 2008 1:14 AM, David A. Black <dblack@rubypal.com> wrote:
[#14877] Array#count returning an enumerator — "David A. Black" <dblack@...>
Hi --
[#14884] memory leak? — ara howard <ara.t.howard@...>
Hi,
[#14885] Segmentation fault when calling procs — Chris "ク" Heath <chris@...>
Hi,
[#14911] Draft of some pages about encoding in Ruby 1.9 — Dave Thomas <dave@...>
Folks:
Hi,
Hello Dave,
>
Hi,
Hi,
[#14943] Re: Really strange GC behaviour: Was [BUG] memory leak? — ara howard <ara.t.howard@...>
[#14959] 1.9 RI blowing up, not sure where to report it. — "Rick DeNatale" <rick.denatale@...>
It's unclear to me whether or not the tracker on Rubyforge is still
Rick DeNatale wrote:
[#14965] Before I create a ticket — Dave Thomas <dave@...>
Is it reasonable to expect the following to produce differing counts
[#14976] nil encoding as synonym for binary encoding — David Flanagan <david@...>
The following just appeared in the ChangeLog
Hi,
Dave Thomas wrote:
Dave Thomas schrieb:
Hi,
Yukihiro Matsumoto writes:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
David Flanagan wrote:
[#15044] Build failures 15007-15013 — Sam Ruby <rubys@...>
Just FYI, starting with 15007, I am not able to do a successful build.
[#15050] how to "borrow" the RDoc::RubyParser and HTMLGenerator — Phlip <phlip2005@...>
Core Rubies:
On Jan 13, 2008, at 08:54 AM, Phlip wrote:
Eric Hodel wrote:
On Jan 13, 2008, at 20:35 PM, Phlip wrote:
Eric Hodel wrote:
On Jan 15, 2008, at 18:19 PM, Phlip wrote:
Eric Hodel wrote:
On Jan 16, 2008, at 15:01 PM, Phlip wrote:
Eric Hodel wrote:
On Jan 17, 2008, at 17:57 PM, Phlip wrote:
Eric Hodel wrote:
[#15056] How to use "addr2line" — SASADA Koichi <ko1@...>
Hi,
[#15069] native_mutex_destroy return non-zero: 16 — Sam Ruby <rubys@...>
Yesterday, I got ruby-openid to work with Ruby 1.9, rev 15006
Hi,
[#15083] Why @hash ||= Hash.new in Set#initialize? — "David A. Black" <dblack@...>
Hi --
[#15092] Module/Class definitions cannot take non literal blocks — "Robert Dober" <robert.dober@...>
Hi list
Hi --
On Jan 16, 2008 1:23 PM, David A. Black <dblack@rubypal.com> wrote:
[#15098] Bug in Date::Infinity#<=> — Dirkjan Bussink <d.bussink@...>
Hi all,
[#15102] REXML::Element.write is deprecated. See REXML::Formatters — Phlip <phlip2005@...>
okay, I saw them. Now what?
Phlip wrote:
> Meanwhile try something like the following:
Phlip wrote:
> I guess I'll let Sean take it from here, other than to note that .to_s
[#15131] test/rdoc/test_simple_markup_attribute_manager.rb:2:in `require': no such file to load -- rdoc/markup/simple_markup/inline (LoadError) — Tanaka Akira <akr@...>
test-all failed as follows.
> test-all failed as follows.
[#15143] Build error, revisions 15119-15126 — Sam Ruby <rubys@...>
This change:
[#15147] String initialziation — Marcin Raczkowski <mailing.mr@...>
Mayby strange question but what happens when someone for example types
Marcin Raczkowski pisze:
Gary Wright wrote:
Marcin Raczkowski schrieb:
> What's your use case? Just curious.
[#15155] an example of performance improvements — Martin Duerst <duerst@...>
For those not reading ruby-dev, I just wanted to point to
[#15164] convert rubynode transforms back into source code? — Phlip <phlip2005@...>
Rubiods:
[#15185] Friendlier methods to compare two Time objects — "Jim Cropcho" <jim.cropcho@...>
Hello,
At 05:42 08/01/23, Kornelius Kalnbach wrote:
Hi,
A new thought:
[#15194] Can large scale projects be successful implemented around a dynamic programming language? — Jordi <mumismo@...>
A good article I have found (may have been linked by slashdot, don't know)
On Thu, 24 Jan 2008 23:17:34 +0900, James Gray wrote:
Jay Levitt wrote:
Kurt Stephens wrote:
[#15199] Two build issues — Dave Thomas <dave@...>
1. If the directory pointed to by --prefix is a symbolic link, then
[#15212] case when syntax changed ??? — "Yvon Thoraval" <yvon.thoraval@...>
did the case when syntax changed with 1.9 ???
[#15217] ruby-1.9.0-0 and Tk — "Yvon Thoraval" <yvon.thoraval@...>
I had successfully tested ruby 1.9 (early december 2007) with Tk, but right
[#15234] Gem install error on head — Dave Thomas <dave@...>
I built HEAD into a totally clean destination (so there were no
On 27/01/2008, Dave Thomas <dave@pragprog.com> wrote:
[#15236] Encoding of unicode strings is now ASCII-8BIT? — Sam Ruby <rubys@...>
Before:
[#15238] CI for Ruby core? — Charles Oliver Nutter <charles.nutter@...>
Perhaps it's time to set up a continuous integration server for ruby
Charles Oliver Nutter wrote:
On Jan 27, 2008 4:01 PM, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:
[#15248] Symbol#empty? ? — "David A. Black" <dblack@...>
Hi --
Hi,
[#15257] a new kind of assertion — Phlip <phlip2005@...>
Ruby-core:
On Jan 28, 2008 5:45 AM, Phlip <phlip2005@gmail.com> wrote:
Meinrad Recheis wrote:
+1
Jim Cropcho wrote:
[#15288] Circular dependency: revision 15317 — Sam Ruby <rubys@...>
http://intertwingly.net/projects/ruby19/logs/ruby.html
[#15297] Deletion of element sequence in an Array — Wolfgang Nádasi-Donner <ed.odanow@...>
Hi!
[#15303] Core team, I need your help — "Jonas Pfenniger" <zimbatm@...>
Hi,
[#15308] IRHG - TNODE Documentation? — Charles Thornton <ceo@...>
Is there any documentation on the TNODE
On Wed, Jan 30, 2008 at 03:42:29PM +0900, Charles Thornton wrote:
Stack memory leaks on i386
While debugging a Ruby 1.9 crash, I noticed some machine stack memory
leaks (unrelated to the crash). Here is my analysis.
Compiler: gcc 3.4.6 on Linux (i686).
Leaky test program:
GC.start # to help with debugging
@c = 0
@c += 1 while @c < 1000
Explanation:
Some INSNs in insns.def compile badly. In general, INSN definitions
that have one or more function calls without any "if" conditions will
leak (usually about 16 bytes per call). Some examples are
getinstancevariable, setinstancevariable, getspecial, setspecial,
getclassvarible, setclassvariable.
Here is an i386 disassembly of the getinstancevariable INSN, with my own
comments added:
mov 0x4(%edi),%eax
lea 0x8(%edi),%ebx
sub $0x8,%esp # rb_ivar_get needs 8 bytes
mov %ebx,(%esi)
push %eax # + 4 bytes
pushl 0x14(%esi) # + 4 bytes on the stack
call 0x80cd11c <rb_ivar_get>
mov 0x4(%esi),%edx
mov %eax,(%edx)
add $0x4,%edx
mov %ebx,%edi
mov %edx,0x4(%esi)
mov (%ebx),%eax
jmp *%eax # this is inserted as an asm() statement,
# so the compiler doesn't know it is jumping.
add $0x10,%esp # here the compiler cleans up the
# stack, but it's too late.
jmp 0x80d32e0 <vm_eval+36>
Possible solution:
I have noticed that a "goto *address" line causes gcc to emit a "jmp *%
eax" instruction anyway. In that case, gcc knows it's a jump, so it
cleans up the stack before the jump.
GDB output to see the leak:
[root@vmware-cheath ruby19]# gdb /usr/local/bin/ruby19
GNU gdb Red Hat Linux (6.3.0.0-1.153.el4rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) break garbage_collect
Breakpoint 1 at 0x8061210: file gc.c, line 1468.
(gdb) run teststack.rb
Starting program: /usr/local/bin/ruby19 teststack.rb
[Thread debugging using libthread_db enabled]
[New Thread -1208936768 (LWP 9943)]
[New Thread -1211765856 (LWP 9946)]
[Switching to Thread -1208936768 (LWP 9943)]
Breakpoint 1, garbage_collect () at gc.c:1468
1468 if (GC_NOTIFY) printf("start garbage_collect()\n");
(gdb) break rb_ivar_get
Breakpoint 2 at 0x80cd13f: file variable.c, line 968.
(gdb) display $sp
1: $sp = (void *) 0xbfed6784
(gdb) cont
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=151689584) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7858
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=1) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7848
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=3083392588) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7828
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=1) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7818
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=3083392588) at variable.c:968
968 {
1: $sp = (void *) 0xbfed77f8
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=1) at variable.c:968
968 {
1: $sp = (void *) 0xbfed77e8
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=3083392588) at variable.c:968
968 {
1: $sp = (void *) 0xbfed77c8
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=1) at variable.c:968
968 {
1: $sp = (void *) 0xbfed77b8
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=3083392588) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7798
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=1) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7788
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=3083392588) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7768
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=1) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7758
(gdb)
Continuing.
Breakpoint 2, rb_ivar_get (obj=9489, id=3083392588) at variable.c:968
968 {
1: $sp = (void *) 0xbfed7738
etc....