#1613: Random segfault in rakudo spectests
--------------------+-------------------------------------------------------
Reporter: moritz | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: none | Version: 2.3.0
Severity: high | Keywords:
Lang: perl6 | Patch:
Platform: |
--------------------+-------------------------------------------------------
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)
}}}
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1613>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets