Set_trace_func dumps core (2)


% cat segv.rb
class Binding
def eval str, *a
Kernel.eval str, self, *a

class Foo
def m1
callcc do |*|
x = lambda do |e, f, l, m, b, c|
set_trace_func nil
yield b
y = lambda do |e, *|
set_trace_func x if e == “return”
set_trace_func y

def m2
m1 do |b|
p [self, b.eval(“self”), eval(“self”, b)]

eval “”

% gdb --args ruby-1.8 -v segv.rb
GNU gdb 6.1-20040303 (Apple version gdb-413) (Wed May 18 10:17:02 GMT
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you
welcome to change it and/or distribute copies of it under certain
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB. Type “show warranty” for
This GDB was configured as “powerpc-apple-darwin”…Reading symbols for
shared libraries … done

(gdb) run
Starting program: /usr/local/bin/ruby-1.8 -v segv.rb
Reading symbols for shared libraries …+. done
ruby 1.8.4 (2006-05-11) [powerpc-darwin8.6.0]
[#Foo:0x25a30, #Foo:0x25a30, #Foo:0x25a30]

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
Cannot access memory at address 0x0
Cannot access memory at address 0x0
Cannot access memory at address 0x0
#1 0x002254e8 in rb_call0 (klass=Cannot access memory at address 0x0
154520, recv=154160, id=10065, oid=Cannot access memory at address 0x0
Cannot access memory at address 0x0
10065, argc=0, argv=0x0, body=0x25d28, flags=0) at
#2 0x00225838 in rb_call (klass=154520, recv=154160, mid=10065, argc=0,
argv=0x0, scope=0) at …/ruby-1.8/eval.c:6001
#3 0x00222984 in rb_eval (self=219620, n=0x25d28) at
#4 0x002227b4 in rb_eval (self=219620, n=0x25d28) at
#5 0x002315ec in eval (self=219620, src=154400, scope=4, file=0x2a031c
“(eval)”, line=1) at …/ruby-1.8/eval.c:6395
#6 0x00231a5c in rb_f_eval (argc=2824376, argv=0x25d28, self=2822604)
at …/ruby-1.8/eval.c:6507
#7 0x00224e00 in rb_call0 (klass=224400, recv=219620, id=3913,
oid=3913, argc=1, argv=0xbfffe000, body=0x35264, flags=2) at
#8 0x00225838 in rb_call (klass=224400, recv=219620, mid=3913, argc=1,
argv=0xbfffe000, scope=1) at …/ruby-1.8/eval.c:6001
#9 0x00222bbc in rb_eval (self=0, n=0x25d28) at …/ruby-1.8/eval.c:3445
#10 0x00232d50 in ruby_exec_internal () at …/ruby-1.8/eval.c:1590
#11 0x00232d9c in ruby_exec () at …/ruby-1.8/eval.c:1610
#12 0x00232de4 in ruby_run () at …/ruby-1.8/eval.c:1620
#13 0x00002ce8 in main (argc=3, argv=0xbfffec24, envp=0x25a30) at

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs