ふと、次のようにしたら core を吐きました。

% ruby -v -rweakref -e '
w = WeakRef.new(Thread.new {})
GC.start
p w
'
ruby 1.9.0 (2004-01-25) [i686-linux]
zsh: segmentation fault (core dumped)  ruby -v -rweakref -e ' w = WeakRef.new(Thread.new {}) GC.start p w '
% gdb =ruby core 
GNU gdb 5.3-debian
Copyright 2002 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or 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.
This GDB was configured as "i386-linux"...
Core was generated by `ruby -v -rweakref -e 
w = WeakRef.new(Thread.new {})
GC.start
p w
'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /lib/libm.so.6...done.
Loaded symbols for /lib/libm.so.6
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
#0  0x08055d15 in rb_eval (self=1075549196, n=0x401bcda0) at eval.c:2670
2670    {
(gdb) where
#0  0x08055d15 in rb_eval (self=1075549196, n=0x401bcda0) at eval.c:2670
#1  0x08057458 in rb_eval (self=1075549196, n=0x401bcd8c) at eval.c:3234
#2  0x080574b5 in rb_eval (self=1075549196, n=0x401bcd64) at eval.c:3235
#3  0x08057458 in rb_eval (self=1075549196, n=0x401bcd28) at eval.c:3234
#4  0x0805604e in rb_eval (self=1075549196, n=0x401bca30) at eval.c:2787
#5  0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#6  0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
#7  0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#8  0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#9  0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
#10 0x08056664 in rb_eval (self=1075549196, n=0x401b206c) at eval.c:2946
#11 0x08056c9c in rb_eval (self=1075549196, n=0x401b210c) at eval.c:3071
#12 0x0805c39b in rb_call0 (klass=1075544376, recv=1075549196, id=3953, 
    oid=3953, argc=3, argv=0xbf803780, body=0x401b210c, nosuper=0)
    at eval.c:5549
#13 0x0805c7d6 in rb_call (klass=1075544376, recv=1075549196, mid=3953, 
    argc=3, argv=0xbf803780, scope=1) at eval.c:5642
#14 0x080578ec in rb_eval (self=1075549196, n=0x401bca30) at eval.c:3255
#15 0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#16 0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
#17 0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#18 0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#19 0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
#20 0x08056664 in rb_eval (self=1075549196, n=0x401b206c) at eval.c:2946
#21 0x08056c9c in rb_eval (self=1075549196, n=0x401b210c) at eval.c:3071
#22 0x0805c39b in rb_call0 (klass=1075544376, recv=1075549196, id=3953, 
    oid=3953, argc=3, argv=0xbf805a50, body=0x401b210c, nosuper=0)
    at eval.c:5549
#23 0x0805c7d6 in rb_call (klass=1075544376, recv=1075549196, mid=3953, 
    argc=3, argv=0xbf805a50, scope=1) at eval.c:5642
#24 0x080578ec in rb_eval (self=1075549196, n=0x401bca30) at eval.c:3255
#25 0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#26 0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
---Type <return> to continue, or q <return> to quit---
#27 0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#28 0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#29 0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
#30 0x08056664 in rb_eval (self=1075549196, n=0x401b206c) at eval.c:2946
#31 0x08056c9c in rb_eval (self=1075549196, n=0x401b210c) at eval.c:3071
#32 0x0805c39b in rb_call0 (klass=1075544376, recv=1075549196, id=3953, 
    oid=3953, argc=3, argv=0xbf807d20, body=0x401b210c, nosuper=0)
    at eval.c:5549
#33 0x0805c7d6 in rb_call (klass=1075544376, recv=1075549196, mid=3953, 
    argc=3, argv=0xbf807d20, scope=1) at eval.c:5642
#34 0x080578ec in rb_eval (self=1075549196, n=0x401bca30) at eval.c:3255
#35 0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#36 0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
#37 0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#38 0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#39 0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
#40 0x08056664 in rb_eval (self=1075549196, n=0x401b206c) at eval.c:2946
#41 0x08056c9c in rb_eval (self=1075549196, n=0x401b210c) at eval.c:3071
#42 0x0805c39b in rb_call0 (klass=1075544376, recv=1075549196, id=3953, 
    oid=3953, argc=3, argv=0xbf809ff0, body=0x401b210c, nosuper=0)
    at eval.c:5549
#43 0x0805c7d6 in rb_call (klass=1075544376, recv=1075549196, mid=3953, 
    argc=3, argv=0xbf809ff0, scope=1) at eval.c:5642
#44 0x080578ec in rb_eval (self=1075549196, n=0x401bca30) at eval.c:3255
#45 0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#46 0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
#47 0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#48 0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#49 0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
#50 0x08056664 in rb_eval (self=1075549196, n=0x401b206c) at eval.c:2946
#51 0x08056c9c in rb_eval (self=1075549196, n=0x401b210c) at eval.c:3071
#52 0x0805c39b in rb_call0 (klass=1075544376, recv=1075549196, id=3953, 
    oid=3953, argc=3, argv=0xbf80c2c0, body=0x401b210c, nosuper=0)
    at eval.c:5549
#53 0x0805c7d6 in rb_call (klass=1075544376, recv=1075549196, mid=3953, 
---Type <return> to continue, or q <return> to quit---
    argc=3, argv=0xbf80c2c0, scope=1) at eval.c:5642
#54 0x080578ec in rb_eval (self=1075549196, n=0x401bca30) at eval.c:3255
#55 0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#56 0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
#57 0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#58 0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#59 0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
#60 0x08056664 in rb_eval (self=1075549196, n=0x401b206c) at eval.c:2946
#61 0x08056c9c in rb_eval (self=1075549196, n=0x401b210c) at eval.c:3071
#62 0x0805c39b in rb_call0 (klass=1075544376, recv=1075549196, id=3953, 
    oid=3953, argc=3, argv=0xbf80e590, body=0x401b210c, nosuper=0)
    at eval.c:5549
#63 0x0805c7d6 in rb_call (klass=1075544376, recv=1075549196, mid=3953, 
    argc=3, argv=0xbf80e590, scope=1) at eval.c:5642
#64 0x080578ec in rb_eval (self=1075549196, n=0x401bca30) at eval.c:3255
#65 0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#66 0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
#67 0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#68 0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#69 0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
#70 0x08056664 in rb_eval (self=1075549196, n=0x401b206c) at eval.c:2946
#71 0x08056c9c in rb_eval (self=1075549196, n=0x401b210c) at eval.c:3071
#72 0x0805c39b in rb_call0 (klass=1075544376, recv=1075549196, id=3953, 
    oid=3953, argc=3, argv=0xbf810860, body=0x401b210c, nosuper=0)
    at eval.c:5549
#73 0x0805c7d6 in rb_call (klass=1075544376, recv=1075549196, mid=3953, 
    argc=3, argv=0xbf810860, scope=1) at eval.c:5642
#74 0x080578ec in rb_eval (self=1075549196, n=0x401bca30) at eval.c:3255
#75 0x0805c39b in rb_call0 (klass=1075550056, recv=1075549196, id=10265, 
    oid=10265, argc=0, argv=0x0, body=0x401bca30, nosuper=0) at eval.c:5549
#76 0x0805c7d6 in rb_call (klass=1075550056, recv=1075549196, mid=10265, 
    argc=0, argv=0x0, scope=2) at eval.c:5642
#77 0x0805798b in rb_eval (self=1075549196, n=0x401b20d0) at eval.c:3261
#78 0x08057458 in rb_eval (self=1075549196, n=0x401b2044) at eval.c:3234
#79 0x08060d27 in block_pass (self=1075549196, node=0x401b206c) at eval.c:8261
---Type <return> to continue, or q <return> to quit---

backtrace は長すぎるので先頭のほうだけです。
-- 
[田中 哲][たなか あきら][Tanaka Akira]