#412: Failure of set_integer_keyed_str on linux AMD64
--------------------+-------------------------------------------------------
Reporter: mikehh | Type: bug
Status: new | Priority: normal
Milestone: | Component: none
Version: trunk | Severity: medium
Keywords: | Lang:
Patch: | Platform: linux
--------------------+-------------------------------------------------------
Comment(by mikehh):
I did various diffs on config files on the two builds - in effect the only
differences I could find were the dirs and date/time info. I even went as
far as a recursive diff on the two parrot directories - it generated just
under 10000 lines - so I don't guarantee I caught everything - but
couldn't see anything that would help.
Talking about tracing here is the output of running the failing .pir files
with and without -t. Without -t I get Aborted, and guess what running
with -t - IT WORKS as it is supposed to. This is the build without the
--configure_trace, which fails the tests.
{{{
mh...@mhk64-desktop:~/parrot$ ./parrot t/pmc/packfile_6.pir
Aborted
mh...@mhk64-desktop:~/parrot$ ./parrot -t t/pmc/packfile_6.pir
0 set_args PC9
2 set P0, PC19 P0=PMCNULL
PC19=Sub=PMC(0x13f7360 pc:40)
5 get_results PC6 (1), P1
PC6=FixedIntegerArray=PMC(0x13ecd10) P1=PMCNULL
8 invokecc P0
P0=Sub=PMC(0x13f7360 pc:40)
40 new P0, PC18 P0=PMCNULL
PC18=Key=PMC(0x13eccb0)
43 interpinfo S0, 21
S0="(null)"
46 concat S0, "/runtime/parrot/libr" S0="/home/mhk64/parrot"
49 stat I0, S0, 1 I0=0
S0="/home/mhk64/parrot/r"
53 open P1, S0, "r" P1=PMCNULL
S0="/home/mhk64/parrot/r"
57 read S0, P1, I0
S0="/home/mhk64/parrot/r" P1=FileHandle=PMC(0x13f6ca0) I0=18656
61 close P1
P1=FileHandle=PMC(0x13f6ca0)
63 set P0, S0
P0=Packfile=PMC(0x13f6cd0)
S0="\x{fe}PBC\r\n\x{1a}\n\b\x{0}\x{0}\x{1}\x{0}\x{0}\x{4}\x{5}\x{0}\x{0}\x{0}\x{0}"
66 set_returns PC6 (1), P0
PC6=FixedIntegerArray=PMC(0x13ecd10) P0=Packfile=PMC(0x13f6cd0)
69 returncc
10 set_args PC6 (1), P1
PC6=FixedIntegerArray=PMC(0x13ecd10) P1=Packfile=PMC(0x13f6cd0)
13 get_results PC6 (1), P2
PC6=FixedIntegerArray=PMC(0x13ecd10) P2=PMCNULL
16 callmethodcc P1, "get_directory"
P1=Packfile=PMC(0x13f6cd0)
19 set_args PC6 (1), P2
PC6=FixedIntegerArray=PMC(0x13ecd10) P2=PackfileDirectory=PMC(0x13f55c0)
22 get_results PC4 (1), S0
PC4=FixedIntegerArray=PMC(0x13ecd40) S0="(null)"
25 callmethodcc P2, "pack"
P2=PackfileDirectory=PMC(0x13f55c0)
28 length I0, S0 I0=0
S0="\x{14}\t\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}"
31 eq I0, 0, 6 I0=18592
35 print "not "
not 37 say "equal"
equal
39 end
FileHandle objects (like stdout and stderr)are about to be closed, so
clearing trace flags.
mh...@mhk64-desktop:~/parrot$ ./parrot t/pmc/packfilesegment_1.pir
Aborted
mh...@mhk64-desktop:~/parrot$ ./parrot -t t/pmc/packfilesegment_1.pir
0 set_args PC9
2 set P0, PC19 P0=PMCNULL
PC19=Sub=PMC(0x1974000 pc:40)
5 get_results PC6 (1), P1
PC6=FixedIntegerArray=PMC(0x1969db0) P1=PMCNULL
8 invokecc P0
P0=Sub=PMC(0x1974000 pc:40)
40 new P0, PC18 P0=PMCNULL
PC18=Key=PMC(0x1969d50)
43 interpinfo S0, 21
S0="(null)"
46 concat S0, "/runtime/parrot/libr" S0="/home/mhu64/parrot"
49 stat I0, S0, 1 I0=0
S0="/home/mhu64/parrot/r"
53 open P1, S0, "r" P1=PMCNULL
S0="/home/mhu64/parrot/r"
57 read S0, P1, I0
S0="/home/mhu64/parrot/r" P1=FileHandle=PMC(0x1973940) I0=18656
61 close P1
P1=FileHandle=PMC(0x1973940)
63 set P0, S0
P0=Packfile=PMC(0x1973970)
S0="\x{fe}PBC\r\n\x{1a}\n\b\x{0}\x{0}\x{1}\x{0}\x{0}\x{4}\x{5}\x{0}\x{0}\x{0}\x{0}"
66 set_returns PC6 (1), P0
PC6=FixedIntegerArray=PMC(0x1969db0) P0=Packfile=PMC(0x1973970)
69 returncc
10 set_args PC6 (1), P1
PC6=FixedIntegerArray=PMC(0x1969db0) P1=Packfile=PMC(0x1973970)
13 get_results PC6 (1), P2
PC6=FixedIntegerArray=PMC(0x1969db0) P2=PMCNULL
16 callmethodcc P1, "get_directory"
P1=Packfile=PMC(0x1973970)
19 set_args PC6 (1), P2
PC6=FixedIntegerArray=PMC(0x1969db0) P2=PackfileDirectory=PMC(0x1972260)
22 get_results PC4 (1), S0
PC4=FixedIntegerArray=PMC(0x1969de0) S0="(null)"
25 callmethodcc P2, "pack"
P2=PackfileDirectory=PMC(0x1972260)
28 length I0, S0 I0=0
S0="\x{14}\t\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}\x{0}"
31 eq I0, 0, 6 I0=18592
35 print "not "
not 37 say "equal"
equal
39 end
FileHandle objects (like stdout and stderr)are about to be closed, so
clearing trace flags.
}}}
The second test above passes if I use -v (alone) but not the first.
On an insane note, I copied the parrot executable from my
/home/mhu64/parrot dir (The build that works on Ubuntu Intrepid Amd64)
built at r38986 to my /home/mhk64/parrot dir (it was the same size
although diff said there were binary differences) and it gave exactly the
same results as above.
At this stage I am no nearer finding the cause of the problem - although I
have eliminated some possibilities. Any other ideas would be appreciated.
Cheers, Michael (mikehh)
--
Ticket URL: <https://trac.parrot.org/parrot/ticket/412#comment:4>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets