# @0..0 dumps core

**URL:** <https://www.ruby-forum.com/t/0-0-dumps-core/108163>\
**Category:** Development\
**Created:** [June 29, 2007, 3:27pm UTC](https://www.ruby-forum.com/t/0-0-dumps-core/108163 "2007-06-29T15:27:32Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [June 29, 2007, 3:27pm UTC](https://www.ruby-forum.com/t/0-0-dumps-core/108163/1 "2007-06-29T15:27:32Z")

</div>

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

1.8.6 e$B!"e(B1.9 e$B6&$K0J2\<$N$h$&$K$9$k$HMn$A$^$9!#e(B

$ ./ruby -e ‘@0…0’  
-e:1: `@0’ is not allowed as an instance variable name  
-e:1: identifier @0 is not valid  
-e:1: [BUG] Segmentation fault  
ruby 1.8.6 (2007-06-29) [i686-linux]

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

e$B0J2\<$N%Q%C%A$GMn$A$J$/$J$j$^$7$?!#e(B

# Index: parse.y

— parse.y (revision 12667)  
+++ parse.y (working copy)  
@@ -4351,6 +4351,7 @@  
else {  
rb\_compile\_error("`@@%c’ is not allowed as a class variable name",  
c);  
}

- 

```
 return 0;

```

}  
if (!is\_identchar©) {  
pushback©;

e$B%F%9%H%1!\<%9$O!"@5D\>$I$3$K$I$&=q$1$P$$$$$N$+$o$+$i$s$G$9!#e(B  
e$B$=$l$G$b4:$($F=q$/$J$ie(B sample/test.rb  
e$B$K0J2\<$rDI2C$G$7$g$&$+!#e(B

test\_ok(nil == (begin eval “@0…0”; rescue Exception; nil end))

e$B$G$be(B test.rb e$BCf$N$I$NJU$j$K=q$1$P$$$$$N$+$o$+$j$^$;$s$7!"e(B  
e$BB\>$N%F%9%H$HHf$Y$F$bIb$$$F$$$k5$$,$7$^$9!#e(B

---

<div class="post-metadata">

**Author:** ![Yusuke\_ENDOH](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/c89c15/32.png) [@Yusuke\_ENDOH](https://www.ruby-forum.com/u/Yusuke_ENDOH)\
**Post date:** [July 2, 2007, 3:53pm UTC](https://www.ruby-forum.com/t/0-0-dumps-core/108163/2 "2007-07-02T15:53:54Z")

</div>

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

e$B!!%F%9%H$NBEEv@-$O!"e(Bparse.y  
e$B$O$h$/$o$+$i$J$$$N$GB\>$N?M$rBT$D$3e(B  
e$B$H$K$7$F!#e(B

Yusuke ENDOH wrote:

> e$B%F%9%H%1!\<%9$O!"@5D\>$I$3$K$I$&=q$1$P$$$$$N$+$o$+$i$s$G$9!#e(B  
> e$B$=$l$G$b4:$($F=q$/$J$ie(B sample/test.rb e$B$K0J2\<$rDI2C$G$7$g$&$+!#e(B
> 
> test\_ok(nil == (begin eval “@0…0”; rescue Exception; nil end))
> 
> e$B$G$be(B test.rb e$BCf$N$I$NJU$j$K=q$1$P$$$$$N$+$o$+$j$^$;$s$7!"e(B  
> e$BB\>$N%F%9%H$HHf$Y$F$bIb$$$F$$$k5$$,$7$^$9!#e(B

e$B!!$?$7$+$K!#e(B

e$B!!:#9M$($F$$$k$N$O!“e(Bbootstraptest/  
e$B$K!”:#$?$/$5$s;XE&$7$F$$$?e(B  
e$B$@$$$F$$$k%@%a$JNc$r=8$a$F!"!VF0$+$7$F$be(B segv/abort e$B$7$J$$$3e(B  
e$B$H!W$r3NG’$9$k$?$a$N%U%!%$%k$b$7$/$O5-=R!Je(Btest\_exec “program”  
e$B!"$+$J$!!K$rMQ0U$7$F!"$=$3$K5-O?$7$F$\*$/!"$H$$$&0F$G$9!#e(B

e$B!!:#EY!"$A$g$C$HMQ0U$7$F$\_$^$9!#e(B
