[Bug:1.8] SEGV by ObjectSpace.define_finalizer("") {}


#1

e$B0J2<$N$h$&$K$9$k$He(B SEGV e$B$7$^$9!#e(B

% ./ruby -ve ‘ObjectSpace.define_finalizer("") {}’
ruby 1.8.8dev (2009-03-15 revision 22961) [i686-linux]
zsh: segmentation fault ./ruby -ve ‘ObjectSpace.define_finalizer("")
{}’

% gdb ruby
GNU gdb 6.4.90-debian
Copyright © 2006 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 “i486-linux-gnu”…Using host libthread_db
library “/lib/tls/i686/cmov/libthread_db.so.1”.

(gdb) run -ve ‘ObjectSpace.define_finalizer("") {}’
Starting program: /home/akr/ruby/18/ruby/ruby -ve
‘ObjectSpace.define_finalizer("") {}’
Failed to read a valid object file image from memory.
[Thread debugging using libthread_db enabled]
[New Thread -1210190144 (LWP 30411)]
ruby 1.8.8dev (2009-03-15 revision 22961) [i686-linux]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1210190144 (LWP 30411)]
0x081428c2 in ?? ()
(gdb) bt
#0 0x081428c2 in ?? ()
#1 0xbfcdb98c in ?? ()
#2 0x080716f6 in run_final (obj=3084700200) at gc.c:1964
#3 0x08071ab7 in rb_gc_call_finalizer_at_exit () at gc.c:2020
#4 0x0805a5b4 in ruby_finalize_1 () at eval.c:1601
#5 0x0806b782 in ruby_cleanup (ex=0) at eval.c:1641
#6 0x0806b8c1 in ruby_stop (ex=0) at eval.c:1699
#7 0x0806ba31 in ruby_run () at eval.c:1720
#8 0x080536bf in main (argc=Cannot access memory at address 0x2
) at main.c:48
(gdb)