# Core dump with undef/alias using dynamic symbols

**URL:** <https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570>\
**Category:** Development\
**Created:** [November 18, 2007, 6:12pm UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570 "2007-11-18T18:12:08Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 18, 2007, 6:12pm UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/1 "2007-11-18T18:12:08Z")

</div>

e$B:XF#$H?=$7$^$9!#e(B

undefe$B$K\<0E83+$rH\<$&%7%s%%k$rEO$9$H!"0J2\<$N$h$&$Ke(Bcoree$B$rEG$-$^$9!#e(B

## $ ruby-trunk -ve ‘undef :"#{foo}"’ ruby 1.9.0 (2007-11-18 patchlevel 0) [i686-linux] – control frame ---------- c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------

## – backtrace of native function call (Use addr2line) – 0xb7f30c80 0xb7e87813 0xb7e878ea 0xb7f1e6d0 0xb7f206c0 0xb7f242b7 0xb7f24378 0xb7e8ad1a 0xb7e8f6bf 0x80486ac 0xb7cbcea8 0x80485d1

[BUG] undef args must be NODE\_LIT  
ruby 1.9.0 (2007-11-18) [i686-linux]

e$B%"%!\<%H$7$^$7$?e(B (core dumped)

aliase$B$bF1MM$G$9!#e(B

## $ ruby-trunk -e 'alias foo :"#{bar}" ’ – control frame ---------- c:0001 p:---- s:0001 b:-001 l:000000 d:000000 ------

## – backtrace of native function call (Use addr2line) – 0xb7f40c80 0xb7e97813 0xb7e978ea 0xb7f2906a 0xb7f306c0 0xb7f342b7 0xb7f34378 0xb7e9ad1a 0xb7e9f6bf 0x80486ac 0xb7cccea8 0x80485d1

[BUG] alias args must be NODE\_LIT  
ruby 1.9.0 (2007-11-18) [i686-linux]

e$B%"%!\<%H$7$^$7$?e(B (core dumped)

e$B$J$\*E83+$5$l$k\<0$NCf?H$O!"L$Dj5A$N%7%s%%k$G$b%j%F%i%k$G$b!"e(B  
(e$B6u$b4^$ae(B)e$B$I$&$G$b$$$$$h$&$G$9!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 25, 2007, 2:22pm UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/2 "2007-11-25T14:22:46Z")

</div>

e$B1sF#$H?=$7$^$9!#e(B

07/11/19 e$B$Ke(B Tadashi S.[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
e$B$5$s$O=q$-$^$7$?e(B:

> undefe$B$K\<0E83+$rH\<$&%7%s%%k$rEO$9$H!"0J2\<$N$h$&$Ke(Bcoree$B$rEG$-$^$9!#e(B
> 
> $ ruby-trunk -ve ‘undef :“#{foo}”’  
> (snip)

e$B$3$NLdBj$OMn$A$J$$$h$&$KBP1~$5$l$?$h$&$G$9$,!"\<0E83+$,$5$l$J$$$h$&$G$9!#e(B

$ ./miniruby -e ‘def foobar; end; undef :“foo#{ :bar }”’  
-e:1:in `<main>': undefined method `foo’ for class `Object’ (NameError)

e$B%9%?%C%/$+$i%7%s%%k$rFI$_9~$s$Ge(B alias e$B$de(B undef  
e$B$r$9$k%P%$%H%3!\<%IL?Na$re(B  
(e$B8+$h$&8+$^$M$Ge(B)  
e$BDI2C$7$F$_$^$7$?!#M\>7W$J$\*@$OC$@$C$?$i$9$\_$^$;$s!#e(B

# Index: insns.def

— insns.def (revision 14012)  
+++ insns.def (working copy)  
@@ -769,6 +769,28 @@

/\*\*  
@c setting

- @e make alias (if v\_p is Qtrue, make valias)
- @j e$B%7%s%%k$r\<u$1\<h$C$Fe(B alias e$B$r:n$k!#$b$7e(B v\_p e$B$,e(B  
Qtrue e$B$J$i!"e(Bvalias (global variable) e$B$r:n$k!#e(B
- \*/  
+DEFINE\_INSN  
+alias\_with\_symbol  
+(VALUE v\_p)  
+(VALUE id1, VALUE id2)  
+()  
+{
- VALUE klass;
- 
- if (v\_p == Qtrue) {
- rb\_alias\_variable(SYM2ID(id1), SYM2ID(id2));
- }
- else {
- klass = get\_cref(GET\_ISEQ(), GET\_LFP())-\>nd\_clss;
- rb\_alias(klass, SYM2ID(id1), SYM2ID(id2));
- }  
+}
- 

+/\*\*

- @c setting  
@e undef  
@j undef e$B$r9T$&!#e(B  
\*/  
@@ -785,6 +807,22 @@

/\*\*  
@c setting

- @e undef\_with\_symbol
- @j e$B%7%s%%k$r\<u$1\<h$C$Fe(B undef e$B$r9T$&!#e(B
- \*/  
+DEFINE\_INSN  
+undef\_with\_symbol  
+()  
+(VALUE id)  
+()  
+{
- VALUE klass = get\_cref(GET\_ISEQ(), GET\_LFP())-\>nd\_clss;
- rb\_undef(klass, SYM2ID(id));
- INC\_VM\_STATE\_VERSION();  
+}
- 

+/\*\*

- @c setting  
@e defined?  
@j defined? e$B$r9T$&!#e(B  
\*/  
Index: compile.c  
===================================================================  
— compile.c (revision 14012)  
+++ compile.c (working copy)  
@@ -4064,17 +4064,40 @@  
}  
case NODE\_ALIAS:{  
VALUE s1, s2;

- enum node\_type t;

- enum node\_type t1, t2;

- if (((t = nd\_type(node-\>u1.node)) != NODE\_LIT && t != NODE\_DSYM) ||
- 

```
 ((t = nd_type(node->u2.node)) != NODE_LIT && t != NODE_DSYM)) {

```

- t1 = nd\_type(node-\>u1.node);
- t2 = nd\_type(node-\>u2.node);
- if (t1 == NODE\_LIT && t2 == NODE\_LIT) {
- 

```
 s1 = node->u1.node->nd_lit;

```

- 

```
 s2 = node->u2.node->nd_lit;

```

- 

```
 ADD_INSN3(ret, nd_line(node), alias, Qfalse, 

```

ID2SYM(rb\_to\_id(s1)),

- 

```
     ID2SYM(rb_to_id(s2)));

```

- }
- else if ((t1 == NODE\_LIT || t1 == NODE\_DSYM) &&
- 

```
(t2 == NODE_LIT || t2 == NODE_DSYM)) {

```

- 

```
 if (t1 == NODE_LIT) {

```

- 

```
     s1 = node->u1.node->nd_lit;

```

- ADD\_INSN1(ret, nd\_line(node), putobject, ID2SYM(rb\_to\_id(s1)));
- 

```
 }

```

- 

```
 else {

```

- compile\_dstr(iseq, ret, node-\>u1.node);
- ADD\_SEND(ret, nd\_line(node), ID2SYM(idIntern), INT2FIX(0));
- 

```
 }

```

- 

```
 if (t2 == NODE_LIT) {

```

- 

```
     s2 = node->u2.node->nd_lit;

```

- ADD\_INSN1(ret, nd\_line(node), putobject, ID2SYM(rb\_to\_id(s2)));
- 

```
 }

```

- 

```
 else {

```

- compile\_dstr(iseq, ret, node-\>u2.node);
- ADD\_SEND(ret, nd\_line(node), ID2SYM(idIntern), INT2FIX(0));
- 

```
 }

```

- 

```
 ADD_INSN1(ret, nd_line(node), alias_with_symbol, Qfalse);

```

- }
- else {  
rb\_compile\_bug(ERROR\_ARGS “alias args must be NODE\_LIT or  
NODE\_DSYM”);  
}

- s1 = node-\>u1.node-\>nd\_lit;

- s2 = node-\>u2.node-\>nd\_lit;

- ADD\_INSN3(ret, nd\_line(node), alias, Qfalse, ID2SYM(rb\_to\_id(s1)),

- 

```
 ID2SYM(rb_to_id(s2)));

```

if (!poped) {  
ADD\_INSN(ret, nd\_line(node), putnil);  
}  
@@ -4090,11 +4113,19 @@  
}  
case NODE\_UNDEF:{  
enum node\_type t = nd\_type(node-\>u2.node);

- if (t != NODE\_LIT && t != NODE\_DSYM) {

- 

```
 rb_compile_bug(ERROR_ARGS "undef args must be NODE_LIT");

```

- switch (t) {
- case NODE\_LIT:
- 

```
 ADD_INSN1(ret, nd_line(node), undef,

```

- 

```
     ID2SYM(rb_to_id(node->u2.node->nd_lit)));

```

- 

```
 break;

```

- case NODE\_DSYM:
- 

```
 compile_dstr(iseq, ret, node->u2.node);

```

- 

```
 ADD_SEND(ret, nd_line(node), ID2SYM(idIntern), INT2FIX(0));

```

- 

```
 ADD_INSN(ret, nd_line(node), undef_with_symbol);

```

- 

```
 break;

```

- default:
- 

```
 rb_compile_bug(ERROR_ARGS "undef args must be NODE_LIT or 

```

NODE\_DSYM");  
}

- ADD\_INSN1(ret, nd\_line(node), undef,
- 

```
 ID2SYM(rb_to_id(node->u2.node->nd_lit)));

```

if (!poped) {  
ADD\_INSN(ret, nd\_line(node), putnil);  
}

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 25, 2007, 5:00pm UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/3 "2007-11-25T17:00:04Z")

</div>

e$B1sF#$G$9!#e(B

07/11/25 e$B$Ke(B SASADA Koichi[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) e$B$5$s$O=q$-$^$7$?e(B:

> e$B!!$&!\<$s!%D\>$9$N$G$b$&$A$g$C$HBT$C$F$/$@$5$$!%$I$A$i$+$H$$$&$H!$%9e(B  
> e$B%?%C%/$+$i%7%s%%k%\*%V%8%'%/%H$r\<h$C$F$/$k$[$&$KE}0l$7$^$9!%e(B

e$B$O$$!"$h$m$7$/$\*4j$$$7$^$9!#e(B  
e$B$9$G$KLdBj$H$7$FG’\<1$5$l$F$$$?$3$H$J$i\<:Ni$7$^$7$?!#e(B

> e$B$A$J$\_$K!$$3$N$"$?$j$N@\_7W$O!$\<B$O:#8e2y$7$F$$$F!$0lHVM}A[E\*$J$N$Oe(B  
> e$BFC\<l$J%a%=%C%I8F$S=P$7$KMn$H$9$3$H$+$J$!!$$J$I$H9M$($F$$$^$9!%$G$b!$e(B  
> e$B$=$&$$$&$3$H$r$9$k$He(B trace e$B$H$+$,F0$$$A$c$C$F%@%a$J$s$@$1$I!%e(B

e$B$=$NM}A[$Oe(B (e$B;d$NA[A|$,@5$7$1$l$Pe(B)  
e$BITJQ$N%_%Z%i%s%I$G$bKh2s%9%?%C%/e(B  
e$B7PM3$GEO$9$3$H$K$J$j$=$&$G!"%_!\<%P!\<%X%C%I$NJ}$,5$$K$J$j$^$9!#e(B  
e$B$“!”$R$g$C$H$7$F8=\>u$G$b%\*%Z%i%s%IEO$7$H%9%?%C%/EO$7$K8zN($N:9$O$J$$!)e(B

> e$B$3$N$"$?$j$r$^$H$a$kL?Na$r:n$m$&$+$J$H;W$C$F$$$^$9!%e(B

e$B%9%?%C%/$+$iFI$\_9~$s$@%_%V%8%'%/%H$r%_%Z%i%s%I$H$7$FJL$NL?Na$r8F$Ve(B  
e$B%a%?L?Na$H$+$G$9$+$M!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 25, 2007, 3:38pm UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/4 "2007-11-25T15:38:23Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yusuke ENDOH wrote:

> e$B$3$NLdBj$OMn$A$J$$$h$&$KBP1~$5$l$?$h$&$G$9$,!"\<0E83+$,$5$l$J$$$h$&$G$9!#e(B
> 
> $ ./miniruby -e ‘def foobar; end; undef :“foo#{ :bar }”’  
> -e:1:in `<main>': undefined method`foo’ for class `Object’ (NameError)
> 
> e$B%9%?%C%/$+$i%7%s%%k$rFI$_9~$s$Ge(B alias e$B$de(B undef e$B$r$9$k%P%$%H%3!\<%IL?Na$re(B  
> (e$B8+$h$&8+$^$M$Ge(B) e$BDI2C$7$F$_$^$7$?!#M\>7W$J$\*@$OC$@$C$?$i$9$\_$^$;$s!#e(B

e$B!!$&!\<$s!%D\>$9$N$G$b$&$A$g$C$HBT$C$F$/$@$5$$!%$I$A$i$+$H$$$&$H!$%9e(B  
e$B%?%C%/$+$i%7%s%%k%\*%V%8%’%/%H$r\<h$C$F$/$k$[$&$KE}0l$7$^$9!%e(B

e$B!!$A$J$\_$K!$$3$N$"$?$j$N@\_7W$O!$\<B$O:#8e2y$7$F$$$F!$0lHVM}A[E\*$J$N$Oe(B  
e$BFC\<l$J%a%=%C%I8F$S=P$7$KMn$H$9$3$H$+$J$!!$$J$I$H9M$($F$$$^$9!%$G$b!$e(B  
e$B$=$&$$$&$3$H$r$9$k$He(B trace  
e$B$H$+$,F0$$$A$c$C$F%@%a$J$s$@$1$I!%$3$N$"e(B  
e$B$?$j$r$^$H$a$kL?Na$r:n$m$&$+$J$H;W$C$F$$$^$9!%e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 25, 2007, 5:03pm UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/5 "2007-11-25T17:03:35Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yusuke ENDOH wrote:

> e$B$9$G$KLdBj$H$7$FG’\<1$5$l$F$$$?$3$H$J$i\<:Ni$7$^$7$?!#e(B

e$B!!$$$d!$A4A35$$E$$$F$$$^$;$s$G$7$?!J2?;~$N4V$K=$@5$,$5$l$F$?$N$+$b$he(B  
e$B$/CN$i$J$+$C$?!K!%$$$D$b$"$j$,$H$&$4$6$$$^$9!%e(B

> e$B$=$NM}A[$Oe(B (e$B;d$NA[A|$,@5$7$1$l$Pe(B) e$BITJQ$N%_%Z%i%s%I$G$bKh2s%9%?%C%/e(B  
> e$B7PM3$GEO$9$3$H$K$J$j$=$&$G!"%_!\<%P!\<%X%C%I$NJ}$,5$$K$J$j$^$9!#e(B  
> e$B$"!"$R$g$C$H$7$F8=\>u$G$b%\*%Z%i%s%IEO$7$H%9%?%C%/EO$7$K8zN($N:9$O$J$$!)e(B

e$B!!%\*!\<%P%X%C%I$K$D$$$F$O!$$4;XE&$NDL$jA}$($^$9!%$,!$$^$!e(B  
undef/alias  
e$B$J$s$F%k!\<%W$NCf$G$7$J$$$G$7$g!$$H$$$&$3$H$GLdBj$J$$$H;W$C$F$$$^$9!%e(B

> > e$B$3$N$"$?$j$r$^$H$a$kL?Na$r:n$m$&$+$J$H;W$C$F$$$^$9!%e(B
> 
> e$B%9%?%C%/$+$iFI$\_9~$s$@%_%V%8%’%/%H$r%_%Z%i%s%I$H$7$FJL$NL?Na$r8F$Ve(B  
> e$B%a%?L?Na$H$+$G$9$+$M!#e(B

e$B!!$I$A$i$+$H$$$&$H!$L?Na%\*%Z%i%s%I$GJ,4t$9$k46$8$G$9$M!%%3%s%Q%$%k;~e(B  
e$B$K$o$+$C$F$$$k\>pJs$J$N$G!$%9%?%C%/$K@Q$`I,MW$OL5$$$s$8$c$J$$$+$H;W$$e(B  
e$B$^$9!%e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 26, 2007, 4:45am UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/6 "2007-11-26T04:45:46Z")

</div>

e$B1sF#$G$9!#e(B

07/11/26 e$B$Ke(B SASADA Koichi[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) e$B$5$s$O=q$-$^$7$?e(B:

> > e$B$=$NM}A[$Oe(B (e$B;d$NA[A|$,@5$7$1$l$Pe(B) e$BITJQ$N%_%Z%i%s%I$G$bKh2s%9%?%C%/e(B  
> > e$B7PM3$GEO$9$3$H$K$J$j$=$&$G!"%_!\<%P!\<%X%C%I$NJ}$,5$$K$J$j$^$9!#e(B  
> > e$B$“!”$R$g$C$H$7$F8=\>u$G$b%\*%Z%i%s%IEO$7$H%9%?%C%/EO$7$K8zN($N:9$O$J$$!)e(B
> 
> e$B!!%\*!\<%P%X%C%I$K$D$$$F$O!$$4;XE&$NDL$jA}$($^$9!%$,!$$^$!e(B undef/alias  
> e$B$J$s$F%k!\<%W$NCf$G$7$J$$$G$7$g!$$H$$$&$3$H$GLdBj$J$$$H;W$C$F$$$^$9!%e(B

e$B$3$NLdBj$NHO0O$,e(B alias e$B$He(B undef  
e$B$@$1$J$i;d$bLdBj$J$$$H;W$$$^$9!#e(B  
e$B!V$3$N$"$?$j$N@\_7W$O8e2y$7$F$$$k!W$H$$$&$3$H$G!“B\>$K$bF1MM$N2U=j$,$”$k$Ne(B  
e$B$+$J$H;W$C$?$N$G$7$?!#e(B

> > > e$B$3$N$"$?$j$r$^$H$a$kL?Na$r:n$m$&$+$J$H;W$C$F$$$^$9!%e(B
> > 
> > e$B%9%?%C%/$+$iFI$\_9~$s$@%_%V%8%'%/%H$r%_%Z%i%s%I$H$7$FJL$NL?Na$r8F$Ve(B  
> > e$B%a%?L?Na$H$+$G$9$+$M!#e(B
> 
> e$B$I$A$i$+$H$$$&$H!$L?Na%\*%Z%i%s%I$GJ,4t$9$k46$8$G$9$M!%%3%s%Q%$%k;~e(B  
> e$B$K$o$+$C$F$$$k\>pJs$J$N$G!$%9%?%C%/$K@Q$`I,MW$OL5$$$s$8$c$J$$$+$H;W$$e(B  
> e$B$^$9!%e(B

undef :“foo#{ :bar }” e$B$N\>l9g$O!"e(BID  
e$B$,%3%s%Q%$%k;~$K7h$^$i$J$$$+$ie(B  
e$B:$$C$?$3$H$K$J$C$F$$$k$s$@$H;W$$$^$9!#$H$s$A$s$+$s$J$3$H$r8@$C$F$?$ie(B  
e$B$4$a$s$J$5$$!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 26, 2007, 5:14am UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/7 "2007-11-26T05:14:25Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yusuke ENDOH wrote:

> e$B$3$NLdBj$NHO0O$,e(B alias e$B$He(B undef e$B$@$1$J$i;d$bLdBj$J$$$H;W$$$^$9!#e(B  
> e$B!V$3$N$"$?$j$N@\_7W$O8e2y$7$F$$$k!W$H$$$&$3$H$G!“B\>$K$bF1MM$N2U=j$,$”$k$Ne(B  
> e$B$+$J$H;W$C$?$N$G$7$?!#e(B

e$B!!$J$k$[$I!%8e2y$7$F$$$k$N$O!$$3$&$$$&LGB?$K;H$o$l$J$$L?Na$rMQ0U$7$Fe(B  
e$B$$$k$3$H$G$9!%e(B

> > > > e$B$3$N$"$?$j$r$^$H$a$kL?Na$r:n$m$&$+$J$H;W$C$F$$$^$9!%e(B  
> > > > e$B%9%?%C%/$+$iFI$\_9~$s$@%_%V%8%’%/%H$r%_%Z%i%s%I$H$7$FJL$NL?Na$r8F$Ve(B  
> > > > e$B%a%?L?Na$H$+$G$9$+$M!#e(B  
> > > > e$B$I$A$i$+$H$$$&$H!$L?Na%\*%Z%i%s%I$GJ,4t$9$k46$8$G$9$M!%%3%s%Q%$%k;~e(B  
> > > > e$B$K$o$+$C$F$$$k\>pJs$J$N$G!$%9%?%C%/$K@Q$`I,MW$OL5$$$s$8$c$J$$$+$H;W$$e(B  
> > > > e$B$^$9!%e(B
> 
> undef :“foo#{ :bar }” e$B$N\>l9g$O!"e(BID e$B$,%3%s%Q%$%k;~$K7h$^$i$J$$$+$ie(B  
> e$B:$$C$?$3$H$K$J$C$F$$$k$s$@$H;W$$$^$9!#$H$s$A$s$+$s$J$3$H$r8@$C$F$?$ie(B  
> e$B$4$a$s$J$5$$!#e(B

e$B!!$3$l$b;d$N4\*0c$$$+$J!%e(B

putobject :undef  
putobject :foo  
e$B!!e(Bdocommand

e$B$_$?$$$J!$e(Bdocommand  
e$B$_$?$$$JL?Na$rMQ0U$9$kOC$+$H;W$$$^$7$?!d%a%?L?Nae(B

e$B!!;d$O!$e(B

push :foo  
docommand undef

e$B$\_$?$$$J$N$r:n$m$&$+$J$!$H;W$C$F$$$^$9!%e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 26, 2007, 11:36am UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/8 "2007-11-26T11:36:46Z")

</div>

e$B1sF#$G$9!#e(B

07/11/26 e$B$Ke(B SASADA Koichi[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) e$B$5$s$O=q$-$^$7$?e(B:

> e$B!!$J$k$[$I!%8e2y$7$F$$$k$N$O!$$3$&$$$&LGB?$K;H$o$l$J$$L?Na$rMQ0U$7$Fe(B  
> e$B$$$k$3$H$G$9!%e(B

e$B$_$_$&!"N;2r$7$^$7$?!#e(B

> > > > > e$B$3$N$"$?$j$r$^$H$a$kL?Na$r:n$m$&$+$J$H;W$C$F$$$^$9!%e(B  
> > > > > e$B%9%?%C%/$+$iFI$\_9~$s$@%_%V%8%'%/%H$r%_%Z%i%s%I$H$7$FJL$NL?Na$r8F$Ve(B  
> > > > > e$B%a%?L?Na$H$+$G$9$+$M!#e(B  
> > > > > (snip)
> 
> putobject :undef  
> putobject :foo  
> docommand
> 
> e$B$_$?$$$J!$e(Bdocommand e$B$_$?$$$JL?Na$rMQ0U$9$kOC$+$H;W$$$^$7$?!d%a%?L?Nae(B

e$B$G$O$J$/$F!"e(B

> push :foo  
> docommand undef
> 
> e$B$\_$?$$$J$N$r:n$m$&$+$J$!$H;W$C$F$$$^$9!%e(B

e$B$3$l$HF1$8%$%a!\<%8$G$7$?!#e(B

e$B2DG=$J$i$P!"e(B

push :foo  
callfunction rb\_undef 1 0  
(e$B4X?t%]%$%s%?$H!"e(B  
e$B%9%?%C%/$+$iFI$\_9~$`%\*%Z%i%s%Ie(B (=e$B0z?te(B) e$B$N?t$H!"e(B  
e$B%9%?%C%/$KJV$9CMe(B (=e$BLa$jCMe(B) e$B$N?te(B)

e$B$\_$?$$$JL?Na$J$ie(B alias e$B$de(B undef  
e$BL?Na$r40A4$K=|5n$G$-$^$9$7!"3HD%@-$be(B  
e$B9b$/$FNI$$5$$,$7$^$9!#e(BC e$B%l%Y%k$N4X?t8F$S=P$7$J$N$Ge(B trace  
e$B$be(B (e$BB?J,e(B)  
e$BF0$+$J$$$G$9$7!#$G$b2?$G$b=PMh$9$.$F\<}=8$D$+$J$/$J$k$+$J!#e(B

---

<div class="post-metadata">

**Author:** ![sugie](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/s/82dd89/32.png) [@sugie](https://www.ruby-forum.com/u/sugie)\
**Post date:** [November 26, 2007, 2:55pm UTC](https://www.ruby-forum.com/t/core-dump-with-undef-alias-using-dynamic-symbols/120570/9 "2007-11-26T14:55:04Z")

</div>

e$B!!$5$5$@$G$9!%e(B

Yusuke ENDOH wrote:

> e$BF0$+$J$$$G$9$7!#$G$b2?$G$b=PMh$9$.$F\<}=8$D$+$J$/$J$k$+$J!#e(B  
> e$B!!$3$l$O$3$l$G$d$j$?$/$F!$$A$g$C$HA0$^$G$3$s$JL?Na$,F~$C$F$?$s$G$9e(B  
> e$B$,!%%]%$%s%?$rD\>@$$$l$k$H!$Nc$($PL?NaNs$N%7%j%"%i%$%:$G:$$C$A$c$&!$e(B  
> e$B$H$+5U%"%;%s%V%i$G$NI=\<($r$I$&$7$h$&!$$J$s$FLdBj$,$"$C$?$j$9$k$s$G$9e(B  
> e$B$h$M$’!%e(B
