Skip to content

dies when #inspect calls a procedure has an unknown identifier #2474

@tsahara

Description

@tsahara
class A
  def aaa
    xxx
  end

  def inspect
    aaa
  end
end

A.new.inspect
% mruby b.rb
zsh: segmentation fault (core dumped)  bin/mruby b.rb
% gdb bin/mruby mruby.core
GNU gdb 6.3
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 "amd64-unknown-openbsd5.5"...
Core was generated by `mruby'.
Program terminated with signal 11, Segmentation fault.
Loaded symbols for /d/home/tsahara/src/mruby-matz/bin/mruby
Reading symbols from /d/usr/lib/libm.so.9.0...done.
Loaded symbols for /usr/lib/libm.so.9.0
Reading symbols from /d/usr/lib/libtermcap.so.14.0...done.
Loaded symbols for /usr/lib/libtermcap.so.14.0
Reading symbols from /d/usr/lib/libreadline.so.4.0...done.
Loaded symbols for /usr/lib/libreadline.so.4.0
Reading symbols from /d/usr/lib/libc.so.73.1...done.
Loaded symbols for /usr/lib/libc.so.73.1
Reading symbols from /d/usr/libexec/ld.so...done.
Loaded symbols for /usr/libexec/ld.so
#0  mrb_context_run (mrb=0x2c547be9e00, proc=0x2c546b04900, self=Cannot access memory at address 0x7f7fffbfbe50
)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:715
715     {
(gdb) bt
#0  mrb_context_run (mrb=0x2c547be9e00, proc=0x2c546b04900, self=Cannot access memory at address 0x7f7fffbfbe50
)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:715
#1  0x000002c338938bac in mrb_funcall_with_block (mrb=0x2c547be9e00, self=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT}, mid=34, argc=0, argv=0x0, blk=
      {value = {f = 1.5044950157943781e-311, p = 0x2c500000000, i = 0, sym = 0}, tt = MRB_TT_FALSE}) at /d/home/tsahara/src/mruby-matz/src/vm.c:2363
#2  0x000002c3389393ed in mrb_funcall_argv (mrb=Variable "mrb" is not available.
)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:410
#3  0x000002c33891045e in mrb_bob_missing (mrb=0x2c547be9e00, mod=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT})
    at /d/home/tsahara/src/mruby-matz/src/class.c:1210
#4  0x000002c338931511 in mrb_context_run (mrb=0x2c547be9e00, 
    proc=0x2c546b049c0, self=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT}, stack_keep=2)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:1103
#5  0x000002c338938bac in mrb_funcall_with_block (mrb=0x2c547be9e00, self=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT}, mid=34, argc=0, argv=0x0, blk=
      {value = {f = 1.5044950157943781e-311, p = 0x2c500000000, i = 0, sym = 0}, tt = MRB_TT_FALSE}) at /d/home/tsahara/src/mruby-matz/src/vm.c:2363
#6  0x000002c3389393ed in mrb_funcall_argv (mrb=Variable "mrb" is not available.
)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:410
#7  0x000002c33891045e in mrb_bob_missing (mrb=0x2c547be9e00, mod=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT})
    at /d/home/tsahara/src/mruby-matz/src/class.c:1210
---Type <return> to continue, or q <return> to quit---
#8  0x000002c338931511 in mrb_context_run (mrb=0x2c547be9e00, 
    proc=0x2c546b049c0, self=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT}, stack_keep=2)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:1103
#9  0x000002c338938bac in mrb_funcall_with_block (mrb=0x2c547be9e00, self=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT}, mid=34, argc=0, argv=0x0, blk=
      {value = {f = 1.5044950157943781e-311, p = 0x2c500000000, i = 0, sym = 0}, tt = MRB_TT_FALSE}) at /d/home/tsahara/src/mruby-matz/src/vm.c:2363
#10 0x000002c3389393ed in mrb_funcall_argv (mrb=Variable "mrb" is not available.
)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:410
#11 0x000002c33891045e in mrb_bob_missing (mrb=0x2c547be9e00, mod=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT})
    at /d/home/tsahara/src/mruby-matz/src/class.c:1210
#12 0x000002c338931511 in mrb_context_run (mrb=0x2c547be9e00, 
    proc=0x2c546b049c0, self=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT}, stack_keep=2)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:1103
#13 0x000002c338938bac in mrb_funcall_with_block (mrb=0x2c547be9e00, self=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT}, mid=34, argc=0, argv=0x0, blk=
      {value = {f = 1.5044950157943781e-311, p = 0x2c500000000, i = 0, sym = 0}, tt = MRB_TT_FALSE}) at /d/home/tsahara/src/mruby-matz/src/vm.c:2363
#14 0x000002c3389393ed in mrb_funcall_argv (mrb=Variable "mrb" is not available.
)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:410
#15 0x000002c33891045e in mrb_bob_missing (mrb=0x2c547be9e00, mod=

(snipped - looks like infinite recursive call)

#5203 0x000002c33891045e in mrb_bob_missing (mrb=0x2c547be9e00, mod=
      {value = {f = 1.505080956947019e-311, p = 0x2c546b048d0, i = 1185958096, sym = 18640}, tt = MRB_TT_OBJECT})
    at /d/home/tsahara/src/mruby-matz/src/class.c:1210
#5204 0x000002c338931511 in mrb_context_run (mrb=0x2c547be9e00, 
    proc=0x2c546b049c0, self=
      {value = {f = 1.5050809648441642e-311, p = 0x2c546b08740, i = 1185974080, sym = -30912}, tt = MRB_TT_OBJECT}, stack_keep=0)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:1103
#5205 0x000002c338937b94 in mrb_toplevel_run_keep (mrb=0x2c547be9e00, 
    proc=0x2c546b06160, stack_keep=0)
    at /d/home/tsahara/src/mruby-matz/src/vm.c:2373
#5206 0x000002c33893dca3 in load_exec (mrb=0x2c547be9e00, p=0x2c54062b020, 
---Type <return> to continue, or q <return> to quit---
    c=0x2c5466b4680) at parse.y:5566
#5207 0x000002c338955798 in mrb_load_file_cxt (mrb=0x2c547be9e00, 
    f=0x2c542991c00, c=0x2c5466b4680) at parse.y:5575
#5208 0x000002c338905bfd in main (argc=Variable "argc" is not available.
)
    at /d/home/tsahara/src/mruby-matz/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c:225
(gdb) 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions