[perl #56448] [BUG] sort algorithm fails when tailcall is used

Will Coleda via RT parrotbug-followup at parrotcode.org
Wed Oct 28 03:37:17 UTC 2009


On Sat Apr 18 13:38:55 2009, cotto wrote:
> On Sun Jul 06 22:04:15 2008, songmaster wrote:
> > Ok, I'm done with trying to understand and debug this any further.  It
> > needs someone who knows how the Parrot interpreter stores return
> > arguments and how the tail-call stuff is implemented as well.
> > 
> > At least I found that the segfault was only a side-effect of this
> > problem, see RT #56636.  Once that fix is applied the segfault will no
> > longer occur, but the tail-call code output will not be correctly sorted
> > since the underlying problem still exists.
> 
> The attached pir code (updated from the original post) no longer
> segfaults at r38198, but it does produce an incorrectly ordered array:
> 
> $ ./parrot broken_tailcall_sort.pir 
> 4 5 3 2 5 1
> 1 2 3 4 5 5
> 2 4 5 3 1 5
> 
> This should be looked into and fixed once the pcc_rewiring branch has
> been merged back into trunk.

as of r42144, the segfault no longer occurs and the sort returns the array in the proper 
order.... added as a test (with slightly modified PIR and renamed subs to avoid conflicts) in 
r42153.
-- 
Will "Coke" Coleda


More information about the parrot-dev mailing list