Skip to content

Hash#inspect segfaults when inspecting self-referential Hashes #57

@postmodern

Description

@postmodern
h = Hash.new
h[1] = h
puts h.inspect

Expected Result: {1=>{...}}

Actual Result: Segfault

Backtrace:

Program terminated with signal 11, Segmentation fault.
#0  0x000000000044d3bb in kh_get_n2s (h=0x240b878, key=0x4c9a30 "TypeError")
    at ../../src/symbol.c:27
27  KHASH_MAP_INIT_STR(n2s, mrb_sym);
(gdb) bt
#0  0x000000000044d3bb in kh_get_n2s (h=0x240b878, key=0x4c9a30 "TypeError")
    at ../../src/symbol.c:27
#1  0x000000000044d74a in mrb_intern (mrb=0x23b9010, name=0x4c9a30 "TypeError")
    at ../../src/symbol.c:40
#2  0x000000000047b92a in mrb_class_obj_get (mrb=0x23b9010, name=0x4c9a30 "TypeError")
    at ../../src/variable.c:456
#3  0x000000000043e386 in mrb_obj_alloc (mrb=0x23b9010, ttype=MRB_TT_STRING, 
    cls=0x23c9578) at ../../src/gc.c:268
#4  0x0000000000421f56 in mrb_str_new (mrb=0x23b9010, 
    p=0x7fff71a2edf0 "arena overflow error", len=20) at ../../src/string.c:624
#5  0x00000000004162d8 in mrb_exc_new (mrb=0x23b9010, c=0x23c4e78, 
    ptr=0x7fff71a2edf0 "arena overflow error", len=20) at ../../src/error.c:35
#6  0x0000000000416cc4 in mrb_raise (mrb=0x23b9010, c=0x23c4e78, 
    fmt=0x4c9a3a "arena overflow error") at ../../src/error.c:209
#7  0x000000000043e3a2 in mrb_obj_alloc (mrb=0x23b9010, ttype=MRB_TT_STRING, 
    cls=0x23c9578) at ../../src/gc.c:268
#8  0x0000000000421f56 in mrb_str_new (mrb=0x23b9010, 
    p=0x7fff71a2f140 "arena overflow error", len=20) at ../../src/string.c:624
#9  0x00000000004162d8 in mrb_exc_new (mrb=0x23b9010, c=0x23c4e78, 
    ptr=0x7fff71a2f140 "arena overflow error", len=20) at ../../src/error.c:35
#10 0x0000000000416cc4 in mrb_raise (mrb=0x23b9010, c=0x23c4e78, 
    fmt=0x4c9a3a "arena overflow error") at ../../src/error.c:209
#11 0x000000000043e3a2 in mrb_obj_alloc (mrb=0x23b9010, ttype=MRB_TT_STRING, 
    cls=0x23c9578) at ../../src/gc.c:268
#12 0x0000000000421f56 in mrb_str_new (mrb=0x23b9010, 
    p=0x7fff71a2f490 "arena overflow error", len=20) at ../../src/string.c:624
#13 0x00000000004162d8 in mrb_exc_new (mrb=0x23b9010, c=0x23c4e78, 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions