[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: list-lpeg and capture stack overflow
- From: Fabio Mascarenhas <mascarenhas@...>
- Date: Thu, 17 Jun 2010 15:33:06 -0300
Failures do an implicit close, so opens and closes may not be 1:1. And
it would no cause a stack leak, anyway, as the current list is kept in
the registry instead of the stack.
I think the culprits are the runtime captures. The values returned by
a runtime capture are kept indefinitely in the stack. If there are
nested runtime captures then these values end up being replicated.
This behavior is inherited from regular LPEG... I am trying to think
of a way to fix it, but it is far from trivial.
--
Fabio Mascarenhas
On Thu, Jun 17, 2010 at 3:13 PM, Wesley Smith <wesley.hoke@gmail.com> wrote:
> BTW, should the IOpen and IClose opcode be matched 1:1? I'm
> suspecting it's something in there that's exploding the Lua stack.
> Here's the sequence I see right now:
>
> IOpen
> IClose
> IOpen
> IOpen
> IClose
> IOpen
> IClose
> IOpen
> IOpen
> IClose
> IOpen
> IOpen
> IOpen
> IOpen
> IOpen
> IClose
> IOpen
> IOpen
> IClose
> IOpen
> IOpen
> IClose
> IOpen
> IOpen
>
> wes
>