[#41581] Ruby 1.6.7 dieing of segfault — Dossy <dossy@...>

I've got something that's fairly reproducible in 1.6.7. Is

11 messages 2002/06/02
[#41582] Re: Ruby 1.6.7 dieing of segfault — Nobuyoshi Nakada <nobu.nokada@...> 2002/06/02

Hi,

[#41660] dynamic attr_accessor?? — Markus Jais <mjais@...>

hello

16 messages 2002/06/03

[#41755] HTML Parser suggestions wanted — Ned Konz <ned@...>

I've written an HTML parser that builds trees from HTML source. After

13 messages 2002/06/04

[#41809] eval and local variable — "Park Heesob" <phasis@...>

15 messages 2002/06/05

[#41819] mod_ruby and module space — "Sean O'Dell" <sean@...>

It seems that if I execute a script using mod_ruby, I cannot call

18 messages 2002/06/05

[#41867] Pascal-like 'with' statement? — Philip Mak <pmak@...>

Is there something like Pascal's with statement? I'd like to turn this

18 messages 2002/06/06

[#41919] 1-second events — Paul Brannan <pbrannan@...>

I need to create an event that occurs exactly once per second.

15 messages 2002/06/06

[#42086] ANN: REXML 2.3.5 && 2.2.3 — Sean Russell <ser@...>

<posted & mailed>

31 messages 2002/06/09
[#42091] Re: ANN: REXML 2.3.5 && 2.2.3 — Sean Russell <ser@...> 2002/06/09

<posted & mailed>

[#42092] RE: ANN: REXML 2.3.5 && 2.2.3 — <james@...> 2002/06/09

> Well, XMLSchema may be troublesome to interpret, but it isn't

[#42192] ruby-dev summary 17252-17356 — Minero Aoki <aamine@...>

Hi all,

81 messages 2002/06/11
[#42290] Re: a new block parameter/variable notation (Re: ruby-dev summary 17252-17356) — Kent Dahl <kentda@...> 2002/06/12

Not wanting to flog a dead horse, but I just wonder what the final word

[#42295] Re: a new block parameter/variable notation (Re: ruby-dev summary 17252-17356) — matz@... (Yukihiro Matsumoto) 2002/06/12

Hi,

[#42455] Application server & web developement enviroment — "Radu M. Obad磚 <whizkid@...>

Howdy,

14 messages 2002/06/14
[#42459] Re: Application server & web developement enviroment — Austin Ziegler <austin@...> 2002/06/14

On Fri, 14 Jun 2002 15:55:31 +0900, Radu M. Obadwrote:

[#42472] ANN: Programmierung in Ruby — "Juergen Katins" <katins.juergen@...>

Programmierung in Ruby Online gibt es jetzt mit ausfrlichem

14 messages 2002/06/14

[#42504] Are Unix tools just slow? — Chris Gehlker <gehlker@...>

Awhile back I was asking for help with a unixy way to search the mounted

48 messages 2002/06/14
[#42516] Re: Are Unix tools just slow? — "Daniel P. Zepeda" <daniel@...> 2002/06/15

On Sat, 15 Jun 2002 07:14:38 +0900

[#42506] Re: Are Unix tools just slow? — Rick Bradley <rick@...> 2002/06/14

* Chris Gehlker (gehlker@fastq.com) [020614 17:18]:

[#42512] Re: Are Unix tools just slow? — Chris Gehlker <gehlker@...> 2002/06/15

On 6/14/02 3:34 PM, "Rick Bradley" <rick@rickbradley.com> wrote:

[#42513] opengl for ruby, please help — ccos <ccos@...> 2002/06/15

unix newby failing miserably here:

[#42507] mpg123 — Tobias Reif <tobiasreif@...>

Hi,

15 messages 2002/06/14

[#42546] File.new('foo', 0600 , 'wb') — Tobias Reif <tobiasreif@...>

Hi,

21 messages 2002/06/15
[#42552] Re: File.new('foo', 0600 , 'wb') — Tobias Reif <tobiasreif@...> 2002/06/15

Dossy wrote:

[#42591] Kernel#select questions — Wilkes Joiner <boognish23@...>

I'm trying to track down a bug where Kernel#select is returning [[],[],[]] as

12 messages 2002/06/17

[#42617] eRuby on Mac OS X — Jim Menard <jimm@...>

I've searched ruby-talk for this topic, and the only messages I found show

13 messages 2002/06/17

[#42674] REXML in C — "Radu M. Obad磚 <whizkid@...>

Hi,

20 messages 2002/06/18

[#42771] Why is I/O slow? — Clifford Heath <cjh_nospam@...>

Ok, folk, time to try again. It's nothing to do with SHA-1.

61 messages 2002/06/20
[#42831] Re: Why is I/O slow? — Clifford Heath <cjh_nospam@...> 2002/06/21

Yukihiro Matsumoto wrote:

[#42836] RE: Why is I/O slow? — "Mike Campbell" <michael_s_campbell@...> 2002/06/21

> With respect, this doesn't sound like a smart idea. The glibc folk have

[#42838] Re: Why is I/O slow? — Albert Wagner <alwagner@...> 2002/06/21

On Thursday 20 June 2002 10:10 pm, Mike Campbell wrote:

[#42839] Re: Why is I/O slow? — Austin Ziegler <austin@...> 2002/06/21

On Fri, 21 Jun 2002 12:16:24 +0900, Albert Wagner wrote:

[#42928] GOOD DEAL — "DR. ISA BELLO" <dr_isa@...>

FROM:DR ISA BELLO

11 messages 2002/06/22

[#42982] No exceptions from String#to_i — "Hal E. Fulton" <hal9000@...>

I've been bitten by this before... maybe

19 messages 2002/06/24
[#42983] Re: No exceptions from String#to_i — ts <decoux@...> 2002/06/24

>>>>> "H" == Hal E Fulton <hal9000@hypermetrics.com> writes:

[#42986] Re: No exceptions from String#to_i — Nikodemus Siivola <tsiivola@...> 2002/06/24

[#43122] Re: help (ruby-talk ML) — Benjamin Peterson <bjsp123@...>

20 messages 2002/06/27
[#43123] Re: help (ruby-talk ML) — Dave Thomas <Dave@...> 2002/06/27

Benjamin Peterson <bjsp123@yahoo.com> writes:

[#43124] RE: help (ruby-talk ML) — Bob Calco <robert.calco@...> 2002/06/27

Yes, I would gladly volunteer considerable effort to this end. I have

[#43147] Ruby on Mac OS X — Tobias Reif <tobiasreif@...>

Hi,

24 messages 2002/06/28

[#43174] eruby SAFE question — Dylan Northrup <docx@...>

I'm trying to implement a replacement for the standard apache file listings

39 messages 2002/06/28
[#43249] documentation licenses (was: eruby SAFE question) — Tobias Reif <tobiasreif@...> 2002/06/30

Dave Thomas wrote:

[#43250] Re: documentation licenses (was: eruby SAFE question) — Dave Thomas <Dave@...> 2002/06/30

Tobias Reif <tobiasreif@pinkjuice.com> writes:

[#43255] RE: documentation licenses (was: eruby SAFE question) — <james@...> 2002/06/30

>

[#43280] Re: documentation licenses (was: eruby SAFE question) — "Juergen Katins" <juergen.katins@...> 2002/07/01

Tobias Reif wrote

[#43282] Re: documentation licenses (was: eruby SAFE question) — David Alan Black <dblack@...> 2002/07/01

On Mon, 1 Jul 2002, Juergen Katins wrote:

[#43381] RE: documentation licenses (was: eruby SAFE question) — <james@...> 2002/07/02

> From: David Alan Black [mailto:dblack@candle.superlink.net]

Ruby 1.7.2 dieing of segfault (was Re: Ruby 1.6.7 dieing of segfault)

From: Dossy <dossy@...>
Date: 2002-06-02 11:09:41 UTC
List: ruby-talk #41603
On 2002.06.02, Dossy <dossy@panoptic.com> wrote:
> I'm building 1.7.2 (as checked out of CVS just now) and II'll
> see if this fixes the problem.  If not, I'll try to debug harder.

$ ruby-1.7.2 -v
ruby 1.7.2 (2002-05-30) [i686-linux]

Well, I built 1.7.2 (and freshly installed ruby/dbi, dbd_oracle 0.0.15
and rexml 2.2.2).  I still get the error, but at least now I get more
useful debugging info in gdb:

Program received signal SIGSEGV, Segmentation fault.
0x400dac1b in free () from /lib/libc.so.6
(gdb) bt
#0  0x400dac1b in free () from /lib/libc.so.6
#1  0x400daaa3 in free () from /lib/libc.so.6
#2  0x0806a9a5 in obj_free (obj=1076321712) at gc.c:1069
#3  0x0806a628 in gc_sweep () at gc.c:894
#4  0x0806ab9c in rb_gc () at gc.c:1199
#5  0x08069b3f in rb_newobj () at gc.c:320
#6  0x08051ba7 in new_blktag () at eval.c:575
#7  0x08055470 in rb_eval (self=1075998352, n=0x4019cfb8) at eval.c:2455
#8  0x08054afa in rb_eval (self=1075998352, n=0x4019d224) at eval.c:2200
#9  0x0805ae45 in rb_call0 (klass=1075883624, recv=1075998352, id=6913,
    argc=0, argv=0xbffedc58, body=0x4019d224, nosuper=0) at eval.c:4659
#10 0x0805b268 in rb_call (klass=1075883624, recv=1075998352, mid=6913,
    argc=2, argv=0xbffedc50, scope=0) at eval.c:4755
#11 0x080562ef in rb_eval (self=1076000392, n=0x40198a44) at eval.c:2721
#12 0x080590a8 in rb_yield_0 (val=1075998352, self=1076000392, klass=0,
    pcall=0) at eval.c:3820
#13 0x080592e4 in rb_yield (val=1075998352) at eval.c:3889
#14 0x080b5b24 in rb_ary_each (ary=1076000292) at array.c:754
#15 0x0805a556 in call_cfunc (func=0x80b5b04 <rb_ary_each>, recv=1076000292,
    len=0, argc=0, argv=0x0) at eval.c:4396
#16 0x0805aa51 in rb_call0 (klass=1075522140, recv=1076000292, id=3697,
    argc=0, argv=0x0, body=0x401b2638, nosuper=1) at eval.c:4530
#17 0x0805b268 in rb_call (klass=1075522140, recv=1076000292, mid=3697,
    argc=0, argv=0x0, scope=0) at eval.c:4755
#18 0x080562ef in rb_eval (self=1076000392, n=0x4021afe8) at eval.c:2721
#19 0x0805f7b8 in block_pass (self=1076000392, node=0x4021affc) at eval.c:6720
#20 0x08055410 in rb_eval (self=1076000392, n=0x4021b04c) at eval.c:2447
#21 0x0805ae45 in rb_call0 (klass=1075923404, recv=1076000392, id=3697,
    argc=0, argv=0x0, body=0x4021b04c, nosuper=0) at eval.c:4659
#22 0x0805b268 in rb_call (klass=1075923404, recv=1076000392, mid=3697,
    argc=0, argv=0x0, scope=1) at eval.c:4755
#23 0x0805652c in rb_eval (self=1076000392, n=0x40198a1c) at eval.c:2734
#24 0x08055580 in rb_eval (self=1076000392, n=0x401985e4) at eval.c:2461
#25 0x0805ae45 in rb_call0 (klass=1075883624, recv=1076000392, id=11729,
    argc=0, argv=0xbffefcd8, body=0x401985e4, nosuper=0) at eval.c:4659
#26 0x0805b268 in rb_call (klass=1075883624, recv=1076000392, mid=11729,
    argc=2, argv=0xbffefcd0, scope=1) at eval.c:4755
#27 0x0805652c in rb_eval (self=1076000392, n=0x4019cd9c) at eval.c:2734
#28 0x08054afa in rb_eval (self=1076000392, n=0x4019cc5c) at eval.c:2200
#29 0x08054afa in rb_eval (self=1076000392, n=0x4019d224) at eval.c:2200
#30 0x0805ae45 in rb_call0 (klass=1075883624, recv=1076000392, id=6913,
    argc=0, argv=0xbfff0d18, body=0x4019d224, nosuper=0) at eval.c:4659
#31 0x0805b268 in rb_call (klass=1075883624, recv=1076000392, mid=6913,
    argc=2, argv=0xbfff0d10, scope=0) at eval.c:4755
#32 0x080562ef in rb_eval (self=1076001592, n=0x40198a44) at eval.c:2721
#33 0x080590a8 in rb_yield_0 (val=1076000392, self=1076001592, klass=0,
    pcall=0) at eval.c:3820
#34 0x080592e4 in rb_yield (val=1076000392) at eval.c:3889
#35 0x080b5b24 in rb_ary_each (ary=1076001532) at array.c:754
#36 0x0805a556 in call_cfunc (func=0x80b5b04 <rb_ary_each>, recv=1076001532,
    len=0, argc=0, argv=0x0) at eval.c:4396
#37 0x0805aa51 in rb_call0 (klass=1075522140, recv=1076001532, id=3697,
    argc=0, argv=0x0, body=0x401b2638, nosuper=1) at eval.c:4530
#38 0x0805b268 in rb_call (klass=1075522140, recv=1076001532, mid=3697,
    argc=0, argv=0x0, scope=0) at eval.c:4755
#39 0x080562ef in rb_eval (self=1076001592, n=0x4021afe8) at eval.c:2721
#40 0x0805f7b8 in block_pass (self=1076001592, node=0x4021affc) at eval.c:6720
#41 0x08055410 in rb_eval (self=1076001592, n=0x4021b04c) at eval.c:2447
#42 0x0805ae45 in rb_call0 (klass=1075923404, recv=1076001592, id=3697,
    argc=0, argv=0x0, body=0x4021b04c, nosuper=0) at eval.c:4659
#43 0x0805b268 in rb_call (klass=1075923404, recv=1076001592, mid=3697,
    argc=0, argv=0x0, scope=1) at eval.c:4755
#44 0x0805652c in rb_eval (self=1076001592, n=0x40198a1c) at eval.c:2734
#45 0x08055580 in rb_eval (self=1076001592, n=0x401985e4) at eval.c:2461
#46 0x0805ae45 in rb_call0 (klass=1075883624, recv=1076001592, id=11729,
    argc=0, argv=0xbfff2d98, body=0x401985e4, nosuper=0) at eval.c:4659
#47 0x0805b268 in rb_call (klass=1075883624, recv=1076001592, mid=11729,
    argc=2, argv=0xbfff2d90, scope=1) at eval.c:4755
#48 0x0805652c in rb_eval (self=1076001592, n=0x4019cd9c) at eval.c:2734
#49 0x08054afa in rb_eval (self=1076001592, n=0x4019cc5c) at eval.c:2200
#50 0x08054afa in rb_eval (self=1076001592, n=0x4019d224) at eval.c:2200
#51 0x0805ae45 in rb_call0 (klass=1075883624, recv=1076001592, id=6913,
    argc=0, argv=0xbfff3dd8, body=0x4019d224, nosuper=0) at eval.c:4659
#52 0x0805b268 in rb_call (klass=1075883624, recv=1076001592, mid=6913,
    argc=2, argv=0xbfff3dd0, scope=1) at eval.c:4755
#53 0x0805652c in rb_eval (self=1076001592, n=0x40217460) at eval.c:2734
#54 0x08054afa in rb_eval (self=1076001592, n=0x4021744c) at eval.c:2200
#55 0x0805ae45 in rb_call0 (klass=1075923364, recv=1076001592, id=3065,
    argc=0, argv=0x0, body=0x4021744c, nosuper=0) at eval.c:4659
#56 0x0805b268 in rb_call (klass=1075923364, recv=1076001592, mid=3065,
    argc=0, argv=0x0, scope=0) at eval.c:4755
#57 0x080562ef in rb_eval (self=1075988412, n=0x4021186c) at eval.c:2721
#58 0x0805614f in rb_eval (self=1075988412, n=0x402117f4) at eval.c:2718
#59 0x0805ae45 in rb_call0 (klass=1075951104, recv=1075988412, id=324, argc=0,
    argv=0xbfff54a4, body=0x402117f4, nosuper=0) at eval.c:4659
#60 0x0805b268 in rb_call (klass=1075951104, recv=1075988412, mid=324, argc=1,
    argv=0xbfff54a0, scope=1) at eval.c:4755
#61 0x0805b499 in rb_funcall (recv=1075988412, mid=324, n=1) at eval.c:4829
#62 0x080bcb59 in cmp_equal (x=1075988412, y=1076001592) at compar.c:23
#63 0x0805a568 in call_cfunc (func=0x80bcb40 <cmp_equal>, recv=1075988412,
    len=1, argc=1, argv=0xbfff56e0) at eval.c:4399
#64 0x0805aa51 in rb_call0 (klass=1075950984, recv=1075988412, id=325, argc=1,
    argv=0xbfff56e0, body=0x401b8880, nosuper=1) at eval.c:4530
#65 0x0805b268 in rb_call (klass=1075950984, recv=1075988412, mid=325, argc=1,
    argv=0xbfff56e0, scope=1) at eval.c:4755
#66 0x0805b499 in rb_funcall (recv=1075988412, mid=325, n=1) at eval.c:4829
#67 0x0807c44f in rb_equal (obj1=1075988412, obj2=1076001592) at object.c:45
#68 0x080b72cf in rb_ary_includes (ary=1076005652, item=1076001592)
    at array.c:1570
#69 0x0805a568 in call_cfunc (func=0x80b72a4 <rb_ary_includes>,
    recv=1076005652, len=1, argc=1, argv=0xbfff5950) at eval.c:4399
#70 0x0805aa51 in rb_call0 (klass=1075522140, recv=1076005652, id=3319,
    argc=1, argv=0xbfff5950, body=0x401b2188, nosuper=1) at eval.c:4530
#71 0x0805b268 in rb_call (klass=1075522140, recv=1076005652, mid=3319,
    argc=1, argv=0xbfff5950, scope=0) at eval.c:4755
#72 0x080562ef in rb_eval (self=1076005872, n=0x4021b2a4) at eval.c:2721
#73 0x08054db7 in rb_eval (self=1076005872, n=0x4021b27c) at eval.c:2288
#74 0x08054afa in rb_eval (self=1076005872, n=0x4021b1f0) at eval.c:2200
#75 0x0805ae45 in rb_call0 (klass=1075923404, recv=1076005872, id=4489,
    argc=0, argv=0xbfff6984, body=0x4021b1f0, nosuper=0) at eval.c:4659
#76 0x0805b268 in rb_call (klass=1075923404, recv=1076005872, mid=4489,
    argc=1, argv=0xbfff6980, scope=0) at eval.c:4755
#77 0x080562ef in rb_eval (self=1076001592, n=0x40219814) at eval.c:2721
#78 0x08054afa in rb_eval (self=1076001592, n=0x40219738) at eval.c:2200
#79 0x0805ae45 in rb_call0 (klass=1075926404, recv=1076001592, id=11308,
    argc=0, argv=0xbfff74e4, body=0x40219738, nosuper=0) at eval.c:4659
#80 0x0805b268 in rb_call (klass=1075926404, recv=1076001592, mid=11308,
    argc=1, argv=0xbfff74e0, scope=0) at eval.c:4755
#81 0x080562ef in rb_eval (self=1076005872, n=0x4021b1f0) at eval.c:2721
#82 0x0805ae45 in rb_call0 (klass=1075923404, recv=1076005872, id=4489,
    argc=0, argv=0xbfff7b74, body=0x4021b1f0, nosuper=0) at eval.c:4659
#83 0x0805b268 in rb_call (klass=1075923404, recv=1076005872, mid=4489,
    argc=1, argv=0xbfff7b70, scope=0) at eval.c:4755
#84 0x080562ef in rb_eval (self=1076001592, n=0x40219814) at eval.c:2721
#85 0x08054afa in rb_eval (self=1076001592, n=0x40219738) at eval.c:2200
#86 0x0805ae45 in rb_call0 (klass=1075926404, recv=1076001592, id=11308,
    argc=0, argv=0xbfff86d4, body=0x40219738, nosuper=0) at eval.c:4659
#87 0x0805b268 in rb_call (klass=1075926404, recv=1076001592, mid=11308,
    argc=1, argv=0xbfff86d0, scope=0) at eval.c:4755
#88 0x080562ef in rb_eval (self=1075976752, n=0x4021b90c) at eval.c:2721
#89 0x08054afa in rb_eval (self=1075976752, n=0x4021b880) at eval.c:2200
#90 0x08055a52 in rb_eval (self=1075976752, n=0x4021b6dc) at eval.c:2562
#91 0x08054afa in rb_eval (self=1075976752, n=0x4021b68c) at eval.c:2200
#92 0x0805ae45 in rb_call0 (klass=1075923404, recv=1075976752, id=6017,
    argc=0, argv=0xbfff9bd4, body=0x4021b68c, nosuper=0) at eval.c:4659
#93 0x0805b268 in rb_call (klass=1075923404, recv=1075976752, mid=6017,
    argc=1, argv=0xbfff9bd0, scope=0) at eval.c:4755
#94 0x080562ef in rb_eval (self=1076596912, n=0x401e94c0) at eval.c:2721
#95 0x08054afa in rb_eval (self=1076596912, n=0x401e9bf0) at eval.c:2200
#96 0x0805ae45 in rb_call0 (klass=1076366512, recv=1076596912, id=14369,
    argc=0, argv=0xbfffa744, body=0x401e9bf0, nosuper=0) at eval.c:4659
#97 0x0805b268 in rb_call (klass=1076366512, recv=1076596912, mid=14369,
    argc=1, argv=0xbfffa740, scope=0) at eval.c:4755
#98 0x080562ef in rb_eval (self=1076596912, n=0x401e459c) at eval.c:2721
#99 0x08056e94 in rb_eval (self=1076596912, n=0x401e4588) at eval.c:2881
#100 0x08054afa in rb_eval (self=1076596912, n=0x401e4498) at eval.c:2200
#101 0x0805ae45 in rb_call0 (klass=1076366512, recv=1076596912, id=14617,
    argc=0, argv=0xbfffb9bc, body=0x401e4498, nosuper=0) at eval.c:4659
#102 0x0805b268 in rb_call (klass=1076366512, recv=1076596912, mid=14617,
    argc=1, argv=0xbfffb9b8, scope=1) at eval.c:4755
#103 0x0805b3d9 in rb_f_send (argc=1, argv=0xbfffb9b4, recv=1076596912)
    at eval.c:4785
#104 0x0805a548 in call_cfunc (func=0x805b314 <rb_f_send>, recv=1076596912,
    len=-1, argc=2, argv=0xbfffb9b4) at eval.c:4393
#105 0x0805aa51 in rb_call0 (klass=1075551380, recv=1076596912, id=3897,
    argc=2, argv=0xbfffb9b4, body=0x401b7e94, nosuper=1) at eval.c:4530
#106 0x0805b268 in rb_call (klass=1075551380, recv=1076596912, mid=3897,
    argc=2, argv=0xbfffb9b4, scope=0) at eval.c:4755
#107 0x080562ef in rb_eval (self=1075853724, n=0x401ee204) at eval.c:2721
#108 0x08056eda in rb_eval (self=1075853724, n=0x401eddb8) at eval.c:2887
#109 0x08054afa in rb_eval (self=1075853724, n=0x401ee9e8) at eval.c:2200
#110 0x0805ae45 in rb_call0 (klass=1075853624, recv=1075853724, id=9657,
    argc=0, argv=0xbfffc9f8, body=0x401ee9e8, nosuper=0) at eval.c:4659
#111 0x0805b268 in rb_call (klass=1075853624, recv=1075853724, mid=9657,
    argc=1, argv=0xbfffc9f4, scope=0) at eval.c:4755
#112 0x080562ef in rb_eval (self=1075546820, n=0x401a9ccc) at eval.c:2721
#113 0x08056f37 in rb_eval (self=1075546820, n=0x401a9cb8) at eval.c:2897
#114 0x08054afa in rb_eval (self=1075546820, n=0x401aa03c) at eval.c:2200
#115 0x08055a52 in rb_eval (self=1075546820, n=0x401a96b4) at eval.c:2562
#116 0x08055c9d in rb_eval (self=1075546820, n=0x401a9678) at eval.c:2602
#117 0x080590a8 in rb_yield_0 (val=6, self=1075546820, klass=0, pcall=2)
    at eval.c:3820
