On Sun, Sep 05, 2010 at 03:29:48PM -0000, Parrot wrote:
> Comment(by nwellnhof):
>
> There seem to be two unrelated problems. The following PIR loops
> infinitely, no matter if it's run directly or compiled:
>
> {{{
> .sub main :main
> push_eh handler
> exit 0
> handler:
> .tailcall exit_handler()
> .end
>
> .sub exit_handler
> say "at exit"
> null $P0
> say $P0
> .end
> }}}
The handler that is being set in 'main' is never being removed--
i.e, there's no 'pop_eh'. Thus when exit_handler() is
called, it's generating a "Null PMC in say" exception
which then invokes the handler (which generates a
"Null PMC in say exception, which invokes the handler...).
You probably need a "pop_eh" right after 'handler:'.
Pm
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets