# Rb\_obj\_is\_kind\_of

**URL:** <https://www.ruby-forum.com/t/rb-obj-is-kind-of/115189>\
**Category:** Development\
**Created:** [September 21, 2007, 1:32pm UTC](https://www.ruby-forum.com/t/rb-obj-is-kind-of/115189 "2007-09-21T13:32:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [September 21, 2007, 1:32pm UTC](https://www.ruby-forum.com/t/rb-obj-is-kind-of/115189/1 "2007-09-21T13:32:35Z")

</div>

rb\_obj\_is\_kind\_of e$B$Ne(B TYPE(cl) e$B$G$9$,!"e(B[ruby-dev:31805]  
e$B$NNce(B  
e$B$G$OLdBj$,=P$J$/$J$C$?$b$N$N!"e(Btest/runner.rb e$B$G$O0MA3$H$7$Fe(B  
e$BH/@8$7$^$9!#e(B

e$B:#EY$Oe(B T\_NONE e$B$N$h$&$G$9!#e(B

% gdb ruby  
GNU gdb 6.3-debian  
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-linux”…Using host libthread\_db  
library “/lib/tls/libthread\_db.so.1”.

(gdb) run test/runner.rb  
Starting program: /tmp/a/ruby/ruby test/runner.rb  
[Thread debugging using libthread\_db enabled]  
[New Thread -1210334112 (LWP 12910)]  
[New Thread -1211065424 (LWP 12913)]  
Skipping permutation tests.  
[New Thread -1222419536 (LWP 12914)]  
Loaded suite .  
Started  
…F…EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE…FEEEE…rb:  
object.c:394: rb\_obj\_is\_kind\_of: Assertion `rb\_type((VALUE)(cl)) ==  
RUBY\_T\_CLASS || rb\_type((VALUE)(cl)) == RUBY\_T\_ICLASS’ failed.

Program received signal SIGABRT, Aborted.  
[Switching to Thread -1210334112 (LWP 12910)]  
0xb7de583b in raise () from /lib/tls/libc.so.6  
(gdb) up  
#1 0xb7de6fa2 in abort () from /lib/tls/libc.so.6  
(gdb)  
#2 0xb7ddf2df in \_\_assert\_fail () from /lib/tls/libc.so.6  
(gdb)  
#3 0x080776cd in rb\_obj\_is\_kind\_of (obj=0, c=3074890140) at ruby.h:897  
897 if (obj == Qfalse) return rb\_cFalseClass;  
(gdb)  
#4 0x0806329b in os\_obj\_of (of=3074890140) at gc.c:1746  
1746 if (rb\_obj\_is\_kind\_of((VALUE)p, of)) {  
(gdb) rp p  
T\_NONE: $1 = (struct RBasic \*) 0xb7a9f83c  
(gdb) p \*$1  
$2 = {flags = 32, klass = 3078415720}  
(gdb) rp 3078415720  
T\_NONE: $3 = (struct RBasic \*) 0xb77ce568  
(gdb) bt  
#0 0xb7de583b in raise () from /lib/tls/libc.so.6  
#1 0xb7de6fa2 in abort () from /lib/tls/libc.so.6  
#2 0xb7ddf2df in \_\_assert\_fail () from /lib/tls/libc.so.6  
#3 0x080776cd in rb\_obj\_is\_kind\_of (obj=0, c=3074890140) at ruby.h:897  
#4 0x0806329b in os\_obj\_of (of=3074890140) at gc.c:1746  
#5 0x0806333c in os\_each\_obj (argc=0, argv=0x0) at gc.c:1801  
#6 0x080d975a in call\_cfunc (func=0x80632f0 \<os\_each\_obj\>,  
recv=3083978460, len=6, argc=12910, argv=0xb7d3b158)  
at insnhelper.ci:276  
#7 0x080dac95 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7dbab00,  
num=1, id=8080, recv=3083978460, klass=3083978360,  
mn=0xb7d1c664, blockptr=0x0) at insnhelper.ci:365  
#8 0x080d9e86 in vm\_call\_method (th=0x815d160, cfp=0xb7dbab00, num=1,  
blockptr=0xb7dbab14, flag=0, id=8080, mn=0x815d160,  
recv=3083978460, klass=3083978360) at insnhelper.ci:490  
#9 0x080d53e0 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#10 0x080d8530 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#11 0x080d36a3 in invoke\_block (th=0x815d160, block=0xb7dbac2c, self=0,  
argc=-1210340308, argv=0xbfecce20) at vm.c:582  
#12 0x080d3786 in vm\_yield (th=0x326e, argc=0, argv=0x0) at vm.c:604  
#13 0x0805b451 in rb\_yield\_0 (argc=0, argv=0x0) at eval.c:904  
#14 0x0805b484 in rb\_yield (val=3074839100) at eval.c:915  
#15 0x080e2e9f in each\_i (ary=3074855760) at array.c:1143  
#16 0x0805bc89 in rb\_ensure (b\_proc=0x80e2e70 \<each\_i\>,  
data1=3074855760, e\_proc=0x80e2e30 \<each\_unlock\>, data2=3074855760)  
at eval.c:1189  
#17 0x080e2f0d in rb\_ary\_each (ary=3074855760) at array.c:1167  
#18 0x080d9761 in call\_cfunc (func=0x80e2eb0 \<rb\_ary\_each\>,  
recv=3074855760, len=6, argc=12910, argv=0xb7d3b11c)  
at insnhelper.ci:279  
#19 0x080dac95 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7dbac18,  
num=0, id=392, recv=3074855760, klass=3084046840,  
mn=0xb7d2cac8, blockptr=0x0) at insnhelper.ci:365  
#20 0x080d9e86 in vm\_call\_method (th=0x815d160, cfp=0xb7dbac18, num=0,  
blockptr=0xb7dbac2c, flag=0, id=392, mn=0x815d160,  
recv=3074855760, klass=3084046840) at insnhelper.ci:490  
#21 0x080d53e0 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#22 0x080d8530 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#23 0x080d36a3 in invoke\_block (th=0x815d160, block=0xb7dbad0c, self=0,  
argc=-1210340084, argv=0xbfecd420) at vm.c:582  
#24 0x080d3786 in vm\_yield (th=0x326e, argc=0, argv=0x0) at vm.c:604  
#25 0x0805b451 in rb\_yield\_0 (argc=0, argv=0x0) at eval.c:904  
#26 0x0805b484 in rb\_yield (val=3074855780) at eval.c:915  
#27 0x080e2e9f in each\_i (ary=3074835180) at array.c:1143  
#28 0x0805bc89 in rb\_ensure (b\_proc=0x80e2e70 \<each\_i\>,  
data1=3074835180, e\_proc=0x80e2e30 \<each\_unlock\>, data2=3074835180)  
at eval.c:1189  
#29 0x080e2f0d in rb\_ary\_each (ary=3074835180) at array.c:1167  
#30 0x080d9761 in call\_cfunc (func=0x80e2eb0 \<rb\_ary\_each\>,  
recv=3074835180, len=6, argc=12910, argv=0xb7d3b0ec)  
at insnhelper.ci:279  
—Type to continue, or q to quit—  
#31 0x080dac95 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7dbacf8,  
num=0, id=392, recv=3074835180, klass=3084046840,  
mn=0xb7d2cac8, blockptr=0x0) at insnhelper.ci:365  
#32 0x080d9e86 in vm\_call\_method (th=0x815d160, cfp=0xb7dbacf8, num=0,  
blockptr=0xb7dbad0c, flag=0, id=392, mn=0x815d160,  
recv=3074835180, klass=3084046840) at insnhelper.ci:490  
#33 0x080d53e0 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#34 0x080d8530 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#35 0x080d36a3 in invoke\_block (th=0x815d160, block=0xb7dbadec, self=0,  
argc=-1210339860, argv=0xbfecda20) at vm.c:582  
#36 0x080d3786 in vm\_yield (th=0x326e, argc=0, argv=0x0) at vm.c:604  
#37 0x0805b451 in rb\_yield\_0 (argc=0, argv=0x0) at eval.c:904  
#38 0x0805b484 in rb\_yield (val=3074835220) at eval.c:915  
#39 0x080e2e9f in each\_i (ary=3073412860) at array.c:1143  
#40 0x0805bc89 in rb\_ensure (b\_proc=0x80e2e70 \<each\_i\>,  
data1=3073412860, e\_proc=0x80e2e30 \<each\_unlock\>, data2=3073412860)  
at eval.c:1189  
#41 0x080e2f0d in rb\_ary\_each (ary=3073412860) at array.c:1167  
#42 0x080d9761 in call\_cfunc (func=0x80e2eb0 \<rb\_ary\_each\>,  
recv=3073412860, len=6, argc=12910, argv=0xb7d3b0bc)  
at insnhelper.ci:279  
#43 0x080dac95 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7dbadd8,  
num=0, id=392, recv=3073412860, klass=3084046840,  
mn=0xb7d2cac8, blockptr=0x0) at insnhelper.ci:365  
#44 0x080d9e86 in vm\_call\_method (th=0x815d160, cfp=0xb7dbadd8, num=0,  
blockptr=0xb7dbadec, flag=0, id=392, mn=0x815d160,  
recv=3073412860, klass=3084046840) at insnhelper.ci:490  
#45 0x080d53e0 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#46 0x080d8530 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#47 0x080d88fa in rb\_iseq\_eval (iseqval=3083963580) at vm.c:1371  
#48 0x0805a589 in ruby\_exec\_node (n=0xb7d18cf8, file=0x8195bd1  
“test/runner.rb”) at eval.c:231  
#49 0x0805a5ef in ruby\_run\_node (n=0xb7d18cf8) at eval.c:256  
#50 0x08057757 in main (argc=0, argv=0x0, envp=0xbfece160) at main.c:46  
(gdb)

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [September 22, 2007, 2:20am UTC](https://www.ruby-forum.com/t/rb-obj-is-kind-of/115189/2 "2007-09-22T02:20:09Z")

</div>

e$B$J$+$@$G$9!#e(B

At Fri, 21 Sep 2007 20:31:22 +0900,  
Tanaka A. wrote in [ruby-dev:31810]:

> rb\_obj\_is\_kind\_of e$B$Ne(B TYPE(cl) e$B$G$9$,!"e(B[ruby-dev:31805] e$B$NNce(B  
> e$B$G$OLdBj$,=P$J$/$J$C$?$b$N$N!"e(Btest/runner.rb e$B$G$O0MA3$H$7$Fe(B  
> e$BH/@8$7$^$9!#e(B
> 
> e$B:#EY$Oe(B T\_NONE e$B$N$h$&$G$9!#e(B

finalizere$BBT$A$N$h$&$G$9$M!#e(B

# Index: gc.c

— gc.c (revision 13483)  
+++ gc.c (working copy)  
@@ -1704,5 +1704,6 @@ os\_live\_obj(void)  
for (;p \< pend; p++) {  
if (p-\>as.basic.flags) {

- switch (TYPE§) {

- switch (BUILTIN\_TYPE§) {
- 

```
 case T_NONE:
 case T_ICLASS:
 case T_NODE:
```

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [September 22, 2007, 5:30am UTC](https://www.ruby-forum.com/t/rb-obj-is-kind-of/115189/3 "2007-09-22T05:30:23Z")

</div>

e$B$J$+$@$G$9!#e(B

At Sat, 22 Sep 2007 10:30:57 +0900,  
Tanaka A. wrote in [ruby-dev:31812]:

> In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
> Nobuyoshi N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:
> 
> > finalizere$BBT$A$N$h$&$G$9$M!#e(B
> 
> e$B%Q%C%A$rEv$F$F$\_$^$7$?$,!"$^$@=P$^$9!#e(B
> 
> e$B:#EY$be(B T\_NONE e$B$N$h$&$G$9!#e(B

e$BFs%v=jI,MW$G$7$?!#$G$-$l$P$R$H$D$K$^$H$a$?$$$H$3$G$9$,!#e(B

# Index: gc.c

— gc.c (revision 13483)  
+++ gc.c (working copy)  
@@ -1704,5 +1662,6 @@ os\_live\_obj(void)  
for (;p \< pend; p++) {  
if (p-\>as.basic.flags) {

- switch (TYPE(p)) {

- switch (BUILTIN\_TYPE(p)) {
- 

```
 case T_NONE:
 case T_ICLASS:
 case T_NODE:

```

@@ -1735,5 +1694,6 @@ os\_obj\_of(VALUE of)  
for (;p \< pend; p++) {  
if (p-\>as.basic.flags) {

- switch (TYPE(p)) {

- switch (BUILTIN\_TYPE(p)) {
- 

```
 case T_NONE:
 case T_ICLASS:
 case T_NODE:

```

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [September 22, 2007, 6:51am UTC](https://www.ruby-forum.com/t/rb-obj-is-kind-of/115189/4 "2007-09-22T06:51:29Z")

</div>

e$B$^$D$b$He(B e$B$f$-$R$m$G$9e(B

In message “Re: [ruby-dev:31813] Re: rb\_obj\_is\_kind\_of”  
on Sat, 22 Sep 2007 12:29:44 +0900, Nobuyoshi N.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

|\> e$B:#EY$be(B T\_NONE e$B$N$h$&$G$9!#e(B  
|  
|e$BFs%v=jI,MW$G$7$?!#$G$-$l$P$R$H$D$K$^$H$a$?$$$H$3$G$9$,!#e(B

e$B%3%\_%C%H$7$F$/$@$5$$!#%j%U%!%/%?%j%s%0$9$k$+$I$&$+$O!"$\*G$$;e(B  
e$B$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Tanaka\_A](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/c67d28/32.png) [@Tanaka\_A](https://www.ruby-forum.com/u/Tanaka_A)\
**Post date:** [September 22, 2007, 3:31am UTC](https://www.ruby-forum.com/t/rb-obj-is-kind-of/115189/5 "2007-09-22T03:31:14Z")

</div>

In article [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid),  
Nobuyoshi N. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) writes:

> finalizere$BBT$A$N$h$&$G$9$M!#e(B

e$B%Q%C%A$rEv$F$F$\_$^$7$?$,!"$^$@=P$^$9!#e(B

e$B:#EY$be(B T\_NONE e$B$N$h$&$G$9!#e(B

% gdb ruby  
GNU gdb 6.3-debian  
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-linux”…Using host libthread\_db  
library “/lib/tls/libthread\_db.so.1”.

(gdb) run test/runner.rb  
Starting program: /tmp/a/ruby/ruby test/runner.rb  
[Thread debugging using libthread\_db enabled]  
[New Thread -1209809824 (LWP 19486)]  
[New Thread -1210541136 (LWP 19489)]  
Skipping permutation tests.  
[New Thread -1221895248 (LWP 19490)]  
Loaded suite .  
Started  
…F…rb:  
object.c:394: rb\_obj\_is\_kind\_of: Assertion `rb\_type((VALUE)(cl)) ==  
RUBY\_T\_CLASS || rb\_type((VALUE)(cl)) == RUBY\_T\_ICLASS’ failed.

Program received signal SIGABRT, Aborted.  
[Switching to Thread -1209809824 (LWP 19486)]  
0xb7e6583b in raise () from /lib/tls/libc.so.6  
(gdb) up  
#1 0xb7e66fa2 in abort () from /lib/tls/libc.so.6  
(gdb)  
#2 0xb7e5f2df in \_\_assert\_fail () from /lib/tls/libc.so.6  
(gdb)  
#3 0x0807766d in rb\_obj\_is\_kind\_of (obj=0, c=3076569300) at ruby.h:897  
897 if (obj == Qfalse) return rb\_cFalseClass;  
(gdb)  
#4 0x0806323b in os\_obj\_of (of=3076569300) at gc.c:1747  
1747 if (rb\_obj\_is\_kind\_of((VALUE)p, of)) {  
(gdb) rp p  
T\_NONE: $1 = (struct RBasic \*) 0xb784e394  
(gdb) p \*$1  
$2 = {flags = 32, klass = 3078790120}  
(gdb) rp 3078790120  
T\_NONE: $3 = (struct RBasic \*) 0xb7829be8  
(gdb) bt  
#0 0xb7e6583b in raise () from /lib/tls/libc.so.6  
#1 0xb7e66fa2 in abort () from /lib/tls/libc.so.6  
#2 0xb7e5f2df in \_\_assert\_fail () from /lib/tls/libc.so.6  
#3 0x0807766d in rb\_obj\_is\_kind\_of (obj=0, c=3076569300) at ruby.h:897  
#4 0x0806323b in os\_obj\_of (of=3076569300) at gc.c:1747  
#5 0x080632dc in os\_each\_obj (argc=0, argv=0x0) at gc.c:1802  
#6 0x080d96fa in call\_cfunc (func=0x8063290 \<os\_each\_obj\>,  
recv=3084502740, len=6, argc=19486, argv=0xb7dbb158)  
at insnhelper.ci:276  
#7 0x080dac35 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7e3ab00,  
num=1, id=8080, recv=3084502740, klass=3084502640,  
mn=0xb7d9c65c, blockptr=0x0) at insnhelper.ci:365  
#8 0x080d9e26 in vm\_call\_method (th=0x815d160, cfp=0xb7e3ab00, num=1,  
blockptr=0xb7e3ab14, flag=0, id=8080, mn=0x815d160,  
recv=3084502740, klass=3084502640) at insnhelper.ci:490  
#9 0x080d5380 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#10 0x080d84d0 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#11 0x080d3643 in invoke\_block (th=0x815d160, block=0xb7e3ac2c, self=0,  
argc=-1209816020, argv=0xbfcd6c30) at vm.c:582  
#12 0x080d3726 in vm\_yield (th=0x4c1e, argc=0, argv=0x0) at vm.c:604  
#13 0x0805b451 in rb\_yield\_0 (argc=0, argv=0x0) at eval.c:904  
#14 0x0805b484 in rb\_yield (val=3076549360) at eval.c:915  
#15 0x080e2e3f in each\_i (ary=3076555000) at array.c:1143  
#16 0x0805bc89 in rb\_ensure (b\_proc=0x80e2e10 \<each\_i\>,  
data1=3076555000, e\_proc=0x80e2dd0 \<each\_unlock\>, data2=3076555000)  
at eval.c:1189  
#17 0x080e2ead in rb\_ary\_each (ary=3076555000) at array.c:1167  
#18 0x080d9701 in call\_cfunc (func=0x80e2e50 \<rb\_ary\_each\>,  
recv=3076555000, len=6, argc=19486, argv=0xb7dbb11c)  
at insnhelper.ci:279  
#19 0x080dac35 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7e3ac18,  
num=0, id=392, recv=3076555000, klass=3084571120,  
mn=0xb7dacac0, blockptr=0x0) at insnhelper.ci:365  
#20 0x080d9e26 in vm\_call\_method (th=0x815d160, cfp=0xb7e3ac18, num=0,  
blockptr=0xb7e3ac2c, flag=0, id=392, mn=0x815d160,  
recv=3076555000, klass=3084571120) at insnhelper.ci:490  
#21 0x080d5380 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#22 0x080d84d0 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#23 0x080d3643 in invoke\_block (th=0x815d160, block=0xb7e3ad0c, self=0,  
argc=-1209815796, argv=0xbfcd7230) at vm.c:582  
#24 0x080d3726 in vm\_yield (th=0x4c1e, argc=0, argv=0x0) at vm.c:604  
#25 0x0805b451 in rb\_yield\_0 (argc=0, argv=0x0) at eval.c:904  
#26 0x0805b484 in rb\_yield (val=3076555020) at eval.c:915  
#27 0x080e2e3f in each\_i (ary=3076547940) at array.c:1143  
#28 0x0805bc89 in rb\_ensure (b\_proc=0x80e2e10 \<each\_i\>,  
data1=3076547940, e\_proc=0x80e2dd0 \<each\_unlock\>, data2=3076547940)  
at eval.c:1189  
#29 0x080e2ead in rb\_ary\_each (ary=3076547940) at array.c:1167  
#30 0x080d9701 in call\_cfunc (func=0x80e2e50 \<rb\_ary\_each\>,  
recv=3076547940, len=6, argc=19486, argv=0xb7dbb0ec)  
at insnhelper.ci:279  
—Type to continue, or q to quit—  
#31 0x080dac35 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7e3acf8,  
num=0, id=392, recv=3076547940, klass=3084571120,  
mn=0xb7dacac0, blockptr=0x0) at insnhelper.ci:365  
#32 0x080d9e26 in vm\_call\_method (th=0x815d160, cfp=0xb7e3acf8, num=0,  
blockptr=0xb7e3ad0c, flag=0, id=392, mn=0x815d160,  
recv=3076547940, klass=3084571120) at insnhelper.ci:490  
#33 0x080d5380 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#34 0x080d84d0 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#35 0x080d3643 in invoke\_block (th=0x815d160, block=0xb7e3adec, self=0,  
argc=-1209815572, argv=0xbfcd7830) at vm.c:582  
#36 0x080d3726 in vm\_yield (th=0x4c1e, argc=0, argv=0x0) at vm.c:604  
#37 0x0805b451 in rb\_yield\_0 (argc=0, argv=0x0) at eval.c:904  
#38 0x0805b484 in rb\_yield (val=3076547960) at eval.c:915  
#39 0x080e2e3f in each\_i (ary=3073926760) at array.c:1143  
#40 0x0805bc89 in rb\_ensure (b\_proc=0x80e2e10 \<each\_i\>,  
data1=3073926760, e\_proc=0x80e2dd0 \<each\_unlock\>, data2=3073926760)  
at eval.c:1189  
#41 0x080e2ead in rb\_ary\_each (ary=3073926760) at array.c:1167  
#42 0x080d9701 in call\_cfunc (func=0x80e2e50 \<rb\_ary\_each\>,  
recv=3073926760, len=6, argc=19486, argv=0xb7dbb0bc)  
at insnhelper.ci:279  
#43 0x080dac35 in vm\_call\_cfunc (th=0x815d160, reg\_cfp=0xb7e3add8,  
num=0, id=392, recv=3073926760, klass=3084571120,  
mn=0xb7dacac0, blockptr=0x0) at insnhelper.ci:365  
#44 0x080d9e26 in vm\_call\_method (th=0x815d160, cfp=0xb7e3add8, num=0,  
blockptr=0xb7e3adec, flag=0, id=392, mn=0x815d160,  
recv=3073926760, klass=3084571120) at insnhelper.ci:490  
#45 0x080d5380 in vm\_eval (th=0x815d160, initial=0) at insns.def:1073  
#46 0x080d84d0 in vm\_eval\_body (th=0x815d160) at vm.c:1162  
#47 0x080d889a in rb\_iseq\_eval (iseqval=3084487860) at vm.c:1371  
#48 0x0805a589 in ruby\_exec\_node (n=0xb7d98cf0, file=0x8195bd1  
“test/runner.rb”) at eval.c:231  
#49 0x0805a5ef in ruby\_run\_node (n=0xb7d98cf0) at eval.c:256  
#50 0x08057757 in main (argc=0, argv=0x0, envp=0xbfcd7f70) at main.c:46  
(gdb)
