Project

General

Profile

Actions

Bug #11560

closed

crash in rb_vm_proc_envval after symbol change

Added by Hanmac (Hans Mackowiak) over 8 years ago. Updated over 8 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-10-01 trunk 51995) [x86_64-linux]
[ruby-core:<unknown>]

Description

somewhere in "git diff c2310ba..c90550c" where was some kind of heisenbug (its hard to debug because sometimes the crash does not happen)

below is the backtrace i got from running with gdb

#0 rb_vm_proc_envval (proc=proc@entry=0x87bf20) at vm.c:725
#1 0x00007ffff797c8f5 in proc_mark (ptr=0x87bf20) at proc.c:51
#2 0x00007ffff79971ad in gc_mark_stacked_objects (incremental=, count=, objspace=) at gc.c:4464
#3 gc_mark_stacked_objects_all (objspace=) at gc.c:4504
#4 gc_marks_rest (objspace=0x6039f0) at gc.c:5327
#5 0x00007ffff79977e5 in gc_marks (full_mark=, objspace=0x6039f0) at gc.c:5387
#6 gc_start (objspace=0x6039f0, full_mark=, immediate_mark=, immediate_sweep=, reason=) at gc.c:6172
#7 0x00007ffff7999316 in heap_prepare (heap=0x603a10, objspace=0x6039f0) at gc.c:1632
#8 heap_get_freeobj_from_next_freepage (heap=, objspace=) at gc.c:1644
#9 heap_get_freeobj (heap=0x603a10, objspace=0x6039f0) at gc.c:1668
#10 newobj_of (klass=, flags=13, v1=0, v2=0, v3=0) at gc.c:1722
#11 0x00007ffff7a22dcc in match_alloc (klass=) at re.c:900
#12 rb_reg_search0 (re=9830120, str=6325000, pos=10, reverse=2, set_backref_str=8280744) at re.c:1518
#13 0x00007ffff7a72b56 in str_gsub (argc=, argv=, str=6325000, bang=1) at string.c:4540
#14 0x00007ffff7ad9a0e in vm_call0_cfunc_with_frame (ci=, cc=, argv=, calling=, th=) at vm_eval.c:131
#15 vm_call0_cfunc (argv=, cc=, ci=, calling=, th=) at vm_eval.c:148
#16 vm_call0_body (th=0x6035f0, calling=0x3, ci=0x608308, cc=0x2, cc@entry=0x7fffffffbaf0, argv=0x7fffffffbb60) at vm_eval.c:186
#17 0x00007ffff7ada66e in vm_call0 (me=, argv=0x7fffffffbb60, argc=2, id=6799, recv=6325000, th=) at vm_eval.c:61
#18 rb_call0 (recv=6325000, recv@entry=140737488337904, mid=6799, argc=argc@entry=2, argv=0x7fffffffbb60, scope=scope@entry=CALL_FCALL, self=) at vm_eval.c:351
#19 0x00007ffff7adb152 in rb_call (scope=CALL_FCALL, argv=, argc=2, mid=, recv=140737488337904) at vm_eval.c:630
#20 rb_funcall (recv=recv@entry=6325000, mid=, n=n@entry=2) at vm_eval.c:828
#21 0x00007ffff5ce3f67 in date__parse (str=6325000, comp=20) at date_parse.c:2213
#22 0x00007ffff5cc848f in date_s__parse_internal (argc=argc@entry=2, argv=argv@entry=0x7fffffffbcb0, klass=) at date_core.c:4300
#23 0x00007ffff5cdc04f in date_s__parse (klass=8699520, argv=0x7fffffffbcb0, argc=2) at date_core.c:4332
#24 datetime_s_parse (argc=1, argv=, klass=8699520) at date_core.c:7931
#25 0x00007ffff7ac635d in vm_call_cfunc_with_frame (ci=, cc=, calling=, reg_cfp=0x7ffff7fc0e10, th=) at vm_insnhelper.c:1621
#26 vm_call_cfunc (th=, reg_cfp=, calling=, ci=, cc=) at vm_insnhelper.c:1716
#27 0x00007ffff7acfba0 in vm_exec_core (th=th@entry=0x6035f0, initial=initial@entry=0) at insns.def:978
#28 0x00007ffff7ad4e0f in vm_exec (th=th@entry=0x6035f0) at vm.c:1476
#29 0x00007ffff7ad5dc9 in invoke_block_from_c (th=0x6035f0, block=, self=6711080, argc=argc@entry=1, argv=argv@entry=0x7fffffffc468, blockptr=blockptr@entry=0x0, cref=0x0, splattable=1) at vm.c:852
#30 0x00007ffff7ad610c in vm_yield (argc=, argv=, th=) at vm.c:890
#31 rb_yield_0 (argv=, argc=) at vm_eval.c:1003
#32 rb_yield (val=6326360) at vm_eval.c:1013
#33 0x00007ffff7927a2d in rb_ary_collect (ary=6326560) at array.c:2738
#34 0x00007ffff7ac635d in vm_call_cfunc_with_frame (ci=, cc=, calling=, reg_cfp=0x7ffff7fc0e90, th=) at vm_insnhelper.c:1621
#35 vm_call_cfunc (th=, reg_cfp=, calling=, ci=, cc=) at vm_insnhelper.c:1716
#36 0x00007ffff7acfac5 in vm_exec_core (th=th@entry=0x6035f0, initial=initial@entry=0) at insns.def:947
#37 0x00007ffff7ad4e0f in vm_exec (th=th@entry=0x6035f0) at vm.c:1476
#38 0x00007ffff7ad5dc9 in invoke_block_from_c (th=0x6035f0, block=, self=6711080, argc=argc@entry=1, argv=argv@entry=0x7fffffffcc18, blockptr=blockptr@entry=0x0, cref=0x0, splattable=1) at vm.c:852
#39 0x00007ffff7ad610c in vm_yield (argc=, argv=, th=) at vm.c:890
#40 rb_yield_0 (argv=, argc=) at vm_eval.c:1003
#41 rb_yield (val=9979600) at vm_eval.c:1013
#42 0x00007ffff7927a2d in rb_ary_collect (ary=6331640) at array.c:2738
#43 0x00007ffff7ac635d in vm_call_cfunc_with_frame (ci=, cc=, calling=, reg_cfp=0x7ffff7fc0f10, th=) at vm_insnhelper.c:1621
#44 vm_call_cfunc (th=, reg_cfp=, calling=, ci=, cc=) at vm_insnhelper.c:1716
#45 0x00007ffff7acfac5 in vm_exec_core (th=th@entry=0x6035f0, initial=initial@entry=0) at insns.def:947
#46 0x00007ffff7ad4e0f in vm_exec (th=th@entry=0x6035f0) at vm.c:1476
#47 0x00007ffff7ad5dc9 in invoke_block_from_c (th=0x6035f0, block=, self=6711080, argc=argc@entry=1, argv=argv@entry=0x7fffffffd3c8, blockptr=blockptr@entry=0x0, cref=0x0, splattable=1) at vm.c:852
#48 0x00007ffff7ad610c in vm_yield (argc=, argv=, th=) at vm.c:890
#49 rb_yield_0 (argv=, argc=) at vm_eval.c:1003
#50 rb_yield (val=9901160) at vm_eval.c:1013
#51 0x00007ffff7927a2d in rb_ary_collect (ary=9896720) at array.c:2738
#52 0x00007ffff7ac635d in vm_call_cfunc_with_frame (ci=, cc=, calling=0x6535b0, reg_cfp=0x7ffff7fc0f90, th=) at vm_insnhelper.c:1621
#53 vm_call_cfunc (th=th@entry=0x6035f0, reg_cfp=reg_cfp@entry=0x7ffff7fc0f90, calling=calling@entry=0x7fffffffd600, ci=, cc=) at vm_insnhelper.c:1716
#54 0x00007ffff7ad6f4e in vm_call_method (th=0x6035f0, cfp=0x7ffff7fc0f90, calling=0x7fffffffd600, ci=, cc=) at vm_insnhelper.c:2023
#55 0x00007ffff7acfac5 in vm_exec_core (th=th@entry=0x6035f0, initial=initial@entry=0) at insns.def:947
#56 0x00007ffff7ad4e0f in vm_exec (th=0x6035f0) at vm.c:1476
#57 0x00007ffff7ad9763 in rb_iseq_eval_main (iseq=iseq@entry=0x8d1f30) at vm.c:1718
#58 0x00007ffff7974e5f in ruby_exec_internal (n=0x8d1f30) at eval.c:244
#59 0x00007ffff7976f2d in ruby_exec_node (n=n@entry=0x8d1f30) at eval.c:309
#60 0x00007ffff79795ee in ruby_run_node (n=0x8d1f30) at eval.c:301
#61 0x000000000040088b in main (argc=2, argv=0x7fffffffde08) at main.c:36

Actions #1

Updated by Hanmac (Hans Mackowiak) over 8 years ago

  • Assignee set to nobu (Nobuyoshi Nakada)
Actions #2

Updated by nobu (Nobuyoshi Nakada) over 8 years ago

  • Status changed from Open to Closed

Applied in changeset r51996.


proc.c: fix symbol proc mark

Actions

Also available in: Atom PDF

Like0
Like0Like0