ふなばです。
とりあえず、うちでは new の前に GC.start するとコアダンプさせることに
成功します。
class Foo < File
def x
@x = "x"
end
end
GC.start
p Foo.new("foo.txt", "w").x
(gdb) w
#0 0x200f2801 in ?? ()
#1 0x200f2064 in ?? ()
#2 0x5ac0c in rb_bug (fmt=0x4661c "Segmentation fault") at error.c:154
#3 0x4663d in sigsegv (sig=11) at signal.c:377
#4 0xefbfdfdc in ?? ()
#5 0x526d9 in rb_ivar_set (obj=629452, id=8210, val=629352) at variable.c:865
#6 0x616f in rb_eval (self=629452, node=0x99a54) at eval.c:2337
#7 0x9549 in rb_call0 (klass=628572, recv=629452, id=8201, argc=0, argv=0x0,
body=0x999dc, nosuper=0) at eval.c:3897
#8 0x9884 in rb_call (klass=628572, recv=629452, mid=8201, argc=0, argv=0x0,
scope=0) at eval.c:3985
#9 0x5820 in rb_eval (self=675532, node=0x997e8) at eval.c:2183
#10 0x56ab in rb_eval (self=675532, node=0x997c0) at eval.c:2175
#11 0x44c2 in rb_eval (self=675532, node=0x99798) at eval.c:1720
#12 0x289c in eval_node (self=675532) at eval.c:967
#13 0x29f2 in ruby_run () at eval.c:994
#14 0x1611 in main (argc=2, argv=0xefbfd810, envp=0xefbfd81c) at main.c:39
(gdb) up 5
#5 0x526d9 in rb_ivar_set (obj=629452, id=8210, val=629352) at variable.c:865
865 st_insert(ROBJECT(obj)->iv_tbl, id, val);
/Just another Ruby hacker,/.source.display
ふなば ただよし