[#1207] warning in ruby extension eats memory — Eugene Scripnik <Eugene.Scripnik@...>
This message was posted to ruby-talk, but I didn't get responce from
>>>>> "E" == Eugene Scripnik <Eugene.Scripnik@itgrp.net> writes:
ts wrote:
>>>>> "E" == Eugene Scripnik <Eugene.Scripnik@itgrp.net> writes:
ts wrote:
>>>>> "E" == Eugene Scripnik <Eugene.Scripnik@itgrp.net> writes:
ts wrote:
>>>>> "E" == Eugene Scripnik <Eugene.Scripnik@itgrp.net> writes:
ts wrote:
>>>>> "E" == Eugene Scripnik <Eugene.Scripnik@itgrp.net> writes:
Hi,
[#1229] stack problem — Mathieu Bouchard <matju@...>
On Sat, Jul 12, 2003 at 01:59:53PM +0900, Mathieu Bouchard wrote:
On Tue, Jul 15, 2003 at 01:26:43AM +0900, Mathieu Bouchard wrote:
Hi,
[#1237] FTP.new with block — Gavin Sinclair <gsinclair@...>
Hi,
>>>>> "G" == Gavin Sinclair <gsinclair@soyabean.com.au> writes:
Hi,
Mathieu Bouchard wrote:
On Sun, Jul 20, 2003 at 03:06:13AM +0900, Dave Thomas wrote:
>>>>> "R" == Richard Zidlicky <rz@linux-m68k.org> writes:
On Sun, Jul 20, 2003 at 06:51:03PM +0900, ts wrote:
>>>>> "R" == Richard Zidlicky <rz@linux-m68k.org> writes:
On Mon, Jul 21, 2003 at 09:59:19PM +0900, ts wrote:
[#1249] File.write(path, data)? — Gavin Sinclair <gsinclair@...>
I am glad to see File.read(path) in Ruby 1.8. But what about
[#1256] testunit, exit status and at_exit — Dave Thomas <dave@...>
I'd really like TestUnit to be able to return an exit status when I run
-----BEGIN PGP SIGNED MESSAGE-----
Sean E. Russell [mailto:ser@germane-software.com] wrote:
Hi,
[#1257] Add have_defined() and rework have_struct_member() — Michal Rokos <m.rokos@...>
Hello,
[#1297] Fix for Bug 1058 — Markus Walser <walser@...>
Hi,
Hi,
On Friday 25 July 2003 10:58, Yukihiro Matsumoto wrote:
Hi,
On Friday 25 July 2003 11:46, Yukihiro Matsumoto wrote:
I tried to figure out what's wrong. So far I havn't a solution:
Hello,
> Check the value of klass by
Hi,
[#1309] exceptions and such — Mathieu Bouchard <matju@...>
[#1310] adding NodeDump and ii — nobu.nokada@...
Hi,
>>>>> "n" == nobu nokada <nobu.nokada@softhome.net> writes:
Re: warning in ruby extension eats memory
ts wrote:
>>>>>>"E" == Eugene Scripnik <Eugene.Scripnik@itgrp.net> writes:
>
>
> E> I've rebuilt ruby with debug information and here is complete backtrace:
> E> Program received signal SIGINT, Interrupt.
> E> rb_call0 (klass=134690664, recv=134688144, id=6817, oid=2, argc=1,
> E> argv=0xbe60d360, body=0x80731f0, nosuper=1) at eval.c:4869
> E> 4869 if (trace_func) {
> E> (gdb) bt
> E> #0 rb_call0 (klass=134690664, recv=134688144, id=6817, oid=2, argc=1,
> E> argv=0xbe60d360, body=0x80731f0, nosuper=1) at eval.c:4869
> E> #1 0x28093949 in rb_call (klass=134690664, recv=134688144, mid=6817,
> E> argc=1,
> E> argv=0xbe60d360, scope=1) at eval.c:5100
> E> #2 0x28093bb7 in rb_funcall (recv=134688144, mid=6817, n=1) at ruby.h:625
> E> #3 0x280a927c in io_write (io=134688144, str=135352400) at io.c:419
>
> Really I don't see. When it crash can you do ?
(gdb) up 3
#3 0x280a927c in io_write (io=134688144, str=135352400) at io.c:419
419 return rb_funcall(io, id_write, 1, str);
(gdb) p *(struct RFile *)io
$1 = {basic = {flags = 0, klass = 134690664}, fptr = 0x804afa0}
(gdb) p rb_deferr
$2 = 134688144
(gdb) p *(struct RFile *)rb_deferr
$3 = {basic = {flags = 0, klass = 134690664}, fptr = 0x804afa0}
(gdb) p str
$4 = 135352400
(gdb) p *(struct RString *)str
$5 = {basic = {flags = 7, klass = 134719624}, len = 72,
ptr = 0x80ac180 "test.rb:6: warning: this warning makes ruby mad when
used wit
h test/unit", aux = {capa = 72, shared = 72}}
As far as I understand from source, ruby checks type of io and if it is
not real io it calls method "write" on it.
Another strange thing is flags. It is 0 which is equal to T_NONE.
Maybe rb_deferr collected in this phase (from my previous post):
#108443 0x280a92ae in rb_io_write () from /usr/local/lib/libruby.so.18
#108444 0x280accb7 in rb_write_deferr2 () from /usr/local/lib/libruby.so.18
#108445 0x280acce9 in rb_write_deferr () from /usr/local/lib/libruby.so.18
#108446 0x2808775e in warn_print () from /usr/local/lib/libruby.so.18
#108447 0x280877b3 in rb_warn () from /usr/local/lib/libruby.so.18
#108448 0x2823580f in test_free () from ./mytest.so
#108449 0x280a5137 in rb_gc_call_finalizer_at_exit ()
from /usr/local/lib/libruby.so.18
#108450 0x2808af03 in ruby_finalize () from /usr/local/lib/libruby.so.18
#108451 0x2808b010 in ruby_cleanup () from /usr/local/lib/libruby.so.18
#108452 0x2808b11f in ruby_stop () from /usr/local/lib/libruby.so.18
--
Eugene Scripnik
IT Group
Software Architect
Tel./Fax +380 (372) 58-43-10
email: Eugene.Scripnik@itgrp.net
http://www.itgrp.net/