#118 0x0806347f in rb_thread_yield (arg=1076007372, th=0x81dc010)
    at eval.c:8682
#119 0x080631b2 in rb_thread_start_0 (fn=0x80633d8 <rb_thread_yield>,
    arg=0x402291cc, th_arg=0x81dc010) at eval.c:8601
#120 0x0806356e in rb_thread_start (klass=1075529300, args=1076007372)
    at eval.c:8721
#121 0x0805a534 in call_cfunc (func=0x8063530 <rb_thread_start>,
    recv=1075529300, len=-2, argc=0, argv=0x0) at eval.c:4390
#122 0x0805aa51 in rb_call0 (klass=1075529280, recv=1075529300, id=5825,
    argc=0, argv=0x0, body=0x401b45c8, nosuper=1) at eval.c:4530
#123 0x0805b268 in rb_call (klass=1075529280, recv=1075529300, mid=5825,
    argc=0, argv=0x0, scope=0) at eval.c:4755
#124 0x080562ef in rb_eval (self=1075546820, n=0x401aa168) at eval.c:2721
#125 0x08055580 in rb_eval (self=1075546820, n=0x401aa1cc) at eval.c:2461
#126 0x080551c4 in rb_eval (self=1075546820, n=0x401aa834) at eval.c:2390
#127 0x080525a8 in eval_node (self=1075546820, node=0x401aa834) at eval.c:1103
#128 0x08052982 in ruby_run () at eval.c:1236
#129 0x08051192 in main (argc=2, argv=0xbffff744, envp=0xbffff750) at main.c:50

(gdb) bt 10 full
#0  0x400dac1b in free () from /lib/libc.so.6
No symbol table info available.
#1  0x400daaa3 in free () from /lib/libc.so.6
No symbol table info available.
#2  0x0806a9a5 in obj_free (obj=1076321712) at gc.c:1069
        obj = 1076321712
#3  0x0806a628 in gc_sweep () at gc.c:894
        n = 16538
        p = (RVALUE *) 0x40275db0
        pend = (RVALUE *) 0x402ba348
        final_list = (RVALUE *) 0x0
        freed = 1862
        i = 136513304
        used = 3
#4  0x0806ab9c in rb_gc () at gc.c:1199
        list = (struct gc_list *) 0x0
        frame = (struct FRAME *) 0x0
        save_regs_gc_mark = {{__jmpbuf = {0, 1075434380, 0, -1073819464,
      -1073819664, 134654716}, __mask_was_saved = 0, __saved_mask = {__val = {
        1075358380, 1, 3221147872, 338, 0, 1075883144, 3221150628, 0,
        135392409, 521, 0, 0, 1075358380, 3221147832, 134591080, 1075542440,
        1075358380, 338, 1, 3221147872, 1075540360, 1, 1, 0, 1, 1, 3221147848,
        134904078, 1075432460, 3221147864, 134952249, 338}}}}
        stack_end = (VALUE *) 0xbffed0b8
#5  0x08069b3f in rb_newobj () at gc.c:320
        obj = 0
#6  0x08051ba7 in new_blktag () at eval.c:575
        blktag = (struct BLOCKTAG *) 0x8230718
#7  0x08055470 in rb_eval (self=1075998352, n=0x4019cfb8) at eval.c:2455
        _block = {var = 0x4019d184, body = 0x4019d044, self = 1075998352,
  frame = {self = 1075998352, argc = 2, argv = 0xbffeda9c, last_func = 6913,
    last_class = 1075883624, cbase = 1075883144, prev = 0xbffee224, tmp = 0x0,
    file = 0x811ec99 "/usr/lib/ruby/site_ruby/1.7/rexml/element.rb",
    line = 526, iter = 0, flags = 0}, scope = 0x4018b574, tag = 0x4018b114,
  klass = 1075551520, iter = 0, vmode = 0, flags = 1, dyna_vars = 0x0,
  orig_thread = 1, wrapper = 0, prev = 0x0}
        _tag = {buf = {{__jmpbuf = {0, -1073816620, -1073818984, -1073818200,
        -1073819424, 134567219}, __mask_was_saved = 0, __saved_mask = {
        __val = {0, 0, 4, 3221148440, 134813952, 1, 0, 3221148440, 1, 0,
          135459832, 3221148456, 134826810, 0, 136291568, 3221148488,
          134830298, 1075365480, 1075359980, 3221148504, 134907898, 137387773,
          135425504, 1, 3221148812, 1075365480, 0, 102, 8, 11345, 1075863684,
          3221148552}}}}, frame = 0xbffedba4, iter = 0xbffedad8,
  tag = 4294967295, retval = 4, scope = 0x40189634, dst = 0, prev = 0xbffedaec}
        n = (NODE *) 0x8230718
        node = (NODE *) 0x4019d008
        state = 0
        result = 4
