id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc	lang	patch	platform
1613	Random segfault in rakudo spectests	moritz		"For maybe two weeks now rakudo spectests segfault randomly, triggered without any changes in Rakudo's C code. For some specific combinations of Rakudo and Parrot revisions some of these segfaults are reproducible. Here's one from t/spec/S06-signature/unspecified.rakudo (generate that file by running `make t/spec/S06-signature/unspecified.t`):

{{{
(gdb) run t/spec/S06-signature/unspecified.rakudo
Starting program: /nocrypt-home/moritz/source/rakudo/perl6 t/spec/S06-signature/unspecified.rakudo
[Thread debugging using libthread_db enabled]
warning: Lowest section in /usr/lib/libicudata.so.36 is .hash at 0000000000000120
[New Thread 0x7fb9a473a6f0 (LWP 12057)]
ok 1 - # SKIP siglist
ok 2 - can call sub with no signature specified
ok 3 - sub with no signature dies when given a named argument
ok 4 - sub with no signature dies when given positional argument
ok 5 - # SKIP siglist
ok 6 - can call sub with positional param used
ok 7 - sub using positional param called with no params
ok 8 - sub using positional param called with named param
ok 9 - # SKIP siglist
ok 10 - can call sub with named param used
ok 11 - named param sub is callable with no params
ok 12 - named param sub dies with positional param
ok 13 - # SKIP siglist
ok 14 - can call sub with both named and positional params used

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fb9a473a6f0 (LWP 12057)]
Parrot_str_copy (interp=<value optimized out>, s=0x4dd7328)
    at src/string/api.c:366
366             *buffer_flags |= Buffer_shared_FLAG;
(gdb) bt
#0  Parrot_str_copy (interp=<value optimized out>, s=0x4dd7328)
    at src/string/api.c:366
#1  0x00007fb9a4186cbb in Parrot_str_concat (interp=0x2862010, a=0x4dd7328, 
    b=0x4dd72e0) at src/string/api.c:407
#2  0x00007fb9a41a455f in Parrot_concat_s_s_s (cur_opcode=0x7fb9a185cc68, 
    interp=0x4dd72e0) at src/ops/string.ops:104
#3  0x00007fb9a41f1b3d in runops_fast_core (interp=0x2862010, 
    runcore_unused=<value optimized out>, pc=0x4dd72e0)
    at src/runcore/cores.c:514
#4  0x00007fb9a41f155d in runops_int (interp=0x2862010, offset=273809)
    at src/runcore/main.c:237
#5  0x00007fb9a41ca251 in runops (interp=0x2862010, offs=<value optimized out>)
    at src/call/ops.c:113
#6  0x00007fb9a41c5fc0 in Parrot_pcc_invoke_from_sig_object (interp=0x2862010, 
    sub_obj=<value optimized out>, call_object=<value optimized out>)
    at src/call/pcc.c:359
#7  0x00007fb9a41c60fb in Parrot_pcc_invoke_sub_from_c_args (interp=0x2862010, 
    sub_obj=0x2e45220, sig=<value optimized out>) at src/call/pcc.c:87
#8  0x0000000000400e23 in main ()
(gdb) 
}}}"	bug	closed	normal		none	2.3.0	high	fixed			perl6		
