Is this bug resolved? If not, what platforms is it still failing on? -J
-- > [doughera - Mon Feb 13 09:10:50 2006]: > > On Fri, 10 Feb 2006, Allison Randal wrote: > > > On Feb 10, 2006, at 9:56, Andy Dougherty via RT wrote: > > > > > > I too had seen this memory problem before on Solaris/SPARC, but > I'm > > > pretty sure I saw it even when running t/past_node_5.pir directly. > > > However, trying again today, I'm happy to report that that > particular > > > problem seems to be gone. > > > > Excellent. > > > > > Of course an awful lot of the tests still > > > fail, but I don't know if that's expected or not. > > > > All of the test should be passing (at least, they are on other > platforms). > > Could you send me more details on the failing tests? Some of the > generated > > .out and .pir files would be a good start (running with > POSTMORTEM=1). > > > I don't pretend to remotely understand what the code is attempting to > do, let alone how it's failing, but the failures vaguely seem to be > fairly > similar. It looks like 'node.set_node' doesn't actually end up doing > anything. So for t/past_2.pir, for example, we have > > .sub _main > load_bytecode 'languages/punie/lib/PAST.pir' > .local pmc node > node = new 'PAST::Code' > $P0 = new PerlString > $P0 = 'bar' > $P1 = new PerlArray > push $P1, $P0 > node.set_node('foo', 42, $P1) > $P1 = getattribute node, 'source' > print $P1 > print "\n" > $P1 = getattribute node, 'pos' > print $P1 > print "\n" > $P2 = getattribute node, 'children' > $P3 = $P2[0] > print $P3 > print "\n" > .return () > .end > > and for t/past_2.out, we have > > 1 > 1 > bar > > The other one that looks significantly different is t/past_op_1.pir. > The > pir file is > > .sub _main > load_bytecode 'languages/punie/lib/PAST.pir' > .local pmc node > node = new 'PAST::Op' > node.set_node('foo', 42, 'bar') > $P1 = getattribute node, 'source' > print $P1 > print "\n" > $P1 = getattribute node, 'pos' > print $P1 > print "\n" > $P1 = getattribute node, 'op' > print $P1 > print "\n" > .return () > .end > > and the output file is > > Null PMC access in get_string() > current instr.: '_main' pc 20 (/home/doughera/src/parrot/parrot- > andy/languages/punie/t/past_op_1.pir:7) > > Here's the full output of 'make test'. It accurately reflects the > .out > files (well, I didn't exhaustively check them all, but the ones I did > check matched up.) > > perl5.6 -Ilib t/harness t/*.t > t/base_cond....ok > t/base_if......ok > t/base_lex.....ok > t/base_pat.....ok > t/base_term....ok > t/io_print.....ok > t/op_goto......ok > t/past......... > # Failed test (t/past.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/past.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/past.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/past.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/past.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/past.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > # Looks like you failed 6 tests of 7. > dubious > Test returned status 6 (wstat 1536, 0x600) > DIED. FAILED tests 2-7 > Failed 6/7 tests, 14.29% okay > t/past_node....ok > t/past_op...... > # Failed test (t/past_op.t at line 7) > # got: 'Null PMC access in get_string() > # current instr.: '_main' pc 20 (/home/doughera/src/parrot/parrot- > andy/languages/punie/t/past_op_1.pir:7) > # ' > # expected: 'foo > # 42 > # bar > # ' > # './parrot "/home/doughera/src/parrot/parrot- > andy/languages/punie/t/past_op_1.pir"' failed with exit code 43 > > # Failed test (t/past_op.t at line 30) > # got: '<PAST::Op> => { > # 'source' => undef, > # 'pos' => undef, > # 'op' => 'bar', > # 'children' => [] > # } > # ' > # expected: '<PAST::Op> => { > # 'source' => 'foo', > # 'pos' => '42', > # 'op' => 'bar', > # 'children' => [] > # } > # ' > # Looks like you failed 2 tests of 2. > dubious > Test returned status 2 (wstat 512, 0x200) > DIED. FAILED tests 1-2 > Failed 2/2 tests, 0.00% okay > t/past_val..... > # Failed test (t/past_val.t at line 7) > # got: '42 > # 42 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/past_val.t at line 30) > # got: '<PAST::Val> => { > # 'source' => '42', > # 'pos' => '42', > # 'value' => 'bar', > # 'valtype' => undef, > # } > # ' > # expected: '<PAST::Val> => { > # 'source' => 'foo', > # 'pos' => '42', > # 'value' => 'bar', > # 'valtype' => undef, > # } > # ' > # Looks like you failed 2 tests of 2. > dubious > Test returned status 2 (wstat 512, 0x200) > DIED. FAILED tests 1-2 > Failed 2/2 tests, 0.00% okay > t/post......... > # Failed test (t/post.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/post.t at line 44) > # got: '1 > # 1 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > # Looks like you failed 2 tests of 3. > dubious > Test returned status 2 (wstat 512, 0x200) > DIED. FAILED tests 2-3 > Failed 2/3 tests, 33.33% okay > t/post_node....ok > t/post_op...... > # Failed test (t/post_op.t at line 7) > # got: 'Null PMC access in get_string() > # current instr.: '_main' pc 20 (/home/doughera/src/parrot/parrot- > andy/languages/punie/t/post_op_1.pir:7) > # ' > # expected: 'foo > # 42 > # bar > # ' > # './parrot "/home/doughera/src/parrot/parrot- > andy/languages/punie/t/post_op_1.pir"' failed with exit code 43 > > # Failed test (t/post_op.t at line 30) > # got: '<POST::Op> => { > # 'source' => undef, > # 'pos' => undef, > # 'op' => 'bar', > # 'children' => [] > # } > # ' > # expected: '<POST::Op> => { > # 'source' => 'foo', > # 'pos' => '42', > # 'op' => 'bar', > # 'children' => [] > # } > # ' > # Looks like you failed 2 tests of 2. > dubious > Test returned status 2 (wstat 512, 0x200) > DIED. FAILED tests 1-2 > Failed 2/2 tests, 0.00% okay > t/post_val..... > # Failed test (t/post_val.t at line 7) > # got: '42 > # 42 > # bar > # ' > # expected: 'foo > # 42 > # bar > # ' > > # Failed test (t/post_val.t at line 30) > # got: '<POST::Val> => { > # 'source' => '42', > # 'pos' => '42', > # 'value' => 'bar', > # 'valtype' => undef, > # } > # ' > # expected: '<POST::Val> => { > # 'source' => 'foo', > # 'pos' => '42', > # 'value' => 'bar', > # 'valtype' => undef, > # } > # ' > # Looks like you failed 2 tests of 2. > dubious > Test returned status 2 (wstat 512, 0x200) > DIED. FAILED tests 1-2 > Failed 2/2 tests, 0.00% okay > Failed 6/15 test scripts, 60.00% okay. 16/41 subtests failed, 60.98% > okay. > Failed Test Stat Wstat Total Fail Failed List of Failed > ------------------------------------------------------------------------------- > t/past.t 6 1536 7 6 85.71% 2-7 > t/past_op.t 2 512 2 2 100.00% 1-2 > t/past_val.t 2 512 2 2 100.00% 1-2 > t/post.t 2 512 3 2 66.67% 2-3 > t/post_op.t 2 512 2 2 100.00% 1-2 > t/post_val.t 2 512 2 2 100.00% 1-2 > *** Error code 2 > make: Fatal error: Command failed for target `test' > > >