pdd27mmd branch rakudo segfault

Allison Randal allison at parrot.org
Fri Oct 3 23:29:57 UTC 2008


Allison Randal wrote:
> Moritz Lenz wrote:
>> In the pdd27mmd branch rakudo segfaults on
>> t/01-sanity/07-simple-multisubs.t.
>>
>> The backtrace shows at least 2k nested calls to Parrot_MultiSub_get_iter
>> (I didn't print out the full trace...), so I guess it's recursing
>> infinitely, and then runs out of stack space.
> 
> Curiously, that test was passing a week ago, and the only thing that's 
> really changed since then is merging trunk into the branch. This may be 
> a merge problem. Looking into it.

Ah, got it. Some new Rakudo code from trunk must have been calling 
MultiSub's 'get_iter' vtable function. It had been modified in the 
branch to do a manhattan sort before creating an iterator, then call 
'VTABLE_get_iter' to create the iterator (creating an infinite 
recursion). Changed that to a call to SUPER, so it correctly calls the 
parent (ResizablePMCArray) 'get_iter', instead of recalling itself. Test 
now passes.

Allison


More information about the parrot-dev mailing list