#1142: test 12 of t/pmc/eval.t fails in testr (passes in other runcores)
---------------------+------------------------------------------------------
Reporter: mikehh | Owner:
Type: bug | Status: reopened
Priority: normal | Milestone:
Component: testing | Version: trunk
Severity: medium | Resolution:
Keywords: | Lang:
Patch: | Platform:
---------------------+------------------------------------------------------
Comment(by mikehh):
after running ./parrot t/pmc/eval_11.pbc to create the file
with the gcc build (with --optimize) (r43600) I get:
{{{
./parrot -t t/pmc/eval_12.pbc
0 set S1, "/tmp/VzIm7O67dC"
S1="(null)"
3 stat I0, S1, 1 I0=0
S1="/tmp/VzIm7O67dC"
7 open P1, S1, "r" P1=PMCNULL
S1="/tmp/VzIm7O67dC"
11 read S0, P1, I0 S0="(null)"
P1=FileHandle=PMC(0x1b69ee8) I0=1488
15 close P1
P1=FileHandle=PMC(0x1b69ee8)
17 thaw P0, S0 P0=PMCNULL
S0="\x{fe}PBC\r\n\x{1a}\n\b\x{0}\x{0}\x{2}\x{0}\x{0}\x{6}\x{0}\x{0}\x{0}\x{0}\x{0}"
20 set_args PC4
22 get_results PC4
24 invokecc P0
P0=Eval=PMC(0x1b69f60)
0 print "hello from foo_1\n"
GC mark
GC collect
hello from foo_1
Segmentation fault
}}}
with the g++ build (with --optimize) (r43599) I get:
{{{
./parrot -t t/pmc/eval_12.pbc
0 set S1, "/tmp/VZrgPfJ8Hg"
S1="(null)"
3 stat I0, S1, 1 I0=0
S1="/tmp/VZrgPfJ8Hg"
7 open P1, S1, "r" P1=PMCNULL
S1="/tmp/VZrgPfJ8Hg"
11 read S0, P1, I0 S0="(null)"
P1=FileHandle=PMC(0xf8cce0) I0=1488
15 close P1
P1=FileHandle=PMC(0xf8cce0)
17 thaw P0, S0 P0=PMCNULL
S0="\x{fe}PBC\r\n\x{1a}\n\b\x{0}\x{0}\x{2}\x{0}\x{0}\x{6}\x{0}\x{0}\x{0}\x{0}\x{0}"
20 set_args PC4
22 get_results PC4
24 invokecc P0
P0=Eval=PMC(0xf8cd58)
0 print "hello from foo_1\n"
hello from foo_1
2 set_returns PC1
4 returncc
26 get_global P0, "foo_1"
P0=Eval=PMC(0xf8cd58)
29 set_args PC4
31 get_results PC4
33 invokecc P0
P0=Sub=PMC(0xf8ce70 pc:0)
0 print "hello from foo_1\n"
hello from foo_1
2 set_returns PC1
4 returncc
35 set_returns PC4
37 returncc
FileHandle objects (like stdout and stderr)are about to be closed, so
clearing trace flags.
}}}
so it looks to me that the Segmentation fault is generated by GC mark/GC
collect
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/1142#comment:12>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets