whiteknight/imcc_compreg_pmc branch ready for testing

Andrew Whitworth wknight8111 at gmail.com
Tue Mar 1 14:00:46 UTC 2011


Andy,

Thanks for testing and looking into some of the failures. We have some
GC-related bugs on this branch, and I need to do a little bit more
work before it's ready for consideration again.

Thanks,

--Andrew Whitworth



On Tue, Mar 1, 2011 at 8:55 AM, Andy Dougherty <doughera at lafayette.edu> wrote:
> On Mon, 28 Feb 2011, Andy Dougherty wrote:
>
>> On Sun, 27 Feb 2011, Andy Dougherty wrote:
>>
>> > On Sat, 26 Feb 2011, Andrew Whitworth wrote:
>> >
>> > > The whiteknight/imcc_compreg_pmc branch is passing most tests for me
>> > > right now, and I would like to get some other people to help testing
>> > > it before I think about a merge.
>>
>> On Solaris/SPARC with Sun's cc compiler, the build failed at
>>
>> ./parrot -o runtime/parrot/library/nqp-rx.pbc
>> ext/nqp-rx/src/stage0/NQP-s0.pir
>> *** Signal 11 - core dumped
>> make: Fatal error: Command failed for target
>> `runtime/parrot/library/nqp-rx.pbc'
>>
>> Running 'make coretest' resulted in a lot of failures.  I haven't had any
>> chance to try to track them all down to look for common themes.
>
> Running all the test failures through the debugger, they all look very
> similar.  They all SEGV at the same spot.  Here are two
> examples:
>
> Running: parrot t/op/gc-active-buffers.t
> 1..1
> t at 1 (l at 1) signal SEGV (no mapping at the fault address) in fill_params at line 747 in file "args.c"
>  747       GETATTR_FixedIntegerArray_size(interp, raw_sig, param_count);
> current thread: t at 1
> =>[1] fill_params(interp = 0x2c328, call_object = 0x1f2268, raw_sig = 0xe9e40, arg_info = 0xfebf01ec, accessor = 0xff137124, direction = PARROT_ERRORS_PARAM_COUNT_FLAG), line 747 in "args.c"
>  [2] Parrot_pcc_fill_params_from_op(interp = 0x2c328, call_object = 0x1f2268, raw_sig = 0xe9e40, raw_params = 0xfebf01ec, direction = PARROT_ERRORS_PARAM_COUNT_FLAG), line 1251 in "args.c"
>  [3] Parrot_get_params_pc(cur_opcode = 0xfebf01ec, interp = 0x2c328), line 15375 in "core_ops.c"
>  [4] runops_slow_core(interp = 0x2c328, runcore_unused = 0xd3920, pc = 0xfebf01ec), line 646 in "cores.c"
>  [5] runops_int(interp = 0x2c328, offset = 0), line 218 in "main.c"
>  [6] runops(interp = 0x2c328, offs = 0), line 126 in "ops.c"
>  [7] Parrot_pcc_invoke_from_sig_object(interp = 0x2c328, sub_obj = 0xe9990, call_object = 0xe9a30), line 323 in "pcc.c"
>  [8] Parrot_pcc_invoke_sub_from_c_args(interp = 0x2c328, sub_obj = 0xe9990, sig = 0xff052974 "P->", ...), line 130 in "pcc.c"
>  [9] Parrot_pf_execute_bytecode_program(interp = 0x2c328, pf = 0xd8a78, args = 0xd9de4), line 4540 in "api.c"
>  [10] Parrot_api_run_bytecode(interp_pmc = 0xd1be4, pbc = 0xe99f4, mainargs = 0xd9de4), line 459 in "api.c"
>  [11] main(argc = 2, argv = 0xffbefa8c), line 228 in "main.c"
>
>
> Running: parrot t/op/integer.t
> 1..153
> ok 1 - set_i_ic with 0
> ok 2 - set_i_ic with 1
> ok 3 - set_i_ic with 2
> ok 4 - set_i_ic with 3
> ok 5 - set_i_ic with 4
> ok 6 - set_i_ic with 5
> ok 7 - set_i_ic with 6
> ok 8 - set_i_ic with 7
> ok 9 - set_i_ic with 8
> ok 10 - set_i_ic with 9
> ok 11 - set_i_ic with 10
> ok 12 - set_i_ic with 11
> ok 13 - set_i_ic with 12
> ok 14 - set_i_ic with 13
> ok 15 - set_i_ic with 14
> ok 16 - set_i_ic with 15
> ok 17 - set_i_ic with 16
> ok 18 - set_i_ic with 17
> ok 19 - set_i_ic with 18
> ok 20 - set_i_ic with 19
> ok 21 - set_i_ic with 20
> ok 22 - set_i_ic with 21
> ok 23 - set_i_ic with 22
> ok 24 - set_i_ic with 23
> ok 25 - set_i_ic with 24
> ok 26 - set_i_ic with 25
> ok 27 - set_i_ic with 26
> ok 28 - set_i_ic with 27
> ok 29 - set_i_ic with 28
> ok 30 - set_i_ic with 29
> ok 31 - set_i_ic with 30
> ok 32 - set_i_ic with 31
> ok 33 - set_i
> ok 34 - add_i_i - first
> ok 35 - add_i_i - second
> ok 36 - add_i_i - third
> ok 37 - add_i_i - zero is neutral
> ok 38 - add_i_i - inverse
> ok 39 - add_i_ic - zero is neutral
> ok 40 - add_i_ic
> ok 41 - abs_i_ic
> ok 42 - abs_i_i
> ok 43 - abs_i_nc
> ok 44 - abs_i_n
> ok 45 - sub_i_i_i
> ok 46 - sub_i_i_ic
> ok 47 - sub_i_ic_i
> ok 48 - sub_i_ic_ic
> ok 49 - mul_i_i_i
> ok 50 - mul_i_i_ic
> ok 51 - div_i_i_i - exact
> ok 52 - div_i_i_i - quotient with positive integers
> ok 53 - div_i_i_i - quotient with negative divisor
> ok 54 - div_i_ic_i
> ok 55 - div_i_i_ic
> ok 56 - div_i_ic_ic
> ok 57 - fdiv_i_i with negative divisor
> ok 58 - fdiv_i_i_i with negative divisor
> ok 59 - mod_i_i_i by 0
> ok 60 - mod_i_i_i of 0
> ok 61 - mod_i_i_i - remainder of 5 / 3
> ok 62 - mod_i_i_i - remainder of 5 / -3
> ok 63 - mod_i_i_i - remainder of -5 / 3
> ok 64 - mod_i_i_i - remainder of -5 / -3
> ok 65 - mod_i_i_ic
> ok 66 - mod_i_ic_i
> ok 67 - mod_i_ic_ic
> ok 68 - mod - negative, zero rest (#36003), 3 mod 3 = 0
> ok 69 - mod - negative, zero rest (#36003), -3 mod 3 = 0
> ok 70 - mod - negative, zero rest (#36003), 3 mod -3 = 0
> ok 71 - mod - negative, zero rest (#36003), -3 mod -3 = 0
> ok 72 - eq_i_i - equal
> ok 73 - eq_i_i - different
> ok 74 - eq_i_ic - different
> ok 75 - eq_i_ic - equal
> ok 76 - eq_i_ic - 12 == 12
> ok 77 - eq_ic_ic - equal
> ok 78 - eq_ic_ic - different
> ok 79 - ne_i_i - different
> ok 80 - ne_i_i - equal
> ok 81 - ne_i_ic - equal
> ok 82 - ne_i_ic - different
> ok 83 - lt_i_i - true inequality
> ok 84 - lt_i_i - false inequality
> ok 85 - lt_i_i - irreflexivity
> ok 86 - lt_i_ic - false inequality
> ok 87 - lt_i_ic - true inequality
> ok 88 - lt_i_ic - irreflexivity
> ok 89 - le_i_i - true inequality
> ok 90 - le_i_i - false inequality
> ok 91 - le_i_i - reflexive
> ok 92 - le_i_ic - false inequality
> ok 93 - le_i_ic - true inequality
> ok 94 - le_i_ic - reflexivity
> ok 95 - gt_i_i - true inequality
> ok 96 - gt_i_i - false inequality
> ok 97 - gt_i_i - irreflexive
> ok 98 - gt_i_ic - false inequality
> ok 99 - gt_i_ic - true inequality
> ok 100 - gt_i_ic - another false inequality
> ok 101 - ge_i_i - true inequality
> ok 102 - ge_i_i - false inequality
> ok 103 - ge_i_i - reflexive
> ok 104 - ge_i_ic - false inequality
> ok 105 - ge_i_ic - true inequality
> ok 106 - ge_i_ic - reflexivity
> ok 107 - not_i_i - not 1
> ok 108 - not_i_i - not (not 1)
> ok 109 - not_i_i of a positive integer
> ok 110 - not_i_i of a negative integer
> ok 111 - not_i_ic
> ok 112 - and - zero is right absorbing
> ok 113 - and - zero is left absorbing
> ok 114 - and - diagonal zero
> ok 115 - and - true operands
> ok 116 - or_i_i
> ok 117 - or_i_i - symmetric case
> ok 118 - or_i_i - false arguments
> ok 119 - or_i_i - reflexive
> ok 120 - xor - zero is right neutral
> ok 121 - xor - zero is left neutral
> ok 122 - xor - nilpotent on zero
> ok 123 - xor - nilpotent on 2
> ok 124 - xor - nilpotent on other
> ok 125 - inc_i (first)
> ok 126 - inc_i (second)
> ok 127 - dec_i (first)
> ok 128 - dec_i (second)
> ok 129 - sub_i_i
> ok 130 - sub_i_i - inverse
> ok 131 - sub_i_ic - first
> ok 132 - sub_i_ic - second
> ok 133 - set_n_i -zero
> ok 134 - set_n_i - positive integer
> ok 135 - set_n_i - negative integer
> ok 136 - neg_i
> ok 137
> ok 138 - mul_i_i
> t at 1 (l at 1) signal SEGV (no mapping at the fault address) in fill_params at line 747 in file "args.c"
>  747       GETATTR_FixedIntegerArray_size(interp, raw_sig, param_count);
> current thread: t at 1
> =>[1] fill_params(interp = 0x2c328, call_object = 0x27e9b4, raw_sig = 0x152c74, arg_info = 0xfebf045c, accessor = 0xff137124, direction = PARROT_ERRORS_RESULT_COUNT_FLAG), line 747 in "args.c"
>  [2] Parrot_pcc_fill_params_from_op(interp = 0x2c328, call_object = 0x27e9b4, raw_sig = 0x152c74, raw_params = 0xfebf045c, direction = PARROT_ERRORS_RESULT_COUNT_FLAG), line 1251 in "args.c"
>  [3] Parrot_get_results_pc(cur_opcode = 0xfebf045c, interp = 0x2c328), line 15413 in "core_ops.c"
>  [4] runops_slow_core(interp = 0x2c328, runcore_unused = 0xd3920, pc = 0xfebf045c), line 646 in "cores.c"
>  [5] runops_int(interp = 0x2c328, offset = 0), line 218 in "main.c"
>  [6] runops(interp = 0x2c328, offs = 0), line 126 in "ops.c"
>  [7] Parrot_pcc_invoke_from_sig_object(interp = 0x2c328, sub_obj = 0xd9f38, call_object = 0x152b48), line 323 in "pcc.c"
>  [8] Parrot_pcc_invoke_sub_from_c_args(interp = 0x2c328, sub_obj = 0xd9f38, sig = 0xff052974 "P->", ...), line 130 in "pcc.c"
>  [9] Parrot_pf_execute_bytecode_program(interp = 0x2c328, pf = 0xd8a78, args = 0xd9de4), line 4540 in "api.c"
>  [10] Parrot_api_run_bytecode(interp_pmc = 0xd1be4, pbc = 0x152b0c, mainargs = 0xd9de4), line 459 in "api.c"
>  [11] main(argc = 2, argv = 0xffbefa9c), line 228 in "main.c"
>
> --
>    Andy Dougherty              doughera at lafayette.edu
>
>


More information about the parrot-dev mailing list