#8  0x08054afa in rb_eval (self=1075998352, n=0x4019d224) at eval.c:2200
        n = (NODE *) 0x8230718
        node = (NODE *) 0x4019cfa4
        state = 2
        result = 4
#9  0x0805ae45 in rb_call0 (klass=1075883624, recv=1075998352, id=6913,
    argc=0, argv=0xbffedc58, body=0x4019d224, nosuper=0) at eval.c:4659
        _tag = {buf = {{__jmpbuf = {0, 0, 0, -1073816616, -1073816960,
        134589548}, __mask_was_saved = 0, __saved_mask = {__val = {0,
          3221153376, 123, 135391601, 0, 3221150384, 1075358380, 1075542440,
          0, 0, 2833, 0, 1075952644, 3221154804, 0, 3221151688, 95, 0, 0,
          3221151704, 3221150632, 134591080, 1075542420, 1075542440, 2833, 0,
          0, 1075926204, 1, 3221150752, 336, 0}}}}, frame = 0xbffedba4,
  iter = 0xbffedad8, tag = 4294967295, retval = 4, scope = 0x40189634,
  dst = 0, prev = 0xbffee168}
        _old = (struct RVarmap *) 0x40189828
        _vmode = 0
        _old = (struct SCOPE *) 0x4018a0fc
        _scope = (struct SCOPE *) 0x8230718
        state = 0
        local_vars = (VALUE *) 0xbffeda94
        saved_cref = (NODE *) 0x4020ac88
        _frame = {self = 1075998352, argc = 2, argv = 0xbffeda9c,
  last_func = 6913, last_class = 1075883624, cbase = 1075883144,
  prev = 0xbffee224, tmp = 0x0,
  file = 0x811ec99 "/usr/lib/ruby/site_ruby/1.7/rexml/element.rb", line = 680,
  iter = 0, flags = 0}
        _iter = {iter = 0, prev = 0xbffee160}
        nosuper = 1075434380
        b2 = (NODE *) 0x4019cb80
        result = 4
        itr = 0
        tick = 714664

Just to dig a little:

(gdb) p *(RVALUE *)1076321712
$8 = {as = {free = {flags = 9, next = 0x401b2a5c}, basic = {flags = 9,
      klass = 1075522140}, object = {basic = {flags = 9, klass = 1075522140},
      iv_tbl = 0x1}, klass = {basic = {flags = 9, klass = 1075522140},
      iv_tbl = 0x1, m_tbl = 0x1, super = 136513296}, flonum = {basic = {
        flags = 9, klass = 1075522140}, value = 2.121995791459338e-314},
    string = {basic = {flags = 9, klass = 1075522140}, len = 1,
      ptr = 0x1 <Address 0x1 out of bounds>, aux = {capa = 136513296,
        shared = 136513296}}, array = {basic = {flags = 9,
        klass = 1075522140}, len = 1, aux = {capa = 1, shared = 1},
      ptr = 0x8230710}, regexp = {basic = {flags = 9, klass = 1075522140},
      ptr = 0x1, len = 1, str = 0x8230710 "\004"}, hash = {basic = {flags = 9,
        klass = 1075522140}, tbl = 0x1, iter_lev = 1, ifnone = 136513296},
    data = {basic = {flags = 9, klass = 1075522140}, dmark = 0x1, dfree = 0x1,
      data = 0x8230710}, rstruct = {basic = {flags = 9, klass = 1075522140},
      len = 1, ptr = 0x1}, bignum = {basic = {flags = 9, klass = 1075522140},
      sign = 1 '\001', len = 1, digits = 0x8230710}, file = {basic = {
        flags = 9, klass = 1075522140}, fptr = 0x1}, node = {flags = 9,
      nd_file = 0x401b2a5c "\003", u1 = {node = 0x1, id = 1, value = 1,
        cfunc = 0x1, tbl = 0x1}, u2 = {node = 0x1, id = 1, argc = 1,
        value = 1}, u3 = {node = 0x8230710, id = 136513296, state = 136513296,
        entry = 0x8230710, cnt = 136513296, value = 136513296}}, match = {
      basic = {flags = 9, klass = 1075522140}, str = 1, regs = 0x1}, varmap = {
      super = {flags = 9, klass = 1075522140}, id = 1, val = 1,
      next = 0x8230710}, scope = {super = {flags = 9, klass = 1075522140},
      local_tbl = 0x1, local_vars = 0x1, flags = 136513296}}}

[T_MASK == 0x3f]
(gdb) p (*(RVALUE *)1076321712)->as.basic.flags & 0x3f
$11 = 9

[0x09 == T_ARRAY]

gc.c:
    987       case T_ARRAY:
    988         if (RANY(obj)->as.array.ptr && !FL_TEST(obj, ELTS_SHARED)) {
    989             RUBY_CRITICAL(free(RANY(obj)->as.array.ptr));
    990         }
    991         break;

(gdb) p (*(RVALUE *)1076321712)->as.array.ptr
$12 = (VALUE *) 0x8230710

(gdb) p *(*(RVALUE *)1076321712)->as.array.ptr
$13 = 4

However, look at this in gc.c:

   1067       case T_STRUCT:
   1068         if (RANY(obj)->as.rstruct.ptr) {
   1069             RUBY_CRITICAL(free(RANY(obj)->as.rstruct.ptr));
   1070         }
   1071         break;

This doesn't make sense.  Why would the switch statement match
T_ARRAY and T_STRUCT (especially when T_STRUCT == 0x0c)?

Perhaps I'm looking too late and memory is already wrong?

I'll try to set up some breakpoints and catch the problem before
it manifests, but I don't know how successful I'll be.  Any
hints at debugging Ruby will be much appreciated.  :-)

-- Dossy

-- 
Dossy Shiobara                       mail: dossy@panoptic.com 
Panoptic Computer Network             web: http://www.panoptic.com/ 
  "He realized the fastest way to change is to laugh at your own
    folly -- then you can let go and quickly move on." (p. 70)

In This Thread