ruby deep recursion dumps core

Jiawei Ye leafy7382 at gmail.com
Wed Nov 9 02:21:37 PST 2005


On 11/9/05, Dominic Mitchell <dom at happygiraffe.net> wrote:
> I was wondering if anybody else had seen this behaviour:
>
>     % irb
>     irb(main):001:0> def foo ; foo ; end
>     => nil
>     irb(main):002:0> foo
>     zsh: illegal hardware instruction (core dumped)  irb
This is interesting. I built it with debugging symbols on -current and
get tht following result in gdb:

gdb ruby18 ruby18.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 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-marcel-freebsd"...
Core was generated by `ruby18'.
Program terminated with signal 4, Illegal instruction.
Reading symbols from /usr/local/lib/libruby18.so.18...done.
Loaded symbols for /usr/local/lib/libruby18.so.18
Reading symbols from /lib/libcrypt.so.3...done.
Loaded symbols for /lib/libcrypt.so.3
Reading symbols from /lib/libm.so.4...done.
Loaded symbols for /lib/libm.so.4
Reading symbols from /usr/lib/libpthread.so.2...done.
Loaded symbols for /usr/lib/libpthread.so.2
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /usr/local/lib/ruby/1.8/i386-freebsd7/readline.so...done.
Loaded symbols for /usr/local/lib/ruby/1.8/i386-freebsd7/readline.so
Reading symbols from /lib/libreadline.so.6...done.
Loaded symbols for /lib/libreadline.so.6
Reading symbols from /usr/local/lib/libncurses.so...done.
Loaded symbols for /usr/local/lib/libncurses.so
Reading symbols from /lib/libncurses.so.6...done.
Loaded symbols for /lib/libncurses.so.6
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  rb_eval (self=Cannot access memory at address 0xbf9fff34
) at eval.c:2672
2672    eval.c: No such file or directory.
        in eval.c
[New LWP 100073]

--
"Without the userland, the kernel is useless."
               --inspired by The Tao of Programming


More information about the freebsd-ports mailing list