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'
>
>
>