whiteknight/imcc_compreg_pmc branch ready for testing

Andy Dougherty doughera at lafayette.edu
Tue Mar 1 13:55:29 UTC 2011


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