わたなべてつやです。

1.1c0 で Linux 上で起きます。HP-UX だとエラーになります。

次のような間違った記述なのですが、core してしまいます。

------------------------------
class Vgp
  @vg_opencount = 0
  @num_lvols = 0
  attr @vg_opencount
  attr @num_lvols
end

j = Vgp.new

exit
------------------------------

syntax としては、変数中に入っているということもあるので、
ややこしいかもしれないのですが。

オブジェクトが「数字以外」のときには、エラーとなるようで
すが、数字のときは core になってしまいます。

------------------------------
$ ruby -v     
ruby 1.1c0(98/07/17) [i686-linux]
$ ruby attr2.rb
attr2.rb:11: [BUG] Segmentation fault
zsh: 2085 abort (core dumped)  ruby attr2.rb
------------------------------

HP-UX だとエラーなんです。

------------------------------
$ ruby -v
ruby 1.1c0(98/07/17) [hppa1.1-hpux10.20]
$ ruby attr2.rb 
attr2.rb:11:in `attr': Unknown operator `' (NameError)
        from attr2.rb:11
------------------------------

Linux は、TurboLinux 1.4J と TurboLinux 2.0J で起きていま
す。

1.4J libc 5.4.38
2.0J glibc 2.0.7 (記憶が不正確ですが)

$ gcc --version
2.7.2.3.f.1

という環境です。

libc 5.4.38 環境での backtrace です。
------------------------------
$ gdb =ruby core
GDB is free software and you are welcome to 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.
GDB 4.16 (i586-unknown-linux), Copyright 1996 Free Software Foundation, Inc...
Core was generated by `ruby attr2.rb'.
Program terminated with signal 6, IOT trap/Abort.
Reading symbols from /lib/libdl.so.1...done.
Reading symbols from /lib/libm.so.5...done.
Reading symbols from /lib/libc.so.5...done.
Reading symbols from /lib/ld-linux.so.1...done.
#0  0x4007dc29 in __kill ()
(gdb) bt
#0  0x4007dc29 in __kill ()
#1  0x4004f5d9 in raise (sig=134888696)
#2  0x808338d in sigsegv (sig=11) at signal.c:332
#3  0xbfffeee8 in ?? ()
#4  0x8085428 in st_lookup (table=0x80ab3e8, key=0x0, value=0xbfffefcc) at st.c:133
#5  0x8075ecc in rb_intern (name=0x0) at parse.y:4036
#6  0x804f760 in rb_attr (klass=1074860324, id=0, read=1, write=0, ex=2) at eval.c:347
#7  0x806b74b in mod_attr (argc=1, argv=0xbffff120, klass=1074860324) at object.c:614
#8  0x80559f6 in rb_call0 (klass=1074912524, recv=1074860324, id=3193, argc=1, argv=0xbffff120, body=0x4011d44c, nosuper=1) at eval.c:3382
#9  0x8056371 in rb_call (klass=1074912524, recv=1074860324, mid=3193, argc=1, argv=0xbffff120, scope=1) at eval.c:3649
#10 0x8052810 in rb_eval (self=1074860324, node=0x40111340) at eval.c:1999
#11 0x805162c in rb_eval (self=1074860324, node=0x40111318) at eval.c:1608
#12 0x805437d in module_setup (module=1074860324, node=0x40111278) at eval.c:2657
#13 0x8053ece in rb_eval (self=1074909424, node=0x40111264) at eval.c:2536
#14 0x805162c in rb_eval (self=1074909424, node=0x401111c4) at eval.c:1608
#15 0x805010e in eval_node (self=1074909424) at eval.c:925
#16 0x80501bd in ruby_run () at eval.c:955
#17 0x804f16c in main (argc=2, argv=0xbffff8a4, envp=0xbffff8b0) at main.c:32
#18 0x804f0ee in ___crt_dummy__ ()
------------------------------

--
WATANABE Tetsuya HP Japan
e-mail  tetsu / jpn.hp.com