[perl #59614] Wrong PC/line reported in handler arg-passing error
Will Coleda via RT
parrotbug-followup at parrotcode.org
Mon Sep 21 00:35:15 UTC 2009
On Fri Oct 03 14:58:28 2008, rgrjr wrote:
> Invoking the attached test case fails in the following way:
>
> rogers at rgr> ./parrot test-exception-pc.pir
> too few arguments passed (1) - 2 params expected
> current instr.: 'main' pc 9 (test-exception-pc.pir:3)
> rogers at rgr>
>
> The problem is that pc 9/line 3 is the location of the invokecc
> instruction that calls the erring test sub, not the location of the
> get_results instruction where the problem is detected. I'm not sure
how
> to fix this, because it messes greatly with the modularity of how
return
> addresses are tracked.
>
> But I think it really ought to be fixed before the next release --
> that or the arg-checking requirement for exception handlers should be
> relaxed, at least temporarily. I stumbled onto this when Kea-CL fell
> afoul of the exception handling arg change introduced in r31294 (about
> which I don't recall seeing any mention on the list). Because of the
> misplaced error message, it took me a while to track it down.
>
> -- Bob
>
Bob -
I can no longer duplicate the original intent of this ticket, as the
sample segfaults - when I try to cleanup the sample to avoid the
segfault, I don't get any line number errors.
If you can duplicate the original line # error, please open a new trac
ticket at https://trac.parrot.org/
I've opened the segfault as https://trac.parrot.org/parrot/ticket/1027
and added a TODO test to track it in t/compilers/imcc/syn/regressions.t
--
Will "Coke" Coleda
More information about the parrot-dev
mailing list