# Rb\_eval\_string("lambda{}") dumps core

**URL:** <https://www.ruby-forum.com/t/rb-eval-string-lambda-dumps-core/108819>\
**Category:** Development\
**Created:** [July 7, 2007, 5:32pm UTC](https://www.ruby-forum.com/t/rb-eval-string-lambda-dumps-core/108819 "2007-07-07T17:32:50Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Masahiro\_SSSSSBSr0](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@Masahiro\_SSSSSBSr0](https://www.ruby-forum.com/u/Masahiro_SSSSSBSr0)\
**Post date:** [July 7, 2007, 5:32pm UTC](https://www.ruby-forum.com/t/rb-eval-string-lambda-dumps-core/108819/1 "2007-07-07T17:32:50Z")

</div>

e$B\<r0f$G$9!#e(B

1.9e$B$G0J2\<$N$h$&$J3HD%%i%$%V%i%j$re(Brequiree$B$9$k$HMn$A$k$h$&$G$9!#e(B

#include \<ruby.h\>  
void Init\_foo(void)  
{  
rb\_eval\_string(“lambda{}”);  
}

## % ruby-19 -rfoo -ve “” ruby 1.9.0 (2007-07-07 patchlevel 0) [i686-linux] (eval):1: – control frame ---------- c:0005 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :lambda c:0004 p:0007 s:0006 b:0006 l:0x1650 d:0x1688 EVAL (eval):1 c:0003 p:---- s:0005 b:0005 l:000004 d:000004 FINISH :initialize c:0002 p:-33955804 s:0003 b:0003 l:0x1650 d:0x1650 TOP c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------

DBG\> : “(eval):1:in `/home/sakai/src/foo/foo.so’”  
– backtrace of native function call (Use addr2line) –  
0x80d59c0  
0x80ed629  
0x80ed6c2  
0x80ae170  
0x40034825  
0x400f6678  
0x80cd607  
0x805e5f1  
0x805e6cc  
0x80d3a01  
0x80d4c85  
0x80d41d5  
0x80cfe08  
0x80d31b0  
0x805c079  
0x8059cfd  
0x400197a2  
0x80e9f50  
0x80d378c  
0x80f1259  
0x80f1311  
0x805b280  
0x80ac236  
0x80ac7ce  
0x80ad9de  
0x80598b3  
0x8056e1b  
0x400e2e36  
0x8056d41

---

<div class="post-metadata">

**Author:** ![Masahiro\_SSSSSBSr0](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/d9b06d/32.png) [@Masahiro\_SSSSSBSr0](https://www.ruby-forum.com/u/Masahiro_SSSSSBSr0)\
**Post date:** [July 20, 2007, 12:40am UTC](https://www.ruby-forum.com/t/rb-eval-string-lambda-dumps-core/108819/2 "2007-07-20T00:40:14Z")

</div>

e$B\<r0f$G$9!#e(B

From: Masahiro S. (e$B\<r0f@/M5e(B) [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Date: Sun, 8 Jul 2007 00:30:39 +0900

> ## % ruby-19 -rfoo -ve “” ruby 1.9.0 (2007-07-07 patchlevel 0) [i686-linux] (eval):1: – control frame ---------- c:0005 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :lambda c:0004 p:0007 s:0006 b:0006 l:0x1650 d:0x1688 EVAL (eval):1 c:0003 p:---- s:0005 b:0005 l:000004 d:000004 FINISH :initialize c:0002 p:-33955804 s:0003 b:0003 l:0x1650 d:0x1650 TOP c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------
> 
> DBG\> : “(eval):1:in `/home/sakai/src/foo/foo.so’”

lfp\_get\_special\_cref() e$B$Ge(B values e$B$,2?8N$+e(B 0x11  
e$B$K$J$C$F$$$k$N$,860x$@$Ce(B  
e$B$?$N$G!“0J2\<$N$h$&$J%Q%C%A$r$”$F$k$3$H$G2sHr$G$-$^$7$?!#e(B  
e$B@5$7$$BP=h$G$O$J$$$H;W$$$^$9$,!"e(B

# Index: insnhelper.ci

— insnhelper.ci (e$B%j%S%8%g%se(B 12814)  
+++ insnhelper.ci (e$B:n6H%3%T!\<e(B)  
@@ -729,7 +729,7 @@  
lfp\_get\_special\_cref(VALUE \*lfp)  
{  
struct RValues \*values;

- if (((VALUE)(values = (void \*)lfp[-1])) != Qnil &&  
values-\>basic.klass) {

- if (!rb\_special\_const\_p((VALUE)(values = (void \*)(lfp[-1]))) &&  
values-\>basic.klass) {  
return (NODE \*)values-\>basic.klass;  
}  
else {
