#998: Recent parrot changes cause lots of Rakudo spectests to abort with status
11
---------------------+------------------------------------------------------
Reporter: moritz | Owner:
Type: bug | Status: new
Priority: blocker | Milestone:
Component: core | Version: 1.5.0
Severity: release | Keywords:
Lang: | Patch:
Platform: linux |
---------------------+------------------------------------------------------
Comment(by arnsholt):
I get very similar results on my Mac (OS X 10.6.1). My test processes exit
with status 10, after test succeed, in different files on each run. When
running spectest I also got a few interesting errors that may be related.
Two backtraces from a failed assertion in Parrot:
{{{
t/spec/S14-roles/basic....................................ok
1/33src/call/pcc.c:607: failed assertion 'PObj_is_PMC_TEST(sig_pmc)'
Backtrace - Obtained 24 stack frames (max trace depth is 32).
0 libparrot.dylib 0x0000000100937ce3
Parrot_print_backtrace + 35
1 libparrot.dylib 0x0000000100937e17 Parrot_confess
+ 135
2 libparrot.dylib 0x000000010095612b
Parrot_init_arg_op + 267
3 libparrot.dylib 0x0000000100957910 set_retval_util
+ 192
4 libparrot.dylib 0x0000000100957e10 set_retval +
256
5 libparrot.dylib 0x000000010095cbb3
Parrot_runops_fromc_args + 419
6 libparrot.dylib 0x00000001009af16f run_sub + 239
7 libparrot.dylib 0x00000001009af48b do_1_sub_pragma
+ 763
8 libparrot.dylib 0x00000001009af684 do_sub_pragmas
+ 468
9 libparrot.dylib 0x00000001009af79c
PackFile_fixup_subs + 124
10 libparrot.dylib 0x0000000100b78df5 imcc_compile +
1477
11 libparrot.dylib 0x0000000100b78ed5
imcc_compile_pir_ex + 149
12 libparrot.dylib 0x0000000100982f67 pcf_P_Jt + 231
13 libparrot.dylib 0x0000000100a92ab8
Parrot_NCI_invoke + 296
14 libparrot.dylib 0x00000001008c6d80
Parrot_invokecc_p + 144
15 libparrot.dylib 0x00000001009b9664
runops_fast_core + 180
16 libparrot.dylib 0x00000001009b804c runops_int +
252
17 libparrot.dylib 0x000000010095b47a runops + 378
18 libparrot.dylib 0x000000010095b8b2 runops_args +
706
19 libparrot.dylib 0x000000010095cb8c
Parrot_runops_fromc_args + 380
20 libparrot.dylib 0x0000000100934cd3 Parrot_runcode
+ 323
21 perl6 0x000000010000159a main + 298
22 perl6 0x0000000100001454 start + 52
23 ??? 0x0000000000000002 0x0 + 2
}}}
The other one (in t/spec/S12-attributes/class) is identical to that one,
except that it's missing the very last frame marked '???'. I also got an
error from the memory allocator in t/spec/S02-builtin_data_types/declare:
` perl6(71707) malloc: *** error for object 0x20ec8348e5894855: pointer
being freed was not allocated `. Finally I got a bus error in
t/spec/S02-magicals/env: ` sh: line 1: 71774 Bus error
./perl6 -e "%*ENV.perl.say" > temp-ex-output..946.109072378935 `. The
first three errors seem to be consistently reproducible.
Running perl6 in gdb and invoking it on t/spec/S14-roles/basic.rakudo
gives the following output:
{{{
[Normal test output snipped]
not ok 33 - can compile "class does Int"# TODO class as role (RT #60176)
# FUDGED!
src/call/pcc.c:607: failed assertion 'PObj_is_PMC_TEST(sig_pmc)'
[Parrot backtrace snipped]
23 ??? 0x0000000000000002 0x0 + 2
Program received signal SIGABRT, Aborted.
0x00007fff81d4aff6 in __kill ()
(gdb) backtrace
#0 0x00007fff81d4aff6 in __kill ()
#1 0x00007fff81dec072 in abort ()
#2 0x0000000100937e1c in Parrot_confess (cond=Could not find the frame
base for "Parrot_confess".
) at src/exceptions.c:610
#3 0x000000010095612b in Parrot_init_arg_op (interp=0x100f088d0,
ctx=0x10392ea40, pc=0x104ea9e98, sti=0x7fff5fbfef80) at src/call/pcc.c:607
#4 0x0000000100957910 in set_retval_util (interp=0x100f088d0,
sig=0x100b7debc "P", ctx=0x10392ea40, st=0x7fff5fbfef80) at
src/call/pcc.c:1970
#5 0x0000000100957e10 in set_retval (interp=0x100f088d0, sig_ret=80,
ctx=0x10392ea40) at src/call/pcc.c:2016
#6 0x000000010095cbb3 in Parrot_runops_fromc_args (interp=0x100f088d0,
sub=0x10393a6e0, sig=0x100b7debc "P") at src/call/ops.c:340
#7 0x00000001009af16f in run_sub (interp=0x100f088d0,
sub_pmc=0x10393a6e0) at src/packfile.c:688
#8 0x00000001009af48b in do_1_sub_pragma (interp=0x100f088d0,
sub_pmc=0x10393a6e0, action=PBC_MAIN) at src/packfile.c:780
#9 0x00000001009af684 in do_sub_pragmas (interp=0x100f088d0,
self=0x10a38aec0, action=PBC_MAIN, eval_pmc=0x103938b50) at
src/packfile.c:942
#10 0x00000001009af79c in PackFile_fixup_subs (interp=0x100f088d0,
what=PBC_MAIN, eval=0x103938b50) at src/packfile.c:4951
#11 0x0000000100b78df5 in imcc_compile (interp=0x100f088d0, s=0x1016f2400
"\n.HLL \"perl6\"\n\n.namespace [\"Test\"]\n.sub \"_block2159\"
:subid(\"302_1252881699\")\n.annotate \"line\", 0\n .const 'Sub' $P2162
= \"303_1252881699\" \n capture_lex $P2162\n.annotate 'file',
't/spec/S14-role"..., pasm_file=0, error_message=0x7fff5fbff480) at
compilers/imcc/parser_util.c:737
#12 0x0000000100b78ed5 in imcc_compile_pir_ex (interp=0x100f088d0,
s=0x1016f2400 "\n.HLL \"perl6\"\n\n.namespace [\"Test\"]\n.sub
\"_block2159\" :subid(\"302_1252881699\")\n.annotate \"line\", 0\n
.const 'Sub' $P2162 = \"303_1252881699\" \n capture_lex
$P2162\n.annotate 'file', 't/spec/S14-role"...) at
compilers/imcc/parser_util.c:875
#13 0x0000000100982f67 in pcf_P_Jt (interp=0x100f088d0, self=0x1010cd1e0)
at src/nci.c:237
#14 0x0000000100a92ab8 in Parrot_NCI_invoke (interp=0x100f088d0,
pmc=0x1010cd1e0, next=0x104ea9e90) at nci.pmc:342
#15 0x00000001008c6d80 in Parrot_invokecc_p (cur_opcode=0x104ea9e80,
interp=0x100f088d0) at core.ops:433
#16 0x00000001009b9664 in runops_fast_core (interp=0x100f088d0,
runcore=0x100f1c3f0, pc=0x104ea9e80) at src/runcore/cores.c:777
#17 0x00000001009b804c in runops_int (interp=0x100f088d0, offset=335938)
at src/runcore/main.c:640
#18 0x000000010095b47a in runops (interp=0x100f088d0, offs=335938) at
src/call/ops.c:119
#19 0x000000010095b8b2 in runops_args (interp=0x100f088d0,
sub=0x104360c10, obj=0x1010ab5e0, meth_unused=0x0, sig=0x100b8c55a "vP",
ap=0x7fff5fbff810) at src/call/ops.c:269
#20 0x000000010095cb8c in Parrot_runops_fromc_args (interp=0x100f088d0,
sub=0x104360c10, sig=0x100b8c55a "vP") at src/call/ops.c:338
#21 0x0000000100934cd3 in Parrot_runcode (interp=0x100f088d0, argc=2,
argv=0x7fff5fbff9a0) at src/embed.c:852
#22 0x000000010000159a in main (argc=2, argv=0x7fff5fbff9a0) at
perl6.c:282612
}}}
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/998#comment:6>